AI治理评估平台

EU-Comply是一个生产级的AI治理和欧盟AI法案评估平台,具有确定性策略引擎、治理审查工作流、第一方MCP服务器、审计包导出以及对OpenRouter和Ollama的双运行时兼容性。

  • by Mehulupase01
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Mehulupase01/AI-Act-Risk-Classifier-Agent-with-MCP-LangGraph

使用说明

欧盟合规

生产级人工智能治理和欧盟人工智能法案评估平台,具有确定性策略引擎、受控审查工作流、第一方MCP服务器、审计包导出和双运行时兼容性 OpenRouter 和 Ollama.

如果您想进行非技术性演练,请从这里开始:

目录

指南手册

有关带有示例的简单分步使用手册,请参阅:

简短摘要

EU Comply是为欧盟人工智能法案准备就绪背后的真实工作流程而设计的。

该平台存储了一个 真实的案件档案,吸收证据,提取结构化事实,评估这些事实 通过确定性规则包传递事实,通过人类传递敏感结果 审查并导出保存证据、评估、, 例如决策时使用的工作流状态和策略上下文。

此存储库是作为产品构建的,而不是一次性演示:

  • FastAPI控制平面公开案例、评估、报告、运行时和集成API
  • Next.js分析师工作台在后端操作实时案例
  • LangGraph协调受管理的评估工作流程和审查门
  • 第一方MCP服务器通过流式HTTP公开策略、档案和评估表面
  • 包括Docker打包、组合部署、基准测试工具和迁移

目前的实施已经是主要产品的端到端 表面。重要的诚实提示是,确定性法律内容是 仍处于基线覆盖层,而不是《人工智能法案》的完整条款 编纂。平台架构为生产级;法律规则 图书馆有意扩建。

当前已验证快照

信号 值
API测试套件 37 passing tests
基准情景 5
基线包中的确定性规则 3
政策来源已播种 3
策略快照已播种 1
正常化的法律碎片被播种 5
安装的MCP服务器 3
运行时提供者 2 (OpenRouter, Ollama)
撰写服务 5 (postgres, redis, minio, api, web)
Alembic迁徙 9
Docker镜像构建 verified

深度介绍

这个项目解决了什么问题

如果一个组织想在欧洲推出或继续运营人工智能系统, 最难的部分通常不是阅读《人工智能法案》的摘要。最难的部分是 将一个混乱的现实世界人工智能系统变成治理团队可以评估的东西 和防守。

这通常意味着要同时回答所有这些问题:

  • 这个系统到底是什么
  • 谁充当提供者、部署者、进口商或分销商
  • 我们有什么证据,从哪里来的
  • 涉及哪些义务
  • 冲突或缺失的事实在哪里
  • 谁审查了结果
  • 我们如何证明后来的决定

大多数“AI Act分类器”项目停止得太早。他们做法律检索 文本,给出一个整洁的答案,然后称之为完成。这很有用 原型,但这不是企业合规计划实际运作的方式。

欧盟合规是围绕监管决策支持应该着眼于 更像是一个内部治理系统,而不是聊天机器人。

用简单的英语来说这意味着什么

思考平台的最简单方法是:

  1. 一个团队为人工智能系统创建了一个案例
  2. 他们填写一份结构化的档案并上传证据
  3. 平台将这些文件解析成块并提取事实
  4. 确定性引擎根据策略规则评估案例
  5. LangGraph决定结果是否可以继续或需要人工审查
  6. 审阅者批准或拒绝机器建议
  7. 平台导出报告和审计包
  8. 以后的变化可能会引发重新评估

这就是“回答法律问题的应用程序”和 “支持真正治理过程的产品。”

为什么RAG不是核心

该存储库不将检索视为法律决策者。

  • 策略快照和规范化片段提供结构化的法律上下文
  • 确定性规则包决定当前机器的结果
  • 提取的事实被存储为显式数据,而不仅仅是提示上下文
  • 审查决定与机器输出分开保存
  • 审计导出是基于存储的记录构建的,而不是基于短暂的聊天历史

LLM在这里仍然很重要, 总结和未来的解释流程。法律结果仍然存在 确定性和可追溯性。

整个系统解释

1.产品表面

