使用 Hugging Face Inference Endpoints 进行语义搜索
简介
本指南将引导您完成使用 Hugging Face Inference Endpoints 设置 Meilisearch REST 嵌入器的过程,以启用语义搜索功能。
rest
还是 huggingface
?
您可以通过两种方式使用 Hugging Face 和 Meilisearch:通过将嵌入器源设置为 huggingface
在本地运行模型,或者通过将嵌入器源设置为 rest
在 Hugging Face 的服务器中远程运行模型。
要求
要遵循本指南,您需要
- 一个运行 1.10 或更高版本且已激活向量存储的 Meilisearch Cloud 项目
- 一个具有已部署推理端点的 Hugging Face 账户
- 您 Hugging Face 账户上已部署模型的端点 URL 和 API 密钥
配置嵌入器
使用更新设置端点设置嵌入器
{
"hf-inference": {
"source": "rest",
"url": "ENDPOINT_URL",
"apiKey": "API_KEY",
"dimensions": 384,
"documentTemplate": "CUSTOM_LIQUID_TEMPLATE",
"request": {
"inputs": ["{{text}}", "{{..}}"],
"model": "baai/bge-small-en-v1.5"
},
"response": ["{{embedding}}", "{{..}}"]
}
}
在此配置中
source
:声明 Meilisearch 应通过其 REST API 连接到此嵌入器url
:将ENDPOINT_URL
替换为您的 Hugging Face 模型端点的地址apiKey
:将API_KEY
替换为您的 Hugging Face API 密钥dimensions
:指定嵌入的维度,对于baai/bge-small-en-v1.5
为 384documentTemplate
:一个可选但推荐的模板,用于您将发送给嵌入器的数据request
:定义 Meilisearch 将发送给嵌入器的请求的结构和参数response
:定义嵌入器响应的结构
配置嵌入器后,Meilisearch 将自动为您的文档生成嵌入。使用云 UI 或获取任务端点监控任务。
注意
此示例使用 BAAI/bge-small-en-v1.5 作为其模型,但 Hugging Face 提供了可能更适合您数据集的其他选项。
执行语义搜索
设置嵌入器后,您现在可以执行语义搜索。使用 hybrid
搜索参数发出搜索请求,并将 semanticRatio
设置为 1
{
"q": "QUERY_TERMS",
"hybrid": {
"semanticRatio": 1,
"embedder": "hf-inference"
}
}
在此请求中
q
:搜索查询hybrid
:启用 AI 驱动的搜索功能semanticRatio
:控制语义搜索和全文搜索之间的平衡。将其设置为1
表示您将仅收到语义搜索结果embedder
:用于生成嵌入的嵌入器的名称
结论
您已使用 Hugging Face Inference Endpoints 设置了嵌入器。这允许您在应用程序中使用纯语义搜索功能。
有关其他嵌入器配置选项的更多信息,请查阅嵌入器设置文档。