HuggingFace Transformers
TransformerEmbeddings
类使用 Transformers.js 包为给定文本生成嵌入。
它在本地运行,甚至可以直接在浏览器中工作,允许您创建具有内置嵌入的 Web 应用程序。
设置
您需要安装 @huggingface/transformers 包作为对等依赖项
兼容性
如果您使用的社区版本早于 0.3.21,请安装旧版本的 @xenova/transformers
包,并从下面的 "@langchain/community/embeddings/hf_transformers"
导入嵌入。
- npm
- Yarn
- pnpm
npm install @huggingface/transformers
yarn add @huggingface/transformers
pnpm add @huggingface/transformers
提示
有关安装集成包的一般说明,请参阅此部分。
- npm
- Yarn
- pnpm
npm install @langchain/community @langchain/core
yarn add @langchain/community @langchain/core
pnpm add @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 });
API 参考
- HuggingFaceTransformersEmbeddings 来自
@langchain/community/embeddings/huggingface_transformers