跳到主要内容
JinaEmbeddings 类利用 Jina API 为给定的文本输入生成嵌入。本指南将引导您完成 JinaEmbeddings 类的设置和使用,帮助您将其无缝集成到您的项目中。

安装

如下所示安装 @langchain/community
有关安装 LangChain 软件包的一般说明,请参阅此部分
npm
npm i @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({
  apiKey: "YOUR_API_TOKEN",
  model: "jina-clip-v2", // Optional, defaults to "jina-clip-v2"
});
如果未提供 apiKey,它将从 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 方法。
import { localImageToBase64 } from "@langchain/community/utils/local_image_to_base64";
const documents = [
  "hello",
  {
    text: "hello",
  },
  {
    image: "https://i.ibb.co/nQNGqL0/beach1.jpg",
  },
  {
    image: await localImageToBase64("beach1.jpg"),
  },
];

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";
import { localImageToBase64 } from "@langchain/community/embeddings/jina/util";

const embeddings = new JinaEmbeddings({
  apiKey: "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 = [
    "hello",
    {
      text: "hello",
    },
    {
      image: "https://i.ibb.co/nQNGqL0/beach1.jpg",
    },
    {
      image: await localImageToBase64("beach1.jpg"),
    },
  ];
  const documentEmbeddings = await embeddings.embedDocuments(documents);
  console.log("Document Embeddings:", documentEmbeddings);
}

runExample();

反馈与支持

如有反馈或疑问,请联系 support@jina.ai
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.