跳至主要内容

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 @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 上.