对话搜索¶
Agora 可以搜索你的全部对话历史——通过关键词匹配或使用嵌入模型的语义(基于含义)检索。
搜索方法¶
关键词搜索¶
快速、精确的文本匹配。搜索在你的消息内容中查找查询词的字面出现。
适合: - 查找特定的短语或术语 - 当你记得精确措辞时的快速查找 - 零配置——立即可用
局限: - 遗漏同义词和相关概念 - 不理解含义
语义搜索 (RAG)¶
使用嵌入模型通过含义而非精确词语查找消息。查询"如何设置数据库"可以找到关于"Room 配置"的消息,即使"数据库"这个词从未出现。
适合: - 按主题查找对话 - 当你不记得精确措辞时的宽泛查询 - 发现不同对话中的相关讨论
要求: - 必须配置嵌入模型(见 嵌入 / RAG) - 消息必须已缓存(已生成嵌入)
设置¶
1. 添加嵌入模型¶
详见 嵌入 / RAG 进行详细设置。你可以使用: - 远程模型(OpenAI、Mistral、Voyage、Ollama 等) - 本地模型(GGUF 文件,完全离线)
2. 选择搜索方法¶
在 设置 → 对话搜索 中:
| 设置 | 描述 |
|---|---|
| 模型搜索方法 | 模型调用 search_conversations 工具时如何搜索 |
| 手动搜索方法 | 对话抽屉中的搜索栏如何工作 |
将每个设置设为关键词或语义 (RAG)。
3. 配置搜索范围¶
| 设置 | 范围 | 描述 |
|---|---|---|
| 每条匹配的上下文消息数 | 4–32 | 每条匹配包含多少条周围消息(步进值:4、8、12、16、20、24、28、32) |
| 最大搜索结果数 | 5–30 | 返回的最大匹配数(步进值:5、10、15、20、25、30) |
| 相似度阈值 | 0.0–1.0 | 仅 RAG:匹配的最低相似度分数。越高越严格。默认:0.5 |
4. 缓存消息¶
如果使用 RAG,点按缓存为所有现有消息生成嵌入。启用自动缓存以保持索引自动更新。
使用搜索¶
手动搜索(搜索栏)¶
- 打开对话抽屉(汉堡菜单 :material-menu: 或右滑)
- 点按顶部的搜索栏
- 输入查询
- 结果下方显示——点按任意结果打开对话并滚动到匹配消息
模型发起的搜索¶
当访问历史对话启用时(设置 → 记忆),模型可以自主搜索你的历史:
你:"上周我们关于 API 设计决定了什么?"
模型:[搜索 "API 设计决策"]
"上周二,我们决定..."
搜索显示为对话中的工具卡片。
相似度阈值¶
相似度阈值滑块(0.0 到 1.0)控制消息必须达到的最低匹配度才能纳入 RAG 结果:
- 低(0.3–0.5):更多结果,可能包含松相关的低相关性
- 中(0.5–0.7):平衡——不错的默认值
- 高(0.7–0.9):更少结果,仅非常接近的匹配
从默认值开始,根据结果调整。如果收到太多不相关的匹配,提高阈值。如果漏掉了相关对话,降低阈值。
搜索结果展示¶
在对话抽屉中,搜索结果显示:
- 对话标题(或"未命名")
- 匹配消息 — 匹配的用户或模型消息
- 角色标签 — 用户或模型
- 上下文消息 — 提供上下文的周围消息
点按结果打开对话并滚动到匹配消息。