跳至主要內容

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 在美國和/或其他國家/地區的註冊商標或商標。


此頁面是否對您有幫助?