TransformerEmbeddings 类使用 Transformers.js 包为给定文本生成嵌入。
它在本地运行,甚至可以直接在浏览器中工作,允许您创建具有内置嵌入的 Web 应用程序。
您需要安装 @huggingface/transformers 包作为对等依赖项:
兼容性如果您使用的 community 版本早于 0.3.21,请安装旧版的 @xenova/transformers 包,
并从下方的 "@langchain/community/embeddings/hf_transformers" 导入嵌入。
npm install @huggingface/transformers
有关安装 LangChain 包的通用说明,请参阅此部分。
npm install @langchain/community @langchain/core
请注意,如果您在浏览器上下文中使用,您可能希望将所有推理相关的代码放在 Web Worker 中,以避免
阻塞主线程。
请参阅 本指南 和 Transformers.js 文档中的其他资源,以了解如何
设置您的项目。
import { HuggingFaceTransformersEmbeddings } from "@langchain/community/embeddings/huggingface_transformers";
const model = new HuggingFaceTransformersEmbeddings({
model: "Xenova/all-MiniLM-L6-v2",
});
/* Embed queries */
const res = await model.embedQuery(
"What would be a good company name for a company that makes colorful socks?"
);
console.log({ res });
/* Embed documents */
const documentRes = await model.embedDocuments(["Hello world", "Bye bye"]);
console.log({ documentRes });