he search¶
对知识库执行语义搜索。
概要¶
参数¶
| 参数 | 描述 |
|---|---|
KA_PATH |
知识库目录的路径 |
QUERY |
搜索查询字符串 |
选项¶
| 选项 | 简写 | 描述 | 默认值 |
|---|---|---|---|
--top-k |
-n |
返回结果数量 | 3 |
描述¶
语义搜索即使在关键词不完全匹配时也能找到相关信息。它使用:
- 向量嵌入 — 将查询和内容转换为向量
- 相似度匹配 — 找到语义相似的内容
- 排名 — 返回最相关的结果
要求:必须构建搜索索引。如有需要,运行 he build-index。
示例¶
基本搜索¶
获取更多结果¶
自然语言查询¶
构建索引后¶
输出格式¶
Found 3 result(s):
Result 1:
{
"name": "苏轼",
"type": "人物",
"description": "北宋文学家、书画家,号东坡居士"
}
Result 2:
{
"source": "苏轼",
"target": "欧阳修",
"type": "师生",
"description": "欧阳修赏识苏轼才华,预言其将超越自己"
}
Result 3:
...
工作原理¶
- 查询嵌入 — 将您的查询转换为向量
- 索引搜索 — 在知识库中找到最近的向量
- 结果排名 — 返回 top-k 最相似的项目
更好搜索的技巧¶
- 使用自然语言 — "电气工程方面的发明" vs "发明 电气"
- 要具体 — "苏轼在词作方面的成就" vs "苏轼 成就"
- 尝试同义词 — 如果 "发明" 不行,尝试 "发现"
- 增加 top-k — 使用
-n 10获取更广泛的结果
与 he talk 的比较¶
| 功能 | he search |
he talk |
|---|---|---|
| 返回 | 原始实体/关系 | 自然语言答案 |
| 用例 | 查找特定数据 | 获取解释 |
| 速度 | 更快 | 更慢(LLM 生成) |
| 精度 | 精确匹配 | 解释性 |
故障排除¶
"未找到索引"¶
构建搜索索引:
"未找到结果"¶
尝试:
1. 更广泛的查询词
2. 增加 -n 获取更多结果
3. 不同的措辞
4. 检查 he info ./output/ 验证数据存在
另请参见¶
he talk— 与知识库对话he build-index— 构建搜索索引he parse— 带索引构建的提取