Skip to content

管理知识库

本教程演示如何添加领域知识,让 agent 在处理任务时参考。

步骤

1. 准备原始文档

kb/sources/ 目录下创建一个 Markdown 文件,例如产品手册:

bash
mkdir -p kb/sources

编写 kb/sources/product-manual.md

markdown
# 产品手册

## 概述
CocoChat 是一款团队协作工具,支持即时通讯、文件共享和项目管理。

## 功能
1. 即时通讯:支持文本、图片、文件消息
2. 项目管理:看板视图、任务分配、进度追踪
3. 文件共享:支持所有常见格式,单文件上限 100MB

## 定价
- 免费版:10 人以下,基础功能
- 专业版:不限人数,高级功能,¥99/人/月
- 企业版:定制功能,联系销售

## 技术支持
- 邮箱: support@cocochat.com
- 工作时间: 周一至周五 9:00-18:00

2. 调用知识库摄取

运行摄取脚本:

bash
python -m cococat.ingest --source kb/sources/product-manual.md

输出:

[INFO] 分析阶段: product-manual.md
[INFO] 生成阶段: 创建 kb/wiki/product-manual.md
[INFO] 更新索引: kb/wiki/index.md
[INFO] 完成

3. 查看生成的 Wiki 页面

bash
cat kb/wiki/product-manual.md

页面包含 YAML frontmatter:

yaml
---
title: 产品手册
type: reference
tags: [产品, 手册, cocochat]
entities: [CocoChat]
concepts: [即时通讯, 项目管理, 文件共享, 定价]
key_points:
  - 支持即时通讯、项目管理、文件共享
  - 免费版 10 人以下
  - 专业版 ¥99/人/月
  - 技术支持邮箱 support@cocochat.com
related: []
created: 2025-01-15
updated: 2025-01-15
---

4. 挂载到场景

编辑 kb/mounted_kbs.json

json
{
  "scenes": {
    "default": {
      "knowledge_bases": ["product-manual"]
    }
  }
}

5. 搜索知识库

使用 search_kb 工具搜索:

python
from cococat.core.tools import search_kb

results = search_kb(query="定价方案", top_k=3)
for r in results:
    print(f"[{r['score']:.2f}] {r['title']}")
    print(r['content'][:200])

输出:

[0.95] 产品手册
# 产品手册
...
免费版:10 人以下,基础功能
专业版:不限人数,高级功能,¥99/人/月
...

6. 在 Agent 对话中验证

发送消息给 agent:

用户问我们产品的定价方案,请回答

Agent 会在 system prompt 中自动包含搜索到的知识库内容,因此能正确回答:

Alice: 我们的产品 CocoChat 提供三个版本:
- 免费版:10 人以下,基础功能
- 专业版:不限人数,高级功能,¥99/人/月
- 企业版:定制功能,请联系销售
技术支持: support@cocochat.com

7. 在 Web 面板中浏览

打开 Web 面板 http://localhost:8000,进入知识库页面,你可以:

  • 查看所有 Wiki 页面
  • 按标签筛选
  • 搜索内容
  • 查看摄取日志

完成

你现在知道如何管理 CocoCat 的知识库了。每次添加新文档后,agent 在接下来的对话中会自动利用这些知识回答问题。

基于 MIT 协议开源