EU Comply是一种具有三个连接表面的产品:

  • FastAPI控制平面 用于案例、工件、评估、审查、报告、运行时控制、连接器、策略访问和健康/指标
  • Next.js分析师工作台 供操作员和审查人员管理实时人工智能治理案例
  • 安装的MCP服务器 用于可互操作的机器访问策略、档案和评估上下文

2.高层架构

flowchart LR
    W[Next.js Analyst Workbench] --> API[FastAPI Control Plane]
    API --> DB[(Postgres)]
    API --> REDIS[(Redis)]
    API --> OBJ[(MinIO / Artifact Storage)]
    API --> POLICY[Policy Snapshot Service]
    API --> ASSESS[Deterministic Assessment Engine]
    API --> REPORTS[Report And Audit-Pack Service]
    API --> CONNECT[Connector And Reassessment Services]
    API --> MON[Readiness And Metrics]
    ASSESS --> GRAPH[LangGraph Workflow]
    ASSESS --> RULES[Rule Pack Evaluation]
    API --> RUNTIME[LLM Runtime Gateway]
    RUNTIME --> OLLAMA[Ollama]
    RUNTIME --> OPENROUTER[OpenRouter]
    API --> MCP1[Policy MCP]
    API --> MCP2[Dossier MCP]
    API --> MCP3[Assessment MCP]

3.案例生命周期

flowchart TD
    A[Create Case] --> B[Attach Structured Dossier]
    B --> C[Upload Evidence]
    C --> D[Parse And Chunk Artifacts]
    D --> E[Extract Facts]
    E --> F[Run Deterministic Assessment]
    F --> G{Review Required?}
    G -- No --> H[Completed Workflow]
    G -- Yes --> I[Human Review Decision]
    I --> J[Approved Or Needs Changes]
    H --> K[Export Report / Audit Pack]
    J --> K
    K --> L[Connector Event Or Manual Trigger]
    L --> M[Reassessment]

4.评估案件时会发生什么

在技术层面上,评估流程目前是这样运作的:

  1. 案件档案提供了初步的结构化事实
  2. 处理后的工件有助于提取事实
  3. 相互矛盾的事实被明确标记,并可能迫使 needs_more_information
  4. 规则包服务评估合并的事实模型
  5. 匹配规则中的义务标签被映射到审阅者面临的义务中
  6. 工作流层将禁止或事实冲突的结果升级为审查要求状态
  7. 审阅者可以记录批准或请求的更改
  8. 报告导出和ZIP审核包是从持久记录生成的

5.确定性策略引擎

当前的确定性引擎在广度上故意简单,但在广度上却很强大 形状。

基线规则包目前涵盖了以下方面的代表性规则:

  • 公共空间执法中禁止的实时远程生物识别
  • 高风险就业决策支持
  • 聊天机器人交互的透明度义务

这意味着该架构已经适合企业级监管 决策,而法律图书馆仍处于早期覆盖层 可以扩展到更广泛的文章和附件覆盖范围。

6.政策知识模型

策略层存储为:

  • 政策来源 有来源类型和出处
  • 策略快照 与某个时间点相关
  • 标准化片段 带有引用、标题、演员范围和标签

种子基线快照目前包括:

  • Regulation (EU) 2024/1689
  • 委员会常见问题指南
  • 委员会标准化指南

这为平台提供了足够的结构来参考引文和出口政策 每个受控结果的上下文。

7.文档智能层

工件目前支持以下解析:

  • txt
  • md
  • json
  • pdf
  • docx
  • xlsx

已实施的管道:

  • 存储上传的工件
  • 从支持的文件类型解析文本
  • 将内容分块
  • 生成提取的候选事实
  • 使用来源元数据保存提取的事实
  • 标记冲突,而不是默默地覆盖它们

目前,提取逻辑是启发式的,并且故意保守。 这是目前正确的权衡,因为它在保持系统可解释性的同时 更广泛的规则和证据图在增长。

8.受控工作流层

LangGraph在这里用于编排,而不是用于自由形式的法律 推理。

当前工作流行为:

  • 运行确定性评估
  • 检查结果
  • 路线 prohibited 或 needs_more_information 进入明确的审查要求状态
  • 将工作流状态与评估运行分开保存

