文本嵌入模型
默认情况下(为了向后兼容性),当未定义 TEXT_EMBEDDING_MODELS
环境变量时,transformers.js 嵌入模型将用于嵌入任务,特别是 Xenova/gte-small 模型。
您可以通过在您的 .env.local
文件中设置 TEXT_EMBEDDING_MODELS
来自定义嵌入模型,其中所需字段为 name
、chunkCharLength
和 endpoints
。
支持的文本嵌入后端包括:transformers.js
、TEI
和 OpenAI
。transformers.js
模型作为 chat-ui
的一部分在本地运行,而 TEI
模型在不同的环境中运行并通过 API 端点访问。openai
模型通过 OpenAI API 访问。
当 .env.local
文件中提供多个嵌入模型时,默认情况下将使用第一个模型,而其他模型仅在 LLM 配置了 embeddingModel
为模型名称时使用。
Transformers.js
Transformers.js 后端使用本地 CPU 进行嵌入,这可能非常慢。如果可能,如果经常使用网络搜索,请考虑使用 TEI 或 OpenAI 嵌入,因为性能将显着提高。
TEXT_EMBEDDING_MODELS = `[
{
"name": "Xenova/gte-small",
"displayName": "Xenova/gte-small",
"description": "locally running embedding",
"chunkCharLength": 512,
"endpoints": [
{ "type": "transformersjs" }
]
}
]`
文本嵌入推理 (TEI)
文本嵌入推理 (TEI) 是一款全面的工具包,专为高效部署和提供开源文本嵌入模型而设计。它支持高效提取最流行的模型,包括 FlagEmbedding、Ember、GTE 和 E5。
在撰写本文时 (2024 年 5 月),一些推荐的模型是 Snowflake/snowflake-arctic-embed-m
和 BAAI/bge-large-en-v1.5
。您可以通过 Docker 在本地运行 TEI,并支持 GPU。
docker run --gpus all -p 8080:80 -v tei-data:/data --name tei ghcr.io/huggingface/text-embeddings-inference:1.2 --model-id YOUR/HF_MODEL
然后,您可以使用以下配置将其连接到您的聊天 UI 实例。
TEXT_EMBEDDING_MODELS=`[
{
"name": "YOUR/HF_MODEL",
"displayName": "YOUR/HF_MODEL",
"preQuery": "Check the model documentation for the preQuery. Not all models have one",
"prePassage": "Check the model documentation for the prePassage. Not all models have one",
"chunkCharLength": 512,
"endpoints": [{
"type": "tei",
"url": "http://127.0.0.1:8080/"
}]
}
]`
Snowflake/snowflake-arctic-embed-m
和 BAAI/bge-large-en-v1.5
的示例
TEXT_EMBEDDING_MODELS=`[
{
"name": "Snowflake/snowflake-arctic-embed-m",
"displayName": "Snowflake/snowflake-arctic-embed-m",
"preQuery": "Represent this sentence for searching relevant passages: ",
"chunkCharLength": 512,
"endpoints": [{
"type": "tei",
"url": "http://127.0.0.1:8080/"
}]
},{
"name": "BAAI/bge-large-en-v1.5",
"displayName": "BAAI/bge-large-en-v1.5",
"chunkCharLength": 512,
"endpoints": [{
"type": "tei",
"url": "http://127.0.0.1:8080/"
}]
}
]`
OpenAI
请贡献一个示例!
< > 在 GitHub 上更新