HuggingFace Transformers
TransformerEmbeddings 类使用 Transformers.js 包为给定文本生成嵌入向量。
它可以在本地运行,甚至可以直接在浏览器中运行,使你能够创建具有内置嵌入功能的网页应用。
安装
你需要安装 @huggingface/transformers 包作为对等依赖:
兼容性
如果你使用的 community 版本早于 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 Reference:
- HuggingFaceTransformersEmbeddings from
@langchain/community/embeddings/huggingface_transformers
相关内容
Related
- Embedding model conceptual guide
- Embedding model how-to guides