银行代理系统

一个基于Model Context Protocol (MCP)服务器架构和LangGraph构建的银行代理系统,支持多LLM集成,提供账户管理、余额操作和实时市场数据功能。

  • by d1pankarmedhi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 d1pankarmedhi/BankingAgent

使用说明

🏦 银行代理

建立银行代理系统 模型上下文协议(MCP) 服务器架构和 LangGraph,具有多LLM支持。


🌟 特性

  • ✅ 账户管理:跨类型(支票、储蓄、投资)的全面账户信息。
  • ✅ 平衡操作:检查余额,计算投资组合总价值,查看交易历史。
  • ✅ 市场数据:通过雅虎财经实时跟踪股票价格和商品(黄金、白银)。
  • ✅ 多LLM支持:与Azure OpenAI、Gemini、Ollama(本地)和OpenAI的本地集成。

⚙️ 安装

  1. 克隆并导航到项目:

    cd BankingAgent
    
  2. 使用安装依赖项 紫外线:

    uv sync
    
  3. 配置环境变量:

    cp .env .env.local
    # Edit .env.local with your API keys and provider settings
    

🛠️ 配置

LLM提供商选择

设置 LLM_PROVIDER 环境变量为以下之一: azure_openai, gemini, ollama,或 openai.

提供商特定设置

  • Azure OpenAI: AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_DEPLOYMENT_NAME
  • 谷歌双子座: GOOGLE_API_KEY, GEMINI_MODEL
  • 奥拉玛: OLLAMA_BASE_URL, OLLAMA_MODEL
  • OpenAI: OPENAI_API_KEY, OPENAI_MODEL

🚀 运行系统

⚡ 使用管理脚本(推荐)

这 manage.sh 该脚本处理服务编排,并使用流程组实现健壮的终止。

# Start all services (MCP, Agent, and UI)
./manage.sh start

# Check status of all running components
./manage.sh status

# Stop all services and their child processes
./manage.sh stop

常用命令:

  • start [mcp|agent|ui|all]
  • stop [mcp|agent|ui|all]
  • restart [mcp|agent|ui|all]
  • logs [mcp|agent|ui|all] [lines]
  • clean (删除日志和PID文件)

🧩 手动设置(替代)

在单独的终端中运行这些:

  1. MCP服务器: uv run python -m mcp_server.main (端口8001)
  2. 代理服务: uv run python -m mcp_client.agent_service (端口8000)
  3. 前端: cd frontend && npm run dev (端口5173)

🛠️ 发展

  • 添加工具:在中创建新工具 mcp_server/tools/,实施 register(mcp),并添加到 mcp_server/main.py.
  • 切换LLM:无需更改代码,只需更新即可 LLM_PROVIDER 在你的 .env.

🔧 故障排除

  • MCP连接错误:确保服务器位于端口上 8001.
  • LLM错误:验证提供程序密钥,并确保您的模型支持工具调用。
  • 孤儿进程: manage.sh stop 现在使用 进程组 以确保Vite和其他子进程被正确杀死。如果手动流程持续存在,请使用 pkill -f vite.

📄 许可证

MIT许可证