核心用法
ConstructionRAG 是一套专为建筑工程领域设计的检索增强生成(RAG)系统,基于"Data-Driven Construction"第2.3章方法论实现。系统完整覆盖文档分块、向量化存储、语义检索、智能问答四大核心环节。
文档处理能力:支持12类建筑专业文档(规范、图纸、合同、RFI、提交件、变更单、会议纪要、日报、安全报告、检验报告、手册、标准),通过DocumentType枚举严格分类管理。
智能分块策略:提供5种分块算法——固定长度分块、段落分块、章节分块(支持正则识别SECTION/ARTICLE等标题)、语义分块、句子分块,并内置重叠机制保障上下文连续性。
向量化检索:VectorStore模块实现余弦相似度计算,支持按文档类型元数据过滤,可对接OpenAI等真实嵌入模型(当前为模拟实现)。
问答系统:query()方法自动检索Top-K相关片段、组装上下文、生成带引用来源的结构化回答,返回置信度评分与token用量统计。
显著优点
1. 领域专业化设计:针对建筑文档结构特点优化,章节识别正则表达式、文档类型元数据体系、工程术语友好
2. 模块化架构:TextChunker、VectorStore、EmbeddingModel、ConstructionRAG四层解耦,便于替换生产级组件
3. 数据可追溯:所有搜索结果保留原始文档ID、分块位置、相似度评分,满足工程审计要求
4. 扩展接口:预留export_knowledge_base()实现知识库迁移,add_documents()支持批量入库
潜在局限
- 模拟嵌入层:当前
EmbeddingModel使用SHA256哈希生成伪向量,需替换为真实API(OpenAI/Cohere/开源模型)方可投入生产 - 无持久化存储:VectorStore为纯内存实现,大规模知识库需对接Chroma/Pinecone/Weaviate等向量数据库
- 问答生成简化:
_generate_answer()仅拼接首句,未调用LLM,实际部署需接入GPT-4/Claude等模型 - PDF解析缺失:未提供从PDF/DWG等工程格式提取文本的解析器,需前置处理环节
适合人群
- 建筑信息模型(BIM)团队需要构建规范知识库
- 施工管理方希望实现合同条款智能查询
- 工程咨询公司搭建内部标准检索系统
- 具备Python基础、需快速验证RAG架构的技术人员
常规风险
| 风险类型 | 说明 |
|---------|------|
| 幻觉风险 | 模拟生成答案非真实LLM输出,替换后需配置温度参数与提示词工程 |
| 检索遗漏 | 分块策略选择不当可能导致关键信息被切断,建议工程文档优先使用`SECTION`模式 |
| 数据安全 | 真实部署时建筑规范可能含保密条款,需评估云服务商合规性 |
| 版本漂移 | 规范更新后需重建嵌入,建议设计文档版本控制机制 |