ADDING_A_NEW_DOMAIN.md 3.2 KB

新增一个领域 QA — 一键部署指南

当前已部署:maritime (8080)、finance (8082)、travel (8081,是 API 不是 demo)

前置条件 (1 次性, 已就绪)

  • vLLM Qwen2.5-32B 在 127.0.0.1:8000
  • bge-m3 embedding server 在 127.0.0.1:11435
  • lambdagentpaas:latest docker 镜像 ✅
  • 统一的 /home/67/qademo/app.py (config-driven) ✅
  • /home/67/qademo/deploy_domain.sh
  • /home/67/qademo/instance.yml.template

添加新领域 (例: customs 海关)

Step 1 — 准备知识库目录

mkdir -p /home/67/knowledge/customs/{raw,processed,wiki}

# 把原始文档放进 raw/
cp -r /path/to/customs_pdfs/* /home/67/knowledge/customs/raw/

Step 2 — 复制 search/config 模块

# 直接从 maritime 复制 (代码完全相同, 仅 config.py 路径解析)
cp /home/67/knowledge/maritime/{search_engine.py,search_engine_v2.py,search_unified.py,graph_engine.py,config.py} \
   /home/67/knowledge/customs/

Step 3 — 用 maritime 的索引脚本生成索引

cd /home/67/knowledge/customs
# 生成 BM25 + vector 索引 (复用 maritime 的 build 脚本)
python3 /home/67/knowledge/maritime/build_index.py   # 或对应的索引构建命令

应产生:

  • rag_index.json (BM25)
  • rag_index.keywords.json
  • rag_vectors_v2.npy (vector)
  • rag_vectors_meta_v2.pkl

Step 4 — 写 instance.yml

cp /home/67/qademo/instance.yml.template \
   /home/67/knowledge/customs/instance.yml

# 把所有 {{DOMAIN}} 替换成 customs, {{PORT}} 替换成新端口 (如 8083)
sed -i 's/{{DOMAIN}}/customs/g; s/{{PORT}}/8083/g' \
   /home/67/knowledge/customs/instance.yml

# 编辑 systemPrompt + 5 个 examples + tagline (TODO 标记处)
vi /home/67/knowledge/customs/instance.yml

Step 5 — 一键部署

/home/67/qademo/deploy_domain.sh customs

输出:

[1/6] Validating /home/67/knowledge/customs ...
[2/6] Parsing /home/67/knowledge/customs/instance.yml ...
       agent template: qaagent67lambda
       port:           8083
[3/6] Checking port 8083 availability ...
[4/6] No existing customs-qa — fresh deploy
[5/6] Starting customs-qa on port 8083 ...
[6/6] Waiting for http://127.0.0.1:8083/ to become ready ...

✅ customs-qa ready
   URL: http://qa.lambdagent.cn:8083/

Step 6 — 访问

浏览器打开 http://qa.lambdagent.cn:8083/ 即可。


常用维护命令

# 重启某个领域
/home/67/qademo/deploy_domain.sh customs --rebuild

# 查日志
docker logs -f customs-qa

# 改 demo 文案/示例 → 改 instance.yml → 直接重启容器即可 (无需 rebuild)
vi /home/67/knowledge/customs/instance.yml
docker restart customs-qa

# 列出所有 QA 实例
docker ps --filter name=-qa --format 'table {{.Names}}\t{{.Status}}'

一切配置都集中在 instance.yml

想改 改这里
网页标题/副标题/输入框提示 demo.title / demo.tagline / demo.placeholder
默认 5 个示例问题 demo.examples[]
端口 demo.port
LLM 模型 model.name
检索权重 retrieval.weights.*
RAG 系统提示词 systemPrompt + prompts.*
知识库路径 knowledge.baseDir (其余自动派生)

无需碰 app.pyDockerfiledocker run 命令。