Cassandra
Cassandra 是一個 NoSQL、面向列、高度可擴展和高度可用的資料庫。從 5.0 版本開始,該資料庫具有 向量搜尋功能。
概述
Cassandra Document Loader 從 Cassandra 資料庫返回 Langchain Document 的列表。
您必須提供 CQL 查詢或表名才能檢索文件。Loader 採用以下參數:
- table: (可選) 要從中載入資料的表。
- session: (可選) Cassandra 驅動程式會話。 如果未提供,將使用 cassio 解析的會話。
- keyspace: (可選) 表的鍵空間。 如果未提供,將使用 cassio 解析的鍵空間。
- query: (可選) 用於載入資料的查詢。
- page_content_mapper: (可選) 將行轉換為字串頁面內容的函數。 預設情況下,將行轉換為 JSON。
- metadata_mapper: (可選) 將行轉換為元數據字典的函數。
- query_parameters: (可選) 調用 session.execute 時使用的查詢參數。
- query_timeout: (可選) 調用 session.execute 時使用的查詢超時。
- query_custom_payload: (可選) 調用
session.execute
時使用的查詢 custom_payload。 - query_execution_profile: (可選) 調用
session.execute
時使用的查詢 execution_profile。 - query_host: (可選) 調用
session.execute
時使用的查詢 host。 - query_execute_as: (可選) 調用
session.execute
時使用的查詢 execute_as。
使用 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 = ")
建立 document loader
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 Software Foundation 在美國和/或其他國家/地區的註冊商標或商標。