Banking_assistant银行助手
为银行聊天机器人和Azure OpenAI之间的交流实现了一个安全的消息通信协议,提供消息排队、可靠性以及详细的日志记录功能。
服务介绍
集成 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)
安装
-
克隆仓库:
git clone <repository-url> cd banking-chatbot -
创建并激活虚拟环境:
python -m venv venv source venv/bin/activate # 在 Windows 上: venv\Scripts\activate -
安装依赖项:
pip install -r requirements.txt -
创建包含凭据的
.env文件:ENDPOINT_URL=your_azure_endpoint AZURE_OPENAI_API_KEY=your_api_key DEPLOYMENT_NAME=your_deployment_name
使用
-
启动 MCP 服务器:
python mcp_server.py -
在新的终端中启动 Flask 应用程序:
python app.py -
在
http://localhost:5000访问聊天机器人界面
MCP 协议
模型上下文协议 (MCP) 实现了聊天机器人与服务器之间的消息通信。它提供了:
- 安全的消息传输
- 消息排队和可靠性
- 详细日志记录
- 实时消息处理
消息类型
- 聊天消息:用户查询和 AI 回复
- 系统消息:管理及控制消息
日志记录
应用程序在 logs 目录中维护详细日志:
client_messages.log:聊天消息历史mcp_client.log:客户端连接和操作日志mcp_server.log:服务器操作日志
银行信息
聊天机器人配置了包括以下内容在内的全面银行信息:
- 营业时间
- 分行位置
- 可用服务
- 联系信息
- 支持渠道
开发
添加新功能
- 更新
app.py中的BANK_INFO字典以添加新的银行信息 - 修改
SYSTEM_MESSAGE以更新 AI 行为 - 在
mcp_client.py中添加新的消息处理器以增加额外功能
测试
运行测试客户端以验证 MCP 功能:
python test_client.py
清除日志以便测试:
python clear_logs.py
安全性
- API 密钥和其他敏感信息存储在
.env文件中 - MCP 提供安全的消息传输
- 实现了输入验证和错误处理
贡献
请按照 贡献指南 进行参与。
- Fork 仓库
- 创建特性分支
- 提交你的更改
- 推送到分支
- 创建 Pull Request
许可证
本项目采用 MIT 许可证 - 详情请参见 LICENSE 文件。