Jina 嵌入
JinaEmbeddings
类利用 Jina API 为给定的文本输入生成嵌入。本指南将引导您完成 JinaEmbeddings
类的设置和使用,帮助您将其无缝集成到您的项目中。
安装
安装 @langchain/community
包,如下所示
提示
请参阅 本节以获取有关安装集成包的常规说明.
- npm
- Yarn
- pnpm
npm i @langchain/community @langchain/core
yarn add @langchain/community @langchain/core
pnpm add @langchain/community @langchain/core
初始化
通过此集成,您可以使用 Jina 嵌入模型获取文本数据的嵌入。以下是嵌入模型的 链接。
首先,您需要在 Jina 网站上注册并从 此处 获取 API 令牌。您可以在 api playground 的下拉菜单中复制模型名称。
要使用 JinaEmbeddings
类,您需要来自 Jina 的 API 令牌。您可以将此令牌直接传递给构造函数,或将其设置为环境变量 (JINA_API_KEY
)。
基本用法
以下是创建 JinaEmbeddings
实例的方法
import { JinaEmbeddings } from "@langchain/community/embeddings/jina";
const embeddings = new JinaEmbeddings({
apiToken: "YOUR_API_TOKEN",
model: "jina-embeddings-v2-base-en", // Optional, defaults to "jina-embeddings-v2-base-en"
});
如果没有提供 apiToken
,它将从 JINA_API_KEY
环境变量中读取。
生成嵌入
嵌入单个查询
要为单个文本查询生成嵌入,请使用 embedQuery
方法
const embedding = await embeddings.embedQuery(
"What would be a good company name for a company that makes colorful socks?"
);
console.log(embedding);
嵌入多个文档
要为多个文档生成嵌入,请使用 embedDocuments
方法。
const documents = [
"Document 1 text...",
"Document 2 text...",
"Document 3 text...",
];
const embeddingsArray = await embeddings.embedDocuments(documents);
console.log(embeddingsArray);
错误处理
如果未提供 API 令牌,并且在环境变量中也找不到,则会抛出错误
try {
const embeddings = new JinaEmbeddings();
} catch (error) {
console.error("Jina API token not found");
}
示例
以下是如何设置和使用 JinaEmbeddings
类的完整示例
import { JinaEmbeddings } from "@langchain/community/embeddings/jina";
const embeddings = new JinaEmbeddings({
apiToken: "YOUR_API_TOKEN",
model: "jina-embeddings-v2-base-en",
});
async function runExample() {
const queryEmbedding = await embeddings.embedQuery("Example query text.");
console.log("Query Embedding:", queryEmbedding);
const documents = ["Text 1", "Text 2", "Text 3"];
const documentEmbeddings = await embeddings.embedDocuments(documents);
console.log("Document Embeddings:", documentEmbeddings);
}
runExample();
反馈和支持
有关反馈或问题,请联系 [email protected].