Skip to content

Repository files navigation

Knowledge Ops: RegIntel + PaperScout (local RAG workflows)

智研 ZhiYan:法规与文献检索/对比工作流(内部工具)

整合法规检索、中美监管对比、证据链审计与文献研读,支持 RAG 闭环与本地化部署;数据与向量库均存于本地,便于内网与合规场景使用。


核心特性

RegIntel(监管对比 / Regulatory Intelligence)

  • 中美对比:按主题检索 CN/US 法规片段,生成结构化对比表与监管严苛度评分(1–10),支持导出 Markdown 报告。
  • 权威检索与闭环:定向站点(FDA/NMPA/EMA 等)智能搜索 → 下载 → 原子化入库 → 仅新 chunk 索引,避免全库重扫。
  • 证据链审计:多维科研画像(法规/论文统计、年度分布、机构占比、关键词聚类),结合 LLM 生成缺口分析(临床验证、软件生命周期、算法验证、网络安全等),输出 data/artifacts/library_report.md,并在 UI 中展示与下载。
  • 健康审计 UI:启动审计后可直接在界面查看完整报告、下载 AI-ECG_Library_Audit_Report.md;若磁盘已存在报告,可折叠查看「上次审计报告」。

PaperScout(研究助手 / Research Intelligence)

  • Gmail 自动化监控:通过 Gmail API 抓取谷歌快讯(Scholar/Patent)未读邮件中的 PDF 链接,自动下载并入库(ko watch-gmail,可选 --once 或后台循环)。
  • RTX 5060 加速解析:Embedding 与解析优先使用 GPU;兼容 RTX 5060(sm_120)等新架构,显存常驻、避免请求级重载。
  • 自动聚类:运行 ko index paper 后自动调用论文聚类,基于 title + summary 关键词打标(AI-ECG、LLM、Computer Vision、Medical AI 等),写入 data/processed/papers/library_meta.json;已有非 Uncategorized 标签的论文会跳过重算以节省时间。
  • 主题筛选与已读状态:UI 侧栏支持按主题筛选、已读/未读标记(data/user_reading_history.json)、以及中文深度研报生成与缓存(按论文 chunk 生成结构化报告并保存为 {doc_id}.report.md)。

技术架构

  • RAG 闭环Fetch → Ingest → Index → Ask
    • Fetch:从 URL 或配置文件批量下载 PDF(ko fetch),或通过 Gmail 快讯、权威搜索 pipeline 拉取。
    • Ingest:PDF 解析为结构化 doc/card + chunks(法规为 doc.json + chunks.jsonl,论文为 card.json + chunks.jsonl)。
    • Index:chunks 写入 Chroma,采用 Hybrid(BM25 + 向量) 检索,行政信息降权。
    • Ask:RegIntel / PaperScout 问答与对比、审计报告生成,均基于上述索引。
  • 物理隔离的向量库:法规与论文分目录持久化,便于单独清理论文索引或仅更新法规:
    • 法规:data/indexes/vectorstore/regulatory
    • 论文:data/indexes/vectorstore/papers
  • 本地数据:原始 PDF、处理后的 JSON、向量库、审计报告等均在 本地 data/ 目录,需用户自行准备或通过内网分发;无默认云端依赖(除可选 LLM API)。

快速上手

环境要求

  • Python 3.10+
  • Windows PowerShell(推荐)或 WSL

1. 克隆与安装

cd <仓库根目录>
py -m venv .venv
.\.venv\Scripts\Activate.ps1
py -m pip install -U pip
pip install -e .

验证 CLI:

ko --help

2. 配置环境变量(必须)

在仓库根目录创建 .env 文件(可复制 .env.example 后按需修改)。至少配置 LLM 密钥,否则审计、对比、问答等将不可用:

copy .env.example .env
# 编辑 .env,填入 OPENAI_API_KEY 等

说明见下方 本地化部署与 .env.env.example 内注释。

3. 同时启动 API 与 UI

终端 1:FastAPI 后端

