核心用法
audit-case-rag 是一套面向商业房地产审计与调查案件的本地优先、事件驱动型RAG工作流。用户需按规范命名案件目录(<项目问题编号>__<标题>),并在内部建立标准化阶段子文件夹(01_policy_basis至09_rectification),随后通过命令行工具完成索引构建与智能检索。
索引阶段:执行 audit_case_rag.py index 扫描案件目录,自动处理PDF/DOCX/PPTX/XLSX等格式,生成 manifest.jsonl 清单及本地持久化索引(joblib格式)。系统推荐搭配LibreOffice实现Office文档的精准页码映射。
查询阶段:执行 audit_case_rag.py query 支持多维度过滤(--case 案件编号、--stage 阶段标签),采用混合检索策略(向量召回+TF-IDF重排序),返回答案时附带可点击的 file://...#page=N 页码级引用,直接满足审计底稿编制、整改闭环跟踪、举报线索调查的举证需求。
显著优点
1. 完全离线:零云端API调用,敏感审计证据全程本地化,规避数据泄露风险
2. 案件化组织:事件驱动架构,强制阶段分层(policy/process/contract/payment等),天然匹配审计作业流程
3. 精准溯源:页码级引用(PDF #page)而非仅文件级,满足审计准则对证据可追溯性的严格要求
4. 格式兼容:原生支持审计场景高频格式(PDF、Word、Excel、PPT),无需预处理转换
5. 轻量部署:Python虚拟环境+单脚本运行,无复杂服务依赖
潜在局限
- 规模限制:设计目标为单案件50-200份文档,超大规模案件(千级文件)性能未经验证
- 中文分词依赖:TF-IDF重排序效果受底层分词器质量影响,专业审计术语可能需自定义词表
- LibreOffice依赖:Office文档页码精准映射需外部LibreOffice进程,Windows/Linux路径配置可能存在兼容性问题
- 无协同机制:纯本地设计,多审计师协作需自行解决索引同步(如NAS/版本控制),无内置权限管理
- 索引冷启动:每次新增文档需重新索引,增量更新机制未明确
适合人群
- 内部审计/监察部门需处理涉密举报线索的调查人员
- 商业地产项目审计团队管理多阶段证据(招采-合同-结算-整改)
- 合规检查场景下需快速定位制度依据与付款凭证的质控岗位
- 对数据主权敏感、拒绝SaaS方案的企业风控部门
常规风险
- 索引数据残留:
audit_rag_db/及转换后的PDF缓存含案件敏感信息,需严格遵循.gitignore或加密存储 - 路径硬编码风险:Windows/macOS/Linux路径格式差异可能导致
file://链接失效 - LibreOffice版本差异:不同版本Office→PDF分页结果可能偏差1-2页,关键证据建议人工复核页码
- 依赖库供应链:虽为本地运行,但
requirements.txt中的PyPDF2/docx2pdf等库需关注CVE安全更新 - 证据链完整性:RAG摘要可能遗漏上下文,正式底稿引用时必须核对原始文档,避免"AI幻觉"传导至审计结论