Skip to main content
Open In ColabOpen on GitHub

Cassandra

Cassandra 是一个面向行的、高度可扩展且高度可用的NoSQL数据库。从5.0版本开始,该数据库提供了向量搜索功能

概述

Cassandra 文档加载器从 Cassandra 数据库返回一个 Langchain 文档列表。

您必须提供一个CQL查询或表名来检索文档。 加载器接受以下参数:

  • table: (可选) 从中加载数据的表。
  • session: (可选) Cassandra驱动程序的会话。如果未提供,将使用cassio解析的会话。
  • keyspace: (可选)表的keyspace。如果未提供,将使用cassio解析的keyspace。
  • query: (可选)用于加载数据的查询。
  • 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 时使用的 query_execute_as。

使用文档加载器加载文档

from langchain_community.document_loaders import CassandraLoader
API Reference:CassandraLoader

从Cassandra驱动会话初始化

你需要创建一个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初始化

也可以使用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 软件基金会 在美国和/或其他国家的注册商标或商标。


这个页面有帮助吗?