🏦 银行代理
建立银行代理系统 模型上下文协议(MCP) 服务器架构和 LangGraph,具有多LLM支持。
______________________________________________________________________
🌟 特性
- ✅ 账户管理:跨类型(支票、储蓄、投资)的全面账户信息。
- ✅ 平衡操作:检查余额,计算投资组合总价值,查看交易历史。
- ✅ 市场数据:通过雅虎财经实时跟踪股票价格和商品(黄金、白银)。
- ✅ 多LLM支持:与Azure OpenAI、Gemini、Ollama(本地)和OpenAI的本地集成。
______________________________________________________________________
⚙️ 安装
- 克隆并导航到项目:
cd BankingAgent- 使用安装依赖项 紫外线:
uv sync- 配置环境变量:
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文件)
🧩 手动设置(替代)
在单独的终端中运行这些:
- MCP服务器:
uv run python -m mcp_server.main(端口8001) - 代理服务:
uv run python -m mcp_client.agent_service(端口8000) - 前端:
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许可证
