Cookbook #2: 上传与管理知识库

为专家上传参考文档,构建专业知识库。

⏱ 预计用时:5-10 分钟


前置条件

  • 已创建专家(参见 Cookbook #1
  • 准备好参考文档(PDF / Word / TXT / Markdown)

步骤 1: 上传文档

单文件上传

curl -X POST https://your-domain.com/api/experts/exp_abc123/knowledge-base \
  -H "X-API-Key: your-api-key" \
  -F "file=@劳动合同法全文.pdf" \
  -F "metadata={\"source\": \"劳动合同法\", \"version\": \"2024修正\"}"

批量上传

# 上传目录下所有 PDF 文件
for file in ./legal-docs/*.pdf; do
  curl -X POST https://your-domain.com/api/experts/exp_abc123/knowledge-base \
    -H "X-API-Key: your-api-key" \
    -F "file=@$file"
  echo "上传完成: $file"
done

Python SDK 上传

from mbe_sdk import MBEClient

client = MBEClient(api_key="your-api-key")

# 单文件上传
client.knowledge_base.upload(
    expert_id="exp_abc123",
    file_path="./劳动合同法全文.pdf",
    metadata={"source": "劳动合同法", "version": "2024修正"}
)

# 批量上传
files = [
    ("./劳动合同法全文.pdf", {"source": "劳动合同法"}),
    ("./公司法全文.pdf", {"source": "公司法"}),
    ("./民法典.pdf", {"source": "民法典"}),
]
for file_path, meta in files:
    client.knowledge_base.upload(
        expert_id="exp_abc123",
        file_path=file_path,
        metadata=meta,
    )

步骤 2: 验证知识库状态

curl -X GET https://your-domain.com/api/experts/exp_abc123/knowledge-base \
  -H "X-API-Key: your-api-key"

预期响应:

{
  "expert_id": "exp_abc123",
  "documents": [
    {
      "doc_id": "doc_001",
      "filename": "劳动合同法全文.pdf",
      "size_bytes": 245760,
      "chunks": 42,
      "status": "indexed",
      "uploaded_at": "2026-02-11T10:05:00Z"
    }
  ],
  "total_documents": 1,
  "total_chunks": 42,
  "total_size_mb": 0.24
}

关注以下字段:

  • status: "indexed" 表示已完成向量化,可以检索
  • chunks: 文档被拆分的段落数

步骤 3: 测试知识库检索

# 测试知识库是否被正确引用
curl -X POST https://your-domain.com/api/chat \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "expert_id": "exp_abc123",
    "message": "劳动合同到期不续签,需要支付多少经济补偿金?",
    "options": {
      "show_references": true
    }
  }'

预期行为:

  • 回答中引用劳动合同法具体条文
  • references 字段包含引用的知识库段落
  • SC-2(来源引用)确保回答有据可依

知识库最佳实践

实践 说明
文档质量 上传前确认文档内容准确、格式规范
文档粒度 按主题拆分大文档(如按章节),提高检索精度
元数据标注 添加来源、版本、日期等元数据
定期更新 法规更新时及时替换旧版本
安全扫描 上传自动执行 KB 间接注入扫描
存储规划 关注存储用量,避免超额计费

下一步