.\.venv\Scripts\Activate.ps1
uvicorn apps.api.main:app --reload --host 127.0.0.1 --port 8000

终端 2:Streamlit 前端

.\.venv\Scripts\Activate.ps1
streamlit run apps/ui/app.py

浏览器访问 Streamlit(默认 http://localhost:8501),侧栏可切换 RegIntel 监管对比PaperScout 研究助手。API 文档:http://127.0.0.1:8000/docs

4. 常用 CLI 速览

命令 说明
ko fetch --url <URL> 单 URL 下载 PDF 到 data/raw/regulatory(按域名落 cn/us/unsorted)
ko fetch --config workflows/regintel/configs/sources.yaml 批量下载
ko ingest regulatory data/raw/regulatory 解析为 doc + chunks
ko index regulatory 将法规 chunks 写入向量库
ko ingest paper -i <path或目录> 论文 PDF 解析为 card + chunks
ko index paper 论文 chunks 入库并自动更新论文分类标签
ko ask regintel "问题" 法规问答(Hybrid 检索)
ko watch-gmail --once Gmail 快讯抓取 PDF 并下载(需先配置 OAuth)

本地化部署与 .env

  • 数据存储:所有原始 PDF、处理后的 JSON、向量索引与审计报告均位于 本地 data/ 目录,不依赖默认云端存储。用户需自行准备法规/论文 PDF,或通过内网/配置文件分发。
  • 必须配置 .env:LLM 调用(DeepSeek 等)、部分前端能力依赖环境变量;未配置时相关功能会报错或提示。
  • .env.example 模板:仓库提供 .env.example,列出常用变量及说明。部署时请复制为 .env 并填入实际值(切勿将 .env 提交到版本库)。
copy .env.example .env
notepad .env
变量 说明 示例
OPENAI_API_KEY LLM API 密钥(如 DeepSeek) sk-...
OPENAI_BASE_URL 可选,LLM 接口地址 https://api.deepseek.com
HF_ENDPOINT 可选,HuggingFace 镜像(国内) https://hf-mirror.com
KO_EMBED_MODEL 可选,Embedding 模型 BAAI/bge-small-zh-v1.5
KO_API_BASE 可选,UI 调用的 API 地址 http://127.0.0.1:8000
HTTP_PROXY / HTTPS_PROXY 可选,抓取外网 PDF 时使用 http://...

目录约定(相对仓库根)

路径 说明
data/raw/regulatory/ 原始法规 PDF(cn / us / unsorted)
data/processed/regulatory/ 法规 doc.json + chunks.jsonl
data/raw/papers/ 论文原始 PDF(若经 fetch / watch-gmail 等写入)
data/processed/papers/ 论文 card.json + chunks.jsonl + library_meta.json
data/indexes/vectorstore/regulatory 法规向量库
data/indexes/vectorstore/papers 论文向量库
data/artifacts/ 审计报告等(如 library_report.md)
data/user_reading_history.json 论文已读状态(UI 使用)

代码结构概览

  • packages/ko_core:配置、类型、路径、哈希、LLM 客户端、审计服务
  • packages/ko_ingest:PDF 解析、切块、法规/论文摄取、fetcher、Gmail 监控、论文聚类
  • packages/ko_index:Chroma 向量库(sentence-transformers Embedding)
  • packages/ko_retrieval:Hybrid 检索(BM25 + 向量)、行政信息降权
  • apps/cli:Typer CLI(ko 命令)
  • apps/api:FastAPI 入口与 RegIntel / PaperScout 路由
  • apps/ui:Streamlit 双模态 UI(RegIntel + PaperScout)
  • scripts/:cluster_papers、library_audit、seed_regulatory_data、diagnose_system 等
  • workflows/regintel/configs/:法规批量下载配置示例

许可证与免责声明

本项目仅供内部或授权场景使用。医疗器械注册与合规决策请以官方法规与审评机构意见为准。

About

智研 ZhiYan: A localized R&D insight engine for medical devices. Specialized in AI-ECG regulatory comparison (NMPA/FDA) and research literature analysis using RAG workflows.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages