5d1598f5c14cb27cf65ff25c05a2642cd0d4f5ab
试剂盒临床注册文件准备与审核智能体平台
用于复试展示的体外诊断试剂注册申报资料准备与审核系统。
当前项目已根据真实笔试题重构目标定位,重点服务于 NMPA 境内第三类体外诊断试剂注册申报场景,覆盖资料整理、目录汇总、法规完整性检查、关键信息抽取、跨文档一致性核查、风险预警和审计留痕。
核心理念
注册审核 Agent = 任务配置 + 资料库 + 法规规则 + 工具集 + 输出模板 + 审计日志 + 模型适配器
技术路线
V1 采用:
- Django 单体应用
- 独立 Agent Core 模块
- SQLite
- Chroma
- Django Templates
- Docker Compose
- OpenAI API 兼容的 LLM 与 Embedding 接口
默认不强依赖 Dify。系统预留 Adapter 设计,后续可以接入 Dify、OpenAI Agents SDK 或其他 Agent 编排平台。
当前业务主线
当前系统围绕以下注册申报审核闭环展开:
- 导入注册资料包。
- 解析资料包并识别产品名称。
- 以解析后的产品名称创建或绑定对话会话。
- 汇总文件目录与页数。
- 对照法规要求检查完整性。
- 抽取产品关键信息。
- 自动填入注册申报表格或对照清单。
- 核查跨文档一致性。
- 输出风险预警、处理建议和飞书通知。
当前产品形态
当前原型和需求文档已经统一为 Agent 化产品形态,顶层入口固定为:
审核智能体资料包知识库处理历史
对应关系如下:
审核智能体是主执行入口,承载对话、模板提问、节点跳转和结构化结果。资料包是主业务对象,资料包与会话绑定,对话标题采用解析后的产品名称,并支持按产品名称或批次号搜索。知识库负责法规资料、业务资料、RAG 切片、字段 Schema、模板映射和飞书配置治理。处理历史用于按批次回看历史任务、关联会话、风险状态和通知留痕。
模块划分
config
apps.scenarios
apps.documents
apps.chat
apps.audit
agent_core
职责边界:
- Django Apps 负责页面、数据、文件、日志等企业应用外壳。
- Agent Core 负责 RAG、工具调用、模型适配、结构化输出和 Agent 编排。
- RAG、工具调用和模型调用不直接写进 Django View。
推荐项目结构
universal-agent-demo/
manage.py
requirements.txt
Dockerfile
docker-compose.yml
.env.example
README.md
AGENTS.md
config/
apps/
scenarios/
documents/
chat/
audit/
agent_core/
rag/
tools/
schemas/
configs/
registration_overview.yaml
registration_completeness_check.yaml
registration_field_extraction.yaml
registration_consistency_review.yaml
registration_risk_report.yaml
data/
uploads/
chroma/
docs/
V1 功能范围
V1 需要完成:
- 注册审核任务列表。
- 审核工作台。
- 资料上传与管理。
- 文档解析与入库。
- 目录与页数汇总。
- 法规完整性检查。
- 关键信息抽取与注册申报表格 / 对照清单自动回填。
- 一致性核查。
- 风险预警与审计日志。
- 模型 API 可配置。
- Docker 一键启动。
当前代码基线已经落地的通用能力:
- 首页支持展示场景摘要、RAG 状态、工具数量。
- 非法 YAML 场景配置会被自动跳过,并在首页展示错误摘要。
- 对话页支持问题输入、文档范围选择、结构化结果、引用片段、工具调用和审计入口展示。
- 文档页支持上传、列表查看、手动入库、失败原因提示和重试。
- 审计页支持列表摘要、按场景筛选、详情查看、原始输出展示和敏感信息脱敏。
- Agent Core 已具备 Prompt 编排、OpenAI 兼容 Provider、结构化输出解析、RAG 检索和工具注册机制。
- 测试环境默认固定使用 Mock Provider,避免误调用本地真实模型配置。
本轮需求文档
本轮已按模块重写需求分析,详见:
V1 暂不重点做:
- 多租户。
- 复杂权限。
- 完整工作流引擎。
- 前后端分离。
- 深度 Dify 集成。
- 生产级高并发优化。
复试改题流程
拿到题目后:
- 判断资料包、规则依据和核心审核链路。
- 调整最接近的任务 YAML 配置。
- 修改 Agent 角色、目标、指令和输出模板。
- 上传题目材料并生成资料包。
- 确认产品名称解析、资料包绑定和会话标题是否正确。
- 如需业务计算,新增一个工具函数。
- 用 2 到 3 个预设问题测试目录汇总、完整性检查和字段抽取。
- 演示对话节点、知识库引用、结构化输出、飞书通知和审计日志。
当前页面概览
当前项目包含以下主要页面:
| 页面 | 路径 | 当前能力 |
|---|---|---|
| 审核智能体 | /chat/<scenario_id>/ 或后续统一工作台入口 |
输入问题、上传附件、触发任务模板、查看节点结果、结构化输出、引用片段、工具调用和审计入口 |
| 资料包 | /documents/ 及相关上传入口 |
查看资料包、文件状态、页数、解析结果、按产品名称搜索并跳转关联会话 |
| 知识库 | 后续治理页 / 原型页 | 管理法规资料、业务资料、切片、模板映射、责任人映射和飞书配置 |
| 处理历史 | /audit/ 及详情页 |
查看执行摘要、最终回答、结构化输出、引用、工具调用、通知状态和错误信息 |
计划启动方式
本地启动:
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
Docker 启动:
docker compose up --build
当前文档目标已统一为完整 V1 闭环:真实 Chroma RAG、OpenAI 兼容 LLM、OpenAI 兼容 Embedding、工具注册和审计日志。开发阶段可以用测试桩验证页面和边界,但不作为 V1 验收结果。
推荐首次启动步骤:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
环境变量
项目当前通过 os.environ 读取配置,核心变量如下:
DJANGO_SECRET_KEY=replace-with-a-local-secret-key
DJANGO_DEBUG=true
DJANGO_ALLOWED_HOSTS=*
LLM_API_KEY=your_llm_api_key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4.1-mini
EMBEDDING_API_KEY=
EMBEDDING_BASE_URL=
EMBEDDING_MODEL=text-embedding-3-small
SCENARIO_CONFIG_DIR=configs
UPLOAD_ROOT=data/uploads
CHROMA_PATH=data/chroma
说明:
EMBEDDING_API_KEY为空时,代码会自动复用LLM_API_KEY。EMBEDDING_BASE_URL为空时,代码会自动复用LLM_BASE_URL。.env.example只作为模板,不应填写真实密钥并提交到仓库。- 当前代码会在 Django settings 初始化时自动加载根目录
.env,本地python manage.py runserver、pytest和 Docker Compose 可以复用同一套配置。 - Docker Compose 当前在
docker-compose.yml中通过env_file读取.env。
常见做法:
- 本地开发:复制
.env.example为.env,填入真实参数后运行。 - Docker 演示:确认
.env已配置后,再执行docker compose up --build。
测试与验证
当前项目已经补有较完整的模块级测试,覆盖:
- 场景配置读取、非法配置容错和首页展示。
- 对话提交、文档范围传递、结构化结果展示。
- 文档上传、文本抽取、入库成功与失败提示。
- 审计日志落库、筛选、原始输出展示和 API Key 脱敏。
- Agent Core 的 Prompt 编排、结构化解析、RAG fallback 检索。
- Tool Registry 和内置工具行为。
- LLM / Embedding Provider 的配置与请求构造。
常用验证命令:
pytest
python manage.py check
docker compose config
说明:
- 测试环境默认通过
tests/conftest.py固定LLM_PROVIDER=mock,避免回归测试误走真实网络请求。 - 当前本地
.env可能包含真实模型配置,但不会影响自动化测试稳定性。
文档入口
- V1 总需求文档
- 需求重构总览与待确认事项
- Config 模块需求分析
- Scenarios 模块需求分析
- Documents 模块需求分析
- Chat 模块需求分析
- Audit 模块需求分析
- Agent Core 模块需求分析
- 业务确认问答清单
- 资料包导入与目录汇总详细设计
- 法规完整性检查详细设计
- 字段抽取与统一字段池详细设计
- 一致性核查详细设计
- 风险预警详细设计
- Word 回填导出详细设计
- 飞书通知详细设计
- 注册审核平台整体原型设计
- 原型设计目录
- 单文件演示站 HTML
- 协作与编码约定
原型设计交付
当前仓库已补充一套围绕注册申报审核主线的原型设计资产,供复试讲解、方案评审和后续页面实现直接参考:
- 原型文档采用“总览 + 分页细设计”方式组织,覆盖资料包导入、审核任务工作台、法规完整性检查、字段抽取与字段池、一致性核查、风险预警、Word 回填导出、飞书通知视图和知识库治理台。
docs/原型设计/registration-prototype-demo.html提供单文件可交互 mock 演示站,当前已重构为 Agent 化界面,顶层为审核智能体 / 资料包 / 知识库 / 处理历史。- 资料包与对话会话已在原型中绑定,对话标题采用解析后的产品名称,资料包页支持按产品名称搜索并跳转对应会话。
- 该演示站仅使用 mock 数据,不依赖 Django 路由或真实 Agent Core 执行结果。
Description
Languages
Python
86.5%
JavaScript
5.6%
HTML
4%
CSS
3.9%