B

Banking_assistant银行助手

@Abhinav-pyth/Banking_assistant
0 Stars 22 次浏览 Abhinav-pyth 更新于 2026-08-23

为银行聊天机器人和Azure OpenAI之间的交流实现了一个安全的消息通信协议,提供消息排队、可靠性以及详细的日志记录功能。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

集成 MCP 的银行聊天机器人

一个使用 Azure OpenAI 和模型上下文协议 (MCP) 来实现安全高效消息处理的高级银行聊天机器人应用程序。

功能

  • AI 驱动的银行助手:使用 Azure OpenAI 为银行查询提供智能回复
  • 模型上下文协议 (MCP):实现安全的消息通信协议
  • 实时聊天界面:现代响应式用户界面,实现无缝用户交互
  • 全面的日志记录:详细的日志系统用于监控和调试
  • 银行信息集成:动态显示银行详情和服务
  • Markdown 支持:富文本格式化回复

项目结构

.
├── app.py                  # Main Flask application
├── mcp_server.py          # MCP server implementation
├── mcp_client.py          # MCP client implementation
├── requirements.txt       # Python dependencies
├── .env                   # Environment variables
├── templates/             # HTML templates
│   └── index.html        # Chat interface
└── logs/                 # Log files
    ├── client_messages.log
    ├── mcp_client.log
    └── mcp_server.log

前提条件

  • Python 3.8 或更高版本
  • Azure OpenAI API 访问权限
  • 所需的 Python 包(参见 requirements.txt)

安装

  1. 克隆仓库:

    git clone <repository-url>
    cd banking-chatbot
    
  2. 创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate  # 在 Windows 上: venv\Scripts\activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    
  4. 创建包含凭据的 .env 文件:

    ENDPOINT_URL=your_azure_endpoint
    AZURE_OPENAI_API_KEY=your_api_key
    DEPLOYMENT_NAME=your_deployment_name
    

使用

  1. 启动 MCP 服务器:

    python mcp_server.py
    
  2. 在新的终端中启动 Flask 应用程序:

    python app.py
    
  3. http://localhost:5000 访问聊天机器人界面

MCP 协议

模型上下文协议 (MCP) 实现了聊天机器人与服务器之间的消息通信。它提供了:

  • 安全的消息传输
  • 消息排队和可靠性
  • 详细日志记录
  • 实时消息处理

消息类型

  • 聊天消息:用户查询和 AI 回复
  • 系统消息:管理及控制消息

日志记录

应用程序在 logs 目录中维护详细日志:

  • client_messages.log:聊天消息历史
  • mcp_client.log:客户端连接和操作日志
  • mcp_server.log:服务器操作日志

银行信息

聊天机器人配置了包括以下内容在内的全面银行信息:

  • 营业时间
  • 分行位置
  • 可用服务
  • 联系信息
  • 支持渠道

开发

添加新功能

  1. 更新 app.py 中的 BANK_INFO 字典以添加新的银行信息
  2. 修改 SYSTEM_MESSAGE 以更新 AI 行为
  3. mcp_client.py 中添加新的消息处理器以增加额外功能

测试

运行测试客户端以验证 MCP 功能:

python test_client.py

清除日志以便测试:

python clear_logs.py

安全性

  • API 密钥和其他敏感信息存储在 .env 文件中
  • MCP 提供安全的消息传输
  • 实现了输入验证和错误处理

贡献

请按照 贡献指南 进行参与。

  1. Fork 仓库
  2. 创建特性分支
  3. 提交你的更改
  4. 推送到分支
  5. 创建 Pull Request

许可证

本项目采用 MIT 许可证 - 详情请参见 LICENSE 文件。