基于 FastAPI (Python 3.13) 与 Jinja2 的合同自动审核模块,支持多格式文件上传(PDF/DOCX/图片)、规则定义/模板管理、自动审核(关键词/正则/条款/语义匹配),并输出结构化报告(JSON/Excel/PDF)。语义匹配对接百炼智能体(DashScope Application)。
- bin/ 启动脚本
- env/ 环境与数据(.env、上传/报告/数据库)
- lib/ 业务代码(FastAPI、模板、服务)
- log/ 日志
-
安装依赖 pip install -r requirements.txt
-
准备环境变量 cp env/.env.example env/.env
-
运行服务 bash bin/start.sh 打开 http://127.0.0.1:8000
- 文件上传:支持 PDF、DOCX、JPG、PNG;内置 OCR(pytesseract)。
- 规则管理:关键词、正则、条款编号、语义匹配;规则模板可复用。
- 审核执行:按规则自动比对,定位到条款;语义规则调用百炼智能体。
- 结果输出:JSON/Excel/PDF 导出,一键下载。
- Tesseract OCR:如需更好 OCR,请安装 tesseract,并在 env/.env 中配置 TESSERACT_CMD=/usr/bin/tesseract 等。
- 数据库存储:默认 SQLite,路径 env/app.db,可通过 DB_URL 配置。
在 env/.env 配置:
- DASHSCOPE_API_KEY=你的API Key
- DASH_APP_ID=你的应用ID
代码示例:lib/services/llm_client.py 使用 Application.call 进行语义检查。
- JSON:/report/{id}/export?format=json
- Excel:/report/{id}/export?format=excel
- PDF:/report/{id}/export?format=pdf
- 本项目提供基础可用的实现,生产落地时请增强:文件存储策略、权限/鉴权、审计日志、错误处理、并发与队列处理(OCR/LLM)、及更健壮的条款解析。