CG_RAG 文档¶
在线版本:https://cg-rag-docs.yjx.me/
CG_RAG 是一个施工法规问答服务。 你给它一个问题或一张工地照片,它返回可核验的法规条文。
「检索哪些法规、怎么排序、让模型从中选哪几条」这些事全部封装在服务端,你只需要发一个 HTTP 请求。模型 API key、上游地址、索引路径都留在服务端,调用方拿不到,也不需要知道。
curl -sS -X POST http://127.0.0.1:8864/cg-rag/rag \
-H 'Content-Type: application/json' \
-d '{"query":"脚手架搭设完毕后,验收应当由谁组织?","scope":"usual","topk":5}'
{
"generation": {
"ok": true,
"answer_text": "我根据在线检索与候选筛选结果,整理出以下最相关条文:\n1. 《建筑施工竹脚手架安全技术规范》(JGJ254-2011)第7.2.3条:竹脚手架应由单位工程负责人组织技术、安全人员进行检查验收。",
"pred_indices": [3]
}
}
我该用哪个接口?¶
先想清楚要什么,再对号入座。
| 你想要 | 用这个 | 是否调用大模型 |
|---|---|---|
| 一批相关条文,自己拿去处理 | POST /cg-rag/retrieve-rerank |
否,纯检索 |
| 直接要答案(检索 + 选条文) | POST /cg-rag/rag |
是 |
| 同上,但要边出结果边显示 | POST /cg-rag/rag/stream |
是,SSE |
| 已有候选条文,只要模型挑 | POST /cg-rag/constrained-generate |
是 |
| 分析工地照片,快速看有什么隐患 | POST /cg-rag/vision/answer |
是,不检索 |
| 分析工地照片,并要求给出法规依据 | POST /cg-rag/vision/agentic |
是,模型自行检索 |
| 在 Agent / Claude / Cursor 里当工具用 | MCP | 取决于调用的工具 |
没想好就从 /cg-rag/rag 开始,它是最常用的一条。
五分钟上手¶
快速开始 是一条从健康检查到第一个答案、第一张图片的可复制路径,每一步都给了预期输出。
想直接抄能跑的代码,去 常见任务,那里有 curl、Python、JavaScript 三种写法。
报错了先看 问题排查,按现象查原因。
三个需要先知道的概念¶
scope(检索范围) 决定在哪个语料库里找。usual 是常用规范,最快;full 是全库,最全;usual_plus_law 额外包含常用法律。不确定就用 full。
constrained generation(受约束生成) 是 CG_RAG 的默认回答方式:模型不自由写作,只从检索到的候选条文里挑序号,服务端再按序号拼出答案。这样答案里的每一条都能追回原文,模型编不出不存在的条款。
profile fingerprint 是语料 + 索引 + 模型配置的指纹,它进入缓存 key。换了索引或配置之后,旧缓存不会被误命中。
完整文档¶
- 快速开始:跑通第一个请求。
- 常见任务:按场景抄代码。
- 问题排查:报错了看这里。
- HTTP API:每个路由的请求与响应字段。
- 视觉隐患识别:图片输入、两种模式、隐患定级。
- SSE、取消与错误:事件顺序与终态保证。
- MCP 工具:接入 Agent 客户端。
- 架构与数据流:模块边界与链路。
- 配置:环境变量、provider、并发、缓存、warmup。
- 部署与运维:上线、健康检查、日志、回滚。
- API Reference:
src.retrieval/src.generationPython 接口。
默认地址¶
端口是仓库启动脚本的默认值。生产环境应通过内网或反向代理访问 CG_RAG;不要把它直接暴露到公网,也不要让调用方直连模型 provider。