Voy
Voy 是一个用 Rust 编写的 WASM 向量相似性搜索引擎。它在非 Node 环境(如浏览器)中受支持。您可以将 Voy 用作 LangChain.js 的向量存储。
安装 Voy
提示
- npm
- Yarn
- pnpm
npm install @langchain/openai voy-search @langchain/community
yarn add @langchain/openai voy-search @langchain/community
pnpm add @langchain/openai voy-search @langchain/community
用法
import { VoyVectorStore } from "@langchain/community/vectorstores/voy";
import { Voy as VoyClient } from "voy-search";
import { OpenAIEmbeddings } from "@langchain/openai";
import { Document } from "@langchain/core/documents";
// Create Voy client using the library.
const voyClient = new VoyClient();
// Create embeddings
const embeddings = new OpenAIEmbeddings();
// Create the Voy store.
const store = new VoyVectorStore(voyClient, embeddings);
// Add two documents with some metadata.
await store.addDocuments([
new Document({
pageContent: "How has life been treating you?",
metadata: {
foo: "Mike",
},
}),
new Document({
pageContent: "And I took it personally...",
metadata: {
foo: "Testing",
},
}),
]);
const model = new OpenAIEmbeddings();
const query = await model.embedQuery("And I took it personally");
// Perform a similarity search.
const resultsWithScore = await store.similaritySearchVectorWithScore(query, 1);
// Print the results.
console.log(JSON.stringify(resultsWithScore, null, 2));
/*
[
[
{
"pageContent": "And I took it personally...",
"metadata": {
"foo": "Testing"
}
},
0
]
]
*/
API 参考
- VoyVectorStore 来自
@langchain/community/vectorstores/voy
- OpenAIEmbeddings 来自
@langchain/openai
- Document 来自
@langchain/core/documents