35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
---
|
||
name: ocrag
|
||
description: 代码库 RAG 技能,用于向知识库添加代码或搜索已有代码。
|
||
---
|
||
|
||
# 代码库 RAG 技能
|
||
|
||
## 何时使用此技能
|
||
- 用户要求"把当前文件/这个目录加入知识库"
|
||
- 用户询问关于代码库的问题,需要基于已有代码回答
|
||
- 用户明确提到"RAG"、"知识库"、"语义搜索"等关键词
|
||
|
||
## 如何使用
|
||
|
||
### 添加代码到知识库
|
||
当用户提供文件路径或目录时,使用 `rag_add` 工具:
|
||
- 如果用户说"把这个文件加入知识库",提取路径并调用 `rag_add`,recursive 设为 false
|
||
- 如果用户说"添加 src/ 目录下所有代码",调用 `rag_add` 并设置 recursive = true
|
||
|
||
### 搜索知识库
|
||
当用户询问代码相关问题(如"这段代码做什么?"、"如何配置XX?")时:
|
||
1. 先用 `rag_search` 工具查询,query 参数为用户的自然语言问题
|
||
2. 获得返回的代码片段后,结合片段内容回答用户
|
||
3. 如果结果不相关,可以告知用户未找到,并建议添加更多代码
|
||
|
||
## 示例
|
||
- 用户:"帮我记住这个文件的知识" → 调用 `rag_add` 传入当前文件路径
|
||
- 用户:"认证模块是怎么实现的?" → 调用 `rag_search` query="认证模块实现"
|
||
- 用户:"把 ./src 目录下所有 Python 文件加入知识库" → 调用 `rag_add` paths=["./src"] recursive=true
|
||
|
||
## 注意事项
|
||
- 搜索结果会显示代码片段的来源文件
|
||
- 可以通过 top_k 参数调整返回结果数量
|
||
- 添加文件后,搜索会立即包含新添加的内容
|