跳至主要内容

Astra DB

兼容性

仅在 Node.js 上可用。

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

设置

  1. 创建一个 Astra DB 帐户
  2. 创建一个 启用向量的数据库
  3. 从数据库详细信息中获取 API 端点令牌
  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

索引文档

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 上留下详细的反馈 在 GitHub 上.