这种分离很重要。机器决策状态和治理编排 如果系统应该是可审计的,则不应将状态混为一谈。

9.审查、批准和可审计性

人工审核是一流的产品表面,而不是附加在评论框上的 LLM回答。

当前平台已经存在:

  • 评估运行
  • 工作流运行
  • 审查决定
  • 批准的结果
  • 报告导出
  • ZIP审核包
  • 重新评估触发因素
  • 连接器同步历史记录

审计包捆绑了当前工作区快照、报告工件和策略 上下文,因此治理记录可以离开正在运行的系统,而不会变成 无法追踪。

10.MCP层

该应用程序安装了三个第一方MCP服务器:

  • policy-corpus-mcp
  • system-dossier-mcp
  • assessment-mcp

这些为以下内容提供了可流式传输的HTTP表面:

  • 列出和读取策略快照
  • 搜索归一化片段
  • 阅读案例工作区
  • 列出工件、评估、工作流和评审
  • 触发确定性评估和受控工作流
  • 导出报告和审核包
  • 创建重新评估触发器

这使得该平台不仅可用作人工操作的网络产品,而且 作为机器可访问的合规基础设施。

11.LLM运行时兼容性

通过设计避免了提供商锁定。

运行时层支持:

  • 开放路由 用于托管推理
  • 奥拉玛 用于本地或自托管推理

运行时控制是组织范围的,包括:

  • 提供者发现
  • 模型发现
  • 默认聊天模式选择
  • 默认嵌入提供程序/模型选择

这很重要,因为一个严肃的治理平台不应该只需要一个供应商 路径只是为了操作。

12.监测和释放表面

后端包括:

  • 活性终点
  • 准备就绪终点
  • 经过身份验证的组织范围指标输出
  • 基准CLI
  • 策略种子CLI
  • Alembic迁徙
  • API和web的Dockerfiles
  • 适用于本地或自托管部署的全栈Docker Compose
  • 备份和还原脚本
  • 部署和发布文档

当前产品范围

此存储库中已经存在的内容

  • 跨案例、工件、评估、审查、报告、运行时、连接器和策略表面的真正FastAPI API
  • 连接到后端的实时Next.js分析控制台
  • 持续的病例、档案、人工制品、提取的事实、评估、工作流程、审查、连接器和重新评估记录
  • 基于义务映射的确定性规则评估
  • 通过LangGraph管理工作流路由
  • 安装在主应用程序内运行的MCP服务器
  • JSON、Markdown和ZIP审计包导出
  • 基准执行和操作健康表面
  • 应用程序映像和组合构建的Docker构建验证

今天有意设定的基线是什么

仍然需要深入研究的主要领域是编纂法律覆盖范围的广度。

现在,该平台证明了端到端的产品形态和受控的执行 具有基线策略快照和代表性基线规则包的模型。 这与POC不同。POC通常缺乏生产表面。这 存储库已经有了产品表面。接下来扩展的是法律 内容和基准深度。

当前结果类别

  • out_of_scope
  • prohibited
  • high_risk
  • transparency_only
  • gpai_related
  • minimal_risk
  • needs_more_information

仓库布局

eu-comply/
  apps/
    api/                  FastAPI control plane, services, migrations, tests
    web/                  Next.js analyst workbench
  fixtures/
    policies/             Seeded policy snapshot fixture
    rule_packs/           Deterministic rule-pack fixture
  packages/
    evaluation/           Golden-case benchmark fixture
  ops/
    docker/               Full-stack compose definition
    scripts/              Backup, restore, and verification helpers
  docs/
    architecture.md
    deployment.md
    release-checklist.md
    verification.md
    PROGRESS.md
    HANDOFF.md
    DECISIONS.md
  CLAUDE.md               Working memory / continuity file

详细的本地设置

先决条件

  • python 3.13
  • uv
  • Node.js 22
  • Docker桌面或其他Docker守护进程

1.安装依赖项

uv sync --directory apps/api --extra dev
npm --prefix apps/web install

2.启动基础设施

docker compose -f ops/docker/compose.full.yml up -d postgres redis minio

3.准备数据库

uv run --directory apps/api alembic upgrade head
uv run --directory apps/api python -m eu_comply_api.tools.seed_policy

