Knowledge Base Skill
支持图片附件与OCR的文字提取,按业务类型管理问答知识库。
下载 719
支持多格式文档上传,实现智能问答与来源引用的私有知识库系统。
openclaw skills install @huajianjiu000/knowledge-base-qa-assistant命令、参数、文件名以原文为准
📚 为 AI 驱动的文档问答构建私有知识库
此技能帮助 AI 代理构建和管理私有知识库,支持上传文档(PDF、Word、TXT、Markdown 等),并基于知识库内容提供精准的问答服务。适用于企业知识管理、产品文档问答以及客户服务知识库场景。
/knowledge-qa/upload-document/document-qa/knowledge-base-manage/doc-question/rag-qa用户上传文档以建立知识库:
User: 请将这份产品文档上传到知识库
Agent: 请提供文档内容或上传文件
User: [上传 PDF 文件]
Agent: ✅ 文档已成功上传至知识库!
文档名称:Product Manual.pdf
文件大小:2.5MB
页数:45
状态:已索引,可进行问答
提取的知识点:23 个
文本块数量:12 个User: 该产品支持哪些支付方式?
Agent: 正在搜索知识库...
✅ 找到相关信息!
回答:该产品支持以下支付方式:
1. **在线支付**
- PayPal
- Stripe
- 信用卡(支持 Visa、MasterCard)
2. **离线支付**
- 银行转账
- 电汇
📎 参考来源:产品手册 第 3.2 节,发布日期:2024-01-15| 命令 | 功能 |
|---|---|
/knowledge-list | 查看知识库中所有文档 |
/delete-doc [filename] | 删除指定文档 |
/knowledge-stats | 查看知识库统计信息 |
/clear-knowledge | 清空所有文档(需确认) |
knowledge_base/
├── documents/
│ ├── doc_001/
│ │ ├── original.pdf # 原始文档
│ │ └── metadata.json # 元数据
│ ├── doc_002/
│ │ ├── content.txt # 提取的文本内容
│ │ └── metadata.json
│ └── ...
└── index/
└── vector_index.json # 向量索引文件{
"doc_id": "doc_001",
"filename": "Product Manual.pdf",
"upload_time": "2024-01-20T10:30:00Z",
"file_size": "2.5MB",
"page_count": 45,
"chunk_count": 12,
"status": "indexed",
"tags": ["product", "user-guide", "features"]
}用户提问
↓
问题嵌入向量
↓
向量相似度匹配
↓
返回 Top-K 相关文本块
↓
构建提示词上下文
↓
大模型生成答案
↓
添加来源引用
↓
返回最终答案User: 公司的远程办公政策是什么?
Agent: 正在搜索知识库...
✅ 找到相关信息!
来自《员工手册 2024》第 4 章第 2 节:
**远程办公政策:**
| 员工类型 | 远程天数 | 要求 |
|----------|----------|------|
| 全职 | 每周 3 天 | 需经理批准 |
| 兼职 | 每周 2 天 | 必须满足核心工作时间 |
| 合同制 | 个案处理 | 需与人力资源部门协商 |
📎 参考来源:员工手册 2024,第 4 章第 2 节User: 如何配置 OAuth2.0 登录?
Agent: 正在查找技术文档...
✅ 找到配置指南!
**OAuth2.0 配置步骤:**
1. **注册应用**
在 OAuth 提供商处注册应用,获取 client_id 和 client_secret
2. **配置回调地址**
设置授权回调 URL:https://your-app.com/callback
3. **实现认证流程**const oauth = new OAuth2({
clientId: 'your_client_id',
clientSecret: 'your_client_secret',
redirectUri: 'https://your-app.com/callback'
});
📎 参考来源:开发者文档 第 5.2 节User: 我想上传以下 3 个文档到知识库:
1. Product Introduction.pdf
2. Technical Whitepaper.docx
3. FAQ.md
Agent: 正在批量上传...
✅ 上传完成!
| 文档 | 状态 | 知识点数量 |
|------|------|------------|
| Product Introduction.pdf | ✅ 成功 | 15 |
| Technical Whitepaper.docx | ✅ 成功 | 28 |
| FAQ.md | ✅ 成功 | 42 |
📚 知识库统计:
- 总文档数:3
- 总知识点:85
- 文本块数量:12| 参数 | 默认值 | 说明 |
|---|---|---|
| top_k | 5 | 返回的相关文本块数量 |
| similarity_threshold | 0.7 | 相似度阈值 |
| max_tokens | 2000 | 答案最大 token 数量 |
| include_source | true | 是否包含来源引用 |
| 策略 | 适用场景 |
|---|---|
| 固定长度分块 | 通用场景 |
| 语义分块 | 保持语义完整性 |
| 段落分块 | 按自然段划分 |
技能名称:knowledge-base-qa-assistant
版本:1.0.0
分块:2/2
knowledge_qa/
├── uploader.py # 文档上传模块
├── parser.py # 文档解析模块
├── chunker.py # 文本分块模块
├── indexer.py # 向量索引模块
├── retriever.py # 检索模块
└── generator.py # 答案生成模块# 1. 上传文档
result = upload_document(file_path, knowledge_base_id)
# 2. 获取相关知识片段
chunks = retrieve(query, top_k=5, threshold=0.7)
# 3. 生成回答
answer = generate_answer(question, context_chunks)已收录 4 个 Skill