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
時使用的查詢 custom_payload。 - query_execution_profile: (選填) 呼叫
session.execute
時使用的查詢 execution_profile。 - query_host: (選填) 呼叫
session.execute
時使用的查詢 host。 - query_execute_as: (選填) 呼叫
session.execute
時使用的查詢 execute_as。
使用文件載入器載入文件
from langchain_community.document_loaders import CassandraLoader
API 參考:CassandraLoader
從 cassandra 驅動程式工作階段初始化
您需要建立 cassandra.cluster.Session
物件,如 Cassandra 驅動程式文件中所述。詳細資訊有所不同 (例如,網路設定和驗證),但可能如下所示
from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect()
您需要提供 Cassandra 實例的現有 keyspace 名稱
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 來設定工作階段和 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 在美國和/或其他國家/地區的註冊商標或商標。