4.运行API

uv run --directory apps/api uvicorn eu_comply_api.main:app --reload --app-dir src

5.运行分析师工作台

npm --prefix apps/web run dev

6.登录控制台

默认情况下,分析控制台需要以下配置的引导凭据 API环境。当前的开发流程使用种子引导 在应用程序启动期间创建的组织和管理员帐户。

控制台还接受以下任一选项:

  • 主机上的API URL,例如 http://127.0.0.1:8001
  • 或完整的API前缀,例如 http://127.0.0.1:8001/api/v1

详细部署指南

发布打包已在此存储库中实现。

构建个人图像

docker build -f apps/api/Dockerfile -t eu-comply-api:latest .
docker build -f apps/web/Dockerfile -t eu-comply-web:latest .

构建完整堆栈

docker compose -f ops/docker/compose.full.yml build

运行整个堆栈

docker compose -f ops/docker/compose.full.yml up -d

如果默认的localhost端口已被占用,则compose文件现在支持 通过环境变量进行端口重写,例如:

$env:EU_COMPLY_API_PORT='8001'
docker compose -f ops/docker/compose.full.yml up -d

包括部署资产

  • apps/api/Dockerfile
  • apps/web/Dockerfile
  • ops/docker/compose.full.yml
  • apps/api/.env.example
  • apps/web/.env.example
  • ops/scripts/backup.ps1
  • ops/scripts/restore.ps1

验证和质量

已验证的命令

uv run --directory apps/api ruff check .
uv run --directory apps/api pytest
uv run --directory apps/api python -m eu_comply_api.tools.run_benchmarks
$env:EU_COMPLY_DATABASE_URL='sqlite+aiosqlite:///D:/Mehul-Projects/AI Act Risk Classifier Agent with MCP + LangGraph/apps/api/alembic-verify.db'
uv run --directory apps/api alembic upgrade head
uv run --directory apps/api python -m eu_comply_api.tools.seed_policy
npm --prefix apps/web run lint
npm --prefix apps/web run build
docker build -f apps/api/Dockerfile -t eu-comply-api:verify .
docker build -f apps/web/Dockerfile -t eu-comply-web:verify .
docker compose -f ops/docker/compose.full.yml build
docker compose -f ops/docker/compose.full.yml config

电流验证读数

  • API皮棉道次
  • API测试通过 36 passed
  • 基准CLI通过 accuracy = 1.0 论回购黄金时段
  • Alembic干净地升级 009_connector_reassessment
  • 策略种子CLI在干净的验证数据库上成功
  • 网棉绒通过
  • web生产构建通过
  • API Docker镜像构建通过
  • web Docker镜像构建过程
  • 编写构建过程
  • 使用上可访问的API验证完整的本地主机堆栈部署 8001 以及可在上访问的web应用程序 3000

当前基准意味着什么

目前的基准还不足以要求广泛的法律覆盖。 它确实表明了确定性引擎、夹具结构和 回归工具已到位且可重复。

这种区别很重要。质量声明应保持诚实。

开发说明

核心决策

  • 法律决策保持确定性和可追溯性
  • LLM的使用与提供者无关
  • Ollama 对于本地和自主机部署来说是一流的
  • OpenRouter 对于托管部署来说是一流的
  • MCP是一个产品接口,而不是一个辅助实验
  • 通过将机器运行、工作流运行和人工审批分开来保持可审计性

为什么这个仓库不是玩具演示

即使有基线规则覆盖,存储库也已经包含了这些系统 玩具演示通常会跳过:

  • 迁移
  • 身份验证和租户边界
  • 伪影持久性
  • 实时操作员界面
  • 受控编排
  • 审计包导出
  • MCP服务器
  • 运行时抽象
  • 基准
  • 健康和指标
  • Docker打包
  • 部署就绪打包

诚实的下一条扩张之路

如果此项目继续超出当前验证的版本,则最高值 接下来的步骤是:

  1. 将策略快照和规则包扩展到更广泛的《人工智能法案》文章和附件中
  2. 深化提取事实本体论与证据冲突处理
  3. 扩大基准和对抗性评价语料库
  4. 添加更丰富的审阅者工作流状态、通知和企业连接器

参考文献