建筑法规AI助手

一个端到端的人工智能助手,通过自然语言查询沙特建筑法规(SBC 201-CC-2024),并提供基于具体章节的准确答案。

  • by Kaiiser-ai
  • Jupyter Notebook
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Kaiiser-ai/sbc-mcp-server

使用说明

沙特建筑规范人工智能助手——基于MCP的代理混合RAG

一个端到端的管道,允许您使用自然语言查询沙特建筑规范(SBC 201-CC-2024),并获得基于章节的答案——由多代理架构中通过MCP提供的代理混合RAG提供支持。

它做什么

问这样的问题 “最小胎面深度是多少?” 并得到:

275毫米 (第1011.5.2节,第1106-1107页)

没有幻觉。只有实际的代码,带有部分引用。

建筑

Colab (processing + embeddings)
    → Supabase (vector DB + keyword search)
        → n8n (AI Agent #1: Agentic Hybrid RAG)
            → MCP (protocol layer)
                → Claude (AI Agent #2: conversational interface)

为什么是“带MCP的代理混合RAG”?

  • 混合动力RAG --两种检索方法:矢量搜索(语义相似性)+关键字搜索(精确术语匹配)。一个知识库。
  • 能动性 --n8n AI Agent自主决定如何查询这两个检索工具,组合结果并生成可靠的答案。它会对发现的内容进行推理,而不仅仅是检索和粘贴。
  • 主控程序 --工作流作为MCP服务器公开,因此Claude可以作为第二个AI代理连接到它。两个代理,两个角色,一个管道。
  • 多Agent --Claude通过MCP处理对话和用户交互。n8n AI Agent处理检索和基于代码的推理。

堆栈

图层 工具 角色
数据处理 谷歌Colab PDF提取、分块、嵌入生成
嵌入 OpenAI(text-embedding-ada-002) 用于语义搜索的向量嵌入
知识库 数据库库 矢量数据库(match_sbc_documents)+关键字搜索(keyword_search_sbc)
AI代理/编排 n8n AI代理,具有双检索工具+直接聊天界面
LLM GPT-4.1-mini 推理和答案生成
协议 MCP 将n8n工作流暴露给外部AI客户端
接口 Claude.ai 通过MCP连接的对话式前端

存储库内容

├── README.md
├── SBC_RAG_Pipeline.ipynb          # Colab notebook: PDF processing, chunking, embedding, upload
├── SBC_MCP_Query.json              # n8n workflow: AI Agent with dual retrieval + MCP
└── screenshots/                    # Architecture diagram and demo screenshots (optional)

安装指南

1.Supabase

创建一个Supabase项目并设置以下内容:

向量表 — sbc_documents:

  • id (int8,主键)
  • content (文本)
  • metadata (jsonb)
  • embedding (矢量(1536))

功能:

  • match_sbc_documents --基于pgvector的向量相似度搜索
  • keyword_search_sbc --内容全文关键字搜索

2.Colab笔记本

打开 SBC_RAG_Pipeline.ipynb 在谷歌Colab中:

  1. 上传SBC 201-CC-2024 PDF
  2. 设置环境变量:
    • OPENAI_API_KEY
    • SUPABASE_URL
    • SUPABASE_KEY
  3. 运行所有单元格--这将:
    • 从PDF中提取文本
    • 把它分成有意义的部分
    • 生成OpenAI嵌入
    • 将所有内容上传到Supabase

3.n8n工作流程

导入 SBC_MCP_Query.json 在n8n实例中:

  1. 转到n8n→ 导入工作流→ 粘贴JSON
  2. 配置凭据:
    • 开放人工智能 -您的API密钥
    • 速贝 -您的项目URL和API密钥
  3. 使用您的Supabase URL和密钥更新HTTP请求节点
  4. 激活工作流
  5. 启用 “在MCP中可用” 在工作流设置中

4.第ai条(MCP连接)

  1. 在Claude.ai设置中,添加n8n MCP服务器URL
  2. 开始新的对话,并提出任何SBC问题

演示问题

这些查询始终返回强有力的、有根据的答案:

  • “最小胎面深度是多少?”
  • “立管的最大高度是多少?”
  • “楼梯的最小宽度是多少?”

关键决策

  • 双重检索 --仅矢量搜索就错过了精确的术语;仅关键字搜索就忽略了上下文。使用这两种方法可以得到最可靠的结果。
  • topK=12 --每个向量查询检索12个块,以充分覆盖复杂的代码段。
  • GPT-4.1分钟 --RAG推理层快速且经济高效。Claude负责处理对话界面。
  • 会话记忆 --n8n代理在会话中维护对话上下文,以便后续提问。

局限性

  • 一些SBC部分(例如出口楼梯围护结构的防火等级)没有可靠地检索到——这是一个已知的分块/嵌入差距,可以通过更好的分块策略或上下文丰富来改善。
  • 该系统最适合特定的、可测量的代码查询(尺寸、高度、宽度),而不是广泛的概念问题。

许可证

该项目用于教育和研究目的。由于版权问题,沙特建筑规范(SBC 201-CC-2024)内容未包含在此存储库中。

作者

作为Zigurat理工学院建筑、工程、施工和运营人工智能硕士(MAICEN)项目的一部分而建造。


这是AEC专业人员接地AI的一种方法——建筑规范可以回应。