Semantic Search
按语义而非关键词查找信息。ContextForge 使用 AI 驱动的向量嵌入来理解查询的上下文含义。
工作原理
传统关键词搜索匹配精确词语。语义搜索理解查询的含义,即使措辞不同也能找到相关结果。
关键词搜索
查询:"authentication error"
- 仅匹配含 "authentication" 且含 "error" 的内容
- 遗漏 "login failed" 或 "auth issue"
- 不理解上下文
Semantic Search
查询:"authentication error"
- 找到 "login failed"、"auth issue"、"401 error"
- 理解同义词与相关概念
- 按相关性排序,而非仅依靠匹配数量
使用语义搜索
在 Claude 中直接提问即可搜索你的记忆。MCP 客户端会自动使用语义搜索。
# Claude 中的示例查询
"Search my memory for how we handle user authentication" "Find any documentation about the payment flow" "What patterns did we use for error handling?" "Look for anything related to database migrations"
MCP 工具参考
memory_query使用语义相似度搜索知识库。
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| query | string | 是 | 自然语言搜索查询 |
| space_id | string | 否 | 限定在特定 Space 内搜索 |
| limit | number | 否 | 最多返回结果数(默认:10) |
| min_score | number | 否 | 最低相似度分数 0-1(默认:0.3) |
| project_id | string | 否 | 在项目内搜索(自动从已关联项目获取) |
| include_relationships | boolean | 否 | 显示每个结果的关联项(默认:false) |
| filters | object | 否 | 按 tags、source_types 或 category 筛选 |
示例响应
{
"results": [
{
"id": "abc123",
"title": "Authentication Flow",
"content": "We use JWT tokens for authentication...",
"similarity": 0.89,
"space": "backend-docs",
"tags": ["auth", "jwt", "security"]
}
],
"total": 1
}关系感知搜索
当知识条目通过关系互联后(参见 Knowledge Graph),搜索会自动变得更智能。它不仅能找到直接匹配项,还能通过关联发现相关内容。
直接结果
与查询语义匹配的条目。这些结果会结合其关联关系重新排序——与其他高分结果有关联的条目会获得加权。
扩展结果
通过关系发现的条目。这些条目可能与查询没有直接语义匹配,但与直接匹配的条目存在关联。它们会作为独立的"相关条目"区块显示在结果中。
# 示例:在已关联知识库中搜索 "onboarding"
Direct results:
1. Client Onboarding Process (89% match)
2. Onboarding Checklist (76% match)
Related items (via relationships):
1. Welcome Email Sequence (72% match)
related_to → Client Onboarding Process
2. CRM Setup Guide (65% match)
derived_from → Onboarding Checklist关系感知搜索默认开启。条目间的关联越多,搜索结果越智能。使用 include_relationships: true 可同时查看每个结果的关联内容。
优化搜索结果的技巧
- 1
描述具体,避免过短
不要只说"auth",改为"我们系统的用户认证是如何工作的"
- 2
补充上下文
说明你询问的功能模块或问题域
- 3
使用自然语言
像问同事一样提问,而非使用关键词搜索方式
- 4
用 Spaces 缩小范围
若结果过于宽泛,可在特定 Space 内搜索
技术实现
ContextForge 使用 Voyage AI 嵌入(voyage-3-lite)将文本转换为 1024 维向量。这些向量捕获语义含义,使我们能够通过余弦相似度找到相关内容。
similarity = cosine(embedding(query), embedding(document))