卡珊德拉
Cassandra 是一个 NoSQL、面向行、高度可扩展且高度可用的数据库。从版本 5.0 开始,数据库附带矢量搜索功能。
概述
Cassandra Document Loader 从 Cassandra 数据库返回 Langchain 文档列表。
您必须提供 CQL 查询或表名才能检索文档。 Loader 采用以下参数:
- table:(可选)要从中加载数据的表。
- session:(可选)Cassandra 驱动程序会话。如果未提供,则将使用 cassio 解析的会话。
- keyspace:(可选)表的键空间。如果未提供,则将使用 cassio 解析的密钥空间。
- query:(可选)用于加载数据的查询。
- page_content_mapper:(可选)用于将行转换为字符串页面内容的函数。默认值将行转换为 JSON。
- metadata_mapper:(可选)用于将行转换为元数据 dict 的函数。
- query_parameters:(可选)调用 session.execute 时使用的查询参数。
- query_timeout:(可选)调用 session.execute 时使用的查询超时。
- query_custom_payload:(可选custom_payload)调用
session.execute. - query_execution_profile:(可选execution_profile)调用
session.execute. - query_host:(可选)调用
session.execute. - query_execute_as:(可选execute_as)调用
session.execute.
使用 Document Loader 装入文档
from langchain_community.document_loaders import CassandraLoader
API 参考:CassandraLoader
从 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'})
来自 cassio 的 Init
也可以使用 cassio 来配置 session 和 keyspace。
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 Software Foundation 在美国和/或其他国家/地区的注册商标或商标。