项目简介
该项目是一个金融风险与合规管理的智能体系统,结合了 Agent-to-Agent (A2A) 协议和 Model Context Protocol (MCP) 服务器架构。其核心是通过MCP服务器提供对法规文档的 Retrieval-Augmented Generation (RAG) 能力和对大语言模型的访问,使多个协作智能体能够自动进行合规性分析、生成风险报告,并通过用户界面展示结果。
主要功能点
- 法规文档检索 (RAG): MCP服务器负责索引法规PDF文件,并根据查询进行高效的语义搜索,提取相关上下文。
- 大语言模型 (LLM) 集成: MCP服务器提供接口供智能体调用LLM生成风险评估和合规性分析结果。
- 多智能体协作: 不同的智能体(如档案检查、风险报告、合规查询)通过A2A协议交互,共同完成分析任务。
- 交互式用户界面: 提供一个Streamlit界面,方便用户上传法规、选择客户、提交查询并查看详细的合规报告和引用来源。
- 风险评估: 系统能够根据客户信息和查询,评估潜在风险等级。
- 引用溯源: 报告结果包含来自法规文档的引用片段,增强透明度和可信度。
安装步骤
- 克隆仓库:
git clone https://github.com/Pyligent/A2A-MCP-Compilance-Check.git cd A2A-MCP-Compilance-Check - 安装依赖: 确保你已安装 Python 3.8+,然后安装所需库。
pip install -r requirements.txt - 准备法规文件: 将你的法规PDF文件放入项目的 'data/' 目录下。仓库已提供示例文件。
- 准备客户档案: 将客户信息JSON文件放入项目的 'client/' 目录下。仓库已提供示例文件。
- 设置环境变量: 配置必要的API密钥,例如 OpenAI API Key。可以在运行命令前设置,或者在项目根目录创建 '.env' 文件并添加 'OPENAI_API_KEY=your-openai-api-key'。
服务器配置
这个项目中的MCP服务器是一个独立运行的后端服务。对于需要连接到此MCP服务器的客户端(例如 MCP 客户端库、其他应用程序或本项目的智能体),其配置信息通常需要包含服务器的启动方式和连接地址。
根据项目实现,启动MCP服务器的命令是 'python mcp_server.py',它默认运行在 'localhost:5000'。
假设您使用一个标准的MCP客户端库来连接,其配置方式(通常是 JSON 格式)可能类似如下,客户端会根据此信息来启动或查找并连接到MCP服务器:
{ "name": "FinancialComplianceMCP", // 服务器名称,用于标识 "command": "python", // 执行服务器的命令 "args": ["mcp_server.py"], // 传递给命令的参数 "cwd": "/path/to/your/A2A-MCP-Compilance-Check", // 服务器的运行目录(需要替换为你的实际路径) "env": { // 运行服务器所需的环境变量 "OPENAI_API_KEY": "your-api-key" // 例如API密钥,需要替换 }, "transport": "http", // 通信协议类型,本项目使用HTTP "port": 5000 // 服务器监听的端口 }
请注意,实际的MCP客户端库会读取这样的配置来管理服务器进程和建立连接。在本项目的实现中,客户端(Streamlit UI 和 Agents)直接硬编码了服务器的HTTP地址进行通信。
基本使用方法
- 启动MCP服务器: 打开一个终端,运行:
等待服务器启动,会看到日志输出。python mcp_server.py - 启动智能体: 打开另外三个终端,分别运行:
等待所有智能体启动。python agents/agent1_profile_checker.py python agents/agent2_risk_reporter.py python agents/agent3_compliance_querier.py - 运行用户界面: 打开第四个终端,运行:
streamlit run app.py - 访问应用: 在浏览器中打开 http://localhost:8501。
- 使用界面:
- 在侧边栏选择一个客户档案。
- 在侧边栏可以配置RAG参数(如分块大小)。
- 在左侧面板查看当前法规文件状态,如果未索引,点击“Process Regulation Files”按钮进行索引。
- 在右侧面板的输入框中输入你的合规性查询。
- 点击“Check Compliance”按钮,系统将调用智能体和MCP服务器进行分析。
- 结果(风险评估、合规结论、上下文和引用)将显示在右侧面板。
信息
分类
商业系统