AI论坛搜索代理:语义搜索与嵌入设置

已完成事项

在论坛 discuss.rabkesov.ru 上创建了名为“论坛搜索”的 AI 代理(ID=5),支持语义搜索,并可结合互联网信息丰富搜索结果。

代理信息

工具列表

工具名称 功能说明 参数设置
Search 语义 + 关键词搜索 max_results=20, search_private=true
Read 阅读主题完整内容 read_private=true
Researcher 多主题深度分析与综合 max_results=10, LLM=qwen3-VL-8b
WebBrowser 浏览网页(用于网络信息丰富) -

行为规范

  1. 每次请求仅在论坛内搜索(Search + Read + Researcher)。
  2. 每个事实均附带主题/帖子链接。
  3. 回答末尾询问:“是否希望用互联网信息丰富结果?”
  4. 若确认,使用 WebBrowser 访问优先网站:
  5. 回答语言与提问语言一致。

如何使用

  • 在任意主题中提及 @Поиск_по_форуму_bot
  • 向机器人发送私信
  • 通过 AI 机器人对话

替换嵌入模型:nomic v1.5 → v2-moe

问题

模型 nomic-embed-text-v1.5 按语言而非语义对文本进行分组。测试结果:

对比对 余弦相似度
RU “vLLM 配置” ←→ EN “vLLM 配置”(同一主题) 0.634
RU “vLLM 配置” ←→ RU “罗宋汤食谱”(不同主题) 0.650
语义差距 -0.016

俄语关于 vLLM 的内容,与俄语罗宋汤食谱的相似度,高于与英语 vLLM 内容的相似度。在俄语论坛上,使用该模型进行语义搜索效果不佳。

解决方案

切换为 nomic-embed-text-v2-moe(MoE,8x277M,512 MB Q8_0,支持 100+ 种语言)。结果:

对比对 v1.5 v2-moe
RU “vLLM” ←→ EN “vLLM”(同一主题) 0.634 0.924
RU “vLLM” ←→ RU “罗宋汤”(不同主题) 0.650 0.163
语义差距 -0.016 +0.761

嵌入模型最终配置

参数
ai_embeddings_enabled true
ai_embeddings_selected_model 12(nomic-embed-text-v2-moe)
ai_embeddings_semantic_search_enabled true
ai_embeddings_semantic_search_use_hyde true
ai_embeddings_semantic_search_hyde_agent -32(“内容作者”)
ai_embeddings_semantic_quick_search_enabled true

模型 nomic-embed-text-v2-moe 需常驻 LM Studio(约 488 MB VRAM)。更换模型后,Sidekiq 会自动启动嵌入向量的回填任务。

限制:网络搜索

Google 工具(完整网络搜索)不可用 —— ai_google_custom_search_api_key 未配置。代理使用 WebBrowser 访问特定 URL。如需完整网络搜索,请:

LLM 服务器日志

路径:~/.lmstudio/server-logs/YYYY-MM/YYYY-MM-DD.N.log

  • 按月分目录,目录内按日分文件
  • N 为当日轮转编号
  • 示例:~/.lmstudio/server-logs/2026-03/2026-03-30.1.log