使用说明
多域工具第一聊天机器人
生产型FastAPI+LangGraph聊天机器人,跨三个域路由:
- 通过MCP价格服务器进行电子商务价格比较
- 通过MCP财务服务器获取财务/股票信息(仅供参考)
- 使用具有user_id范围的私人用户库(RAG)进行饮食/营养问答
快速入门
Windows(CMD)
-
创建venv+安装:
cd D:\Users\achelladurai\Downloads\C_MCP python -m venv .venv .\.venv\Scripts\activate.bat python -m pip install --upgrade pip pip install -r requirements.txt -
设置环境变量(CMD) 对于此终端会话:
set OPENAI_API_KEY=sk-REPLACE_WITH_YOUR_KEY set LANGCHAIN_TRACING_V2=true set LANGSMITH_API_KEY=ls-REPLACE_IF_YOU_USE_LANGSMITH set LANGSMITH_PROJECT=multi-domain-chatbot可选(如果您愿意
.env):创建.env在repo根目录中手动执行以下操作:OPENAI_API_KEY=sk-REPLACE_WITH_YOUR_KEY LANGCHAIN_TRACING_V2=true LANGSMITH_API_KEY=ls-REPLACE_IF_YOU_USE_LANGSMITH LANGSMITH_PROJECT=multi-domain-chatbot -
从以下内容构建本地饮食库指数(FAISS)
data/user_vault/u123.txt:python -m src.rag.vault_store -
启动服务器(打开3个单独的CMD窗口):
-
窗口A(价格MCP):
cd D:\Users\achelladurai\Downloads\C_MCP .\.venv\Scripts\activate.bat python -m mcp_servers.price_server.server -
窗口B(金融MCP;实时报价使用Screener HTML):
cd D:\Users\achelladurai\Downloads\C_MCP .\.venv\Scripts\activate.bat python -m mcp_servers.finance_server.server -
窗口C(主要API):
cd D:\Users\achelladurai\Downloads\C_MCP .\.venv\Scripts\activate.bat uvicorn src.app.main:app --reload
-
-
测试:
curl -X POST http://127.0.0.1:8000/chat ^ -H "Content-Type: application/json" ^ -d "{\"user_id\":\"u123\",\"session_id\":\"s456\",\"query\":\"Show TCS last 30 days trend and summarize latest news\",\"locale\":\"en-IN\"}"
端点
POST /chat身体:{"user_id":"u123","session_id":"s456","query":"Is paneer okay for dinner?","locale":"en-IN"}
返回结构化JSON,包括路由、答案、引用、tool_calls、拒绝和meta(延迟/令牌占位符)。
备注
- 由env变量控制的LangSmith追踪(
LANGCHAIN_TRACING_V2=true,LANGSMITH_API_KEY,LANGSMITH_PROJECT). - MCP服务器使用模拟的夹具,但强制执行Pydantic模式和确定性输出。
- 饮食路线总是执行按user_id过滤的保险库检索(FAISS,顶部K=4);其他路线永远不会触及金库。