Cassandra
Cassandra 是一个 NoSQL、行导向的、高度可扩展和可用的数据库。从 5.0 版本开始,该数据库自带 向量搜索功能。
概览
The Cassandra 文档加载器从 Cassandra 数据库返回一个 Langchain 文档列表。
您必须提供CQL查询或表名以检索文档。 Loader接受以下参数:
- table: (可选) 要从中加载数据的表格。
- session: (可选)Cassandra驱动程序的会话。如果未提供,则将使用cassio解析出的会话。
- keyspace: (可选)表格的密钥空间。如果没有提供,将使用解析得到的密钥空间。
- 查询: (可选)用于加载数据的查询。
- page_content_mapper: (可选)一个函数,用于将一行转换为字符串页面内容。默认情况下会将行转换为JSON。
- metadata_mapper: (可选) 一个将一行转换为元数据字典的函数。
- query_parameters: (可选) 调用 session.execute 时使用的查询参数。
- query_timeout: (可选) 调用 session.execute 时使用的查询超时时间。
- query_custom_payload: (可选) 在调用
session.execute时使用的查询自定义负载。 - query_execution_profile: (可选) 在调用
session.execute时使用的查询执行配置文件。 - query_host: (可选) 在调用
session.execute时使用的查询主机。 - query_execute_as: (可选)调用
session.execute时使用的查询执行身份。
使用文档加载器加载文档
from langchain_community.document_loaders import CassandraLoader
API 参考:Cassandra加载器
从一个cassandra驱动Session初始化
您需要创建一个cassandra.cluster.Session对象,如Cassandra驱动程序文档中所述。详细信息会有所不同(例如网络设置和身份验证),但这可能类似于:
from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect()
您需要提供现有Cassandra实例的键空间名称:
CASSANDRA_KEYSPACE = input("CASSANDRA_KEYSPACE = ")
创建文档加载器:
loader = CassandraLoader(
table="movie_reviews",
session=session,
keyspace=CASSANDRA_KEYSPACE,
)
docs = loader.load()
docs[0]
Document(page_content='Row(_id=\'659bdffa16cbc4586b11a423\', title=\'Dangerous Men\', reviewtext=\'"Dangerous Men," the picture\\\'s production notes inform, took 26 years to reach the big screen. After having seen it, I wonder: What was the rush?\')', metadata={'table': 'movie_reviews', 'keyspace': 'default_keyspace'})
Init from cassio
也可以使用cassio来配置会话和密钥空间。
import cassio
cassio.init(contact_points="127.0.0.1", keyspace=CASSANDRA_KEYSPACE)
loader = CassandraLoader(
table="movie_reviews",
)
docs = loader.load()
署名声明
Apache Cassandra, Cassandra 和 Apache 是Apache软件基金会在美国及其他国家的注册商标或商标。