Skip to main content
DataStax Astra DB 是一个无服务器的 AI 就绪数据库,基于 Apache Cassandra® 构建,并通过易用的 JSON API 提供便捷访问。

概述

Astra DB 文档加载器从 Astra DB 集合中读取 LangChain Document 对象列表。 加载器接受以下参数:
  • api_endpoint:Astra DB API 端点,格式如 https://01234567-89ab-cdef-0123-456789abcdef-us-east1.apps.astra.datastax.com
  • token:Astra DB token,格式如 AstraCS:aBcD0123...
  • collection_name:AstraDB 集合名称
  • namespace:(可选)AstraDB 命名空间(在 Astra DB 中称为 keyspace
  • filter_criteria:(可选)用于 find 查询的过滤条件
  • projection:(可选)用于 find 查询的投影
  • limit:(可选)要检索的最大文档数量
  • extraction_function:(可选)将 AstraDB 文档转换为 LangChain page_content 字符串的函数,默认为 json.dumps
加载器为读取的文档设置以下元数据:
metadata={
    "namespace": "...",
    "api_endpoint": "...",
    "collection": "..."
}

安装配置

!pip install "langchain-astradb>=0.6,<0.7"

使用文档加载器加载文档

from langchain_astradb import AstraDBLoader
API 参考: AstraDBLoader
from getpass import getpass

ASTRA_DB_API_ENDPOINT = input("ASTRA_DB_API_ENDPOINT = ")
ASTRA_DB_APPLICATION_TOKEN = getpass("ASTRA_DB_APPLICATION_TOKEN = ")
ASTRA_DB_API_ENDPOINT =  https://01234567-89ab-cdef-0123-456789abcdef-us-east1.apps.astra.datastax.com
ASTRA_DB_APPLICATION_TOKEN =  ········
loader = AstraDBLoader(
    api_endpoint=ASTRA_DB_API_ENDPOINT,
    token=ASTRA_DB_APPLICATION_TOKEN,
    collection_name="movie_reviews",
    projection={"title": 1, "reviewtext": 1},
    limit=10,
)
docs = loader.load()
docs[0]
Document(metadata={'namespace': 'default_keyspace', 'api_endpoint': 'https://01234567-89ab-cdef-0123-456789abcdef-us-east1.apps.astra.datastax.com', 'collection': 'movie_reviews'}, page_content='{"_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?"}')