跳到主要内容

Astra DB

兼容性

仅在 Node.js 上可用。

DataStax Astra DB 是一个基于 Apache Cassandra 构建的无服务器、支持向量的数据库,并通过易于使用的 JSON API 便捷地提供。

设置

  1. 创建一个 Astra DB 账户
  2. 创建一个启用向量的数据库
  3. 从数据库详细信息中获取您的 API EndpointToken
  4. 设置以下环境变量
export ASTRA_DB_APPLICATION_TOKEN=YOUR_ASTRA_DB_APPLICATION_TOKEN_HERE
export ASTRA_DB_ENDPOINT=YOUR_ASTRA_DB_ENDPOINT_HERE
export ASTRA_DB_COLLECTION=YOUR_ASTRA_DB_COLLECTION_HERE
export OPENAI_API_KEY=YOUR_OPENAI_API_KEY_HERE

其中 ASTRA_DB_COLLECTION 是您想要的集合名称

  1. 安装 Astra TS 客户端和 LangChain 社区包
提示

有关安装集成包的一般说明,请参阅此部分

npm install @langchain/openai @datastax/astra-db-ts @langchain/community @langchain/core

索引文档

import { OpenAIEmbeddings } from "@langchain/openai";
import {
AstraDBVectorStore,
AstraLibArgs,
} from "@langchain/community/vectorstores/astradb";

const astraConfig: AstraLibArgs = {
token: process.env.ASTRA_DB_APPLICATION_TOKEN as string,
endpoint: process.env.ASTRA_DB_ENDPOINT as string,
collection: process.env.ASTRA_DB_COLLECTION ?? "langchain_test",
collectionOptions: {
vector: {
dimension: 1536,
metric: "cosine",
},
},
};

const vectorStore = await AstraDBVectorStore.fromTexts(
[
"AstraDB is built on Apache Cassandra",
"AstraDB is a NoSQL DB",
"AstraDB supports vector search",
],
[{ foo: "foo" }, { foo: "bar" }, { foo: "baz" }],
new OpenAIEmbeddings(),
astraConfig
);

// Querying docs:
const results = await vectorStore.similaritySearch("Cassandra", 1);

// or filtered query:
const filteredQueryResults = await vectorStore.similaritySearch("A", 1, {
foo: "bar",
});

API 参考

向量类型

Astra DB 支持 cosine(默认)、dot_producteuclidean 相似度搜索;这在首次创建向量存储时定义,作为 CreateCollectionOptions 的一部分

  vector: {
dimension: number;
metric?: "cosine" | "euclidean" | "dot_product";
};

此页内容是否对您有帮助?


您也可以留下详细的反馈 在 GitHub 上.