第32章 AI 语义搜索
32章 AI 语义搜索
AI 语义搜索是 Cloudreve 基于 Meilisearch 提供的一种智能搜索方法。与传统全文搜索不同,语义搜索依据查询的含义和上下文返回结果,而非仅仅依赖关键词匹配。
工作原理 语义搜索通过 LLM 提供商(如 OpenAI、Hugging Face 等)生成向量嵌入,将文档内容和搜索词转化为语义向量。随后,通过比较向量相似度来查找语义相关的搜索结果。
启用语义搜索后,Cloudreve 默认同时返回全文搜索和语义搜索的结果(即混合搜索),两者互补,提供更精准的搜索体验。
全文搜索与 AI 语义搜索对比 全文搜索 | AI 语义搜索 匹配方式 | 精确关键词匹配 | 语义相似度匹配 适用场景 | 用户已知确切关键词,需精确匹配 | 查询模糊或冗长,需语义理解 资源开销 | 低 | 可能产生第三方模型费用 搜索示例 | 搜索“旅行计划”仅匹配包含该关键词的文档 | 搜索“旅行计划”也会匹配包含“行程安排”、“假期日程”等语义相关词汇的文档
前置条件 1. Cloudreve 中已启用全文搜索。 2. 选择合适的嵌入模型和提供商,如 OpenAI、Hugging Face 等。关于模型选择建议,请参考 Meilisearch 文档。
启用 AI 混合搜索 前往 Cloudreve 管理面板 -> 文件系统 -> 全文搜索 -> AI 语义搜索,启用该功能,并根据你的模型提供商填写嵌入配置:
目前,OpenAI 提供以下三种主流嵌入模型: * text-embedding-3-large: 3,072 维 * text-embedding-3-small: 1,536 维 * text-embedding-ada-002: 1,536 维
在 Cloudreve 中填写以下嵌入配置:
json
{
"source": "openAi",
"apiKey": "
参考文档:Meilisearch OpenAI 嵌入配置
保存设置后,无需重建索引。Meilisearch 会自动使用嵌入模型为现有索引生成嵌入向量。