使用说明
MCP代理人工智能系统
一个全面的人工智能系统,使用机器学习模型和智能代理预测员工流失。该系统结合了基于FastAPI的机器学习服务、MCP(模型上下文协议)工具和BeeAI框架代理,以提供具有自然语言解释的智能流失预测。
🏗️ 建筑
该系统由三个主要部分组成:
- ML API服务器 (
mlapi/)-使用经过训练的随机森林模型的FastAPI服务 - MCP服务器 (
employee/)-将ML预测作为工具公开的模型上下文协议服务器 - AI 代理 (
singleflowagent.py)-BeeAI框架代理,负责协调预测并提供解释
📁 项目结构
MCP-server/
├── mlapi/ # ML API Server
│ ├── mlapi.py # FastAPI application with churn prediction endpoint
│ ├── requirements.txt # Python dependencies for ML service
│ └── rfmodel.pkl # Trained Random Forest model
├── employee/ # MCP Server & Agent Environment
│ ├── server.py # MCP server exposing PredictChurn tool
│ ├── singleflowagent.py # BeeAI agent implementation
│ ├── pyproject.toml # Project dependencies (BeeAI, MCP, etc.)
│ ├── uv.lock # Dependency lock file
│ └── README.md # Employee module documentation
├── singleflowagent.py # Main agent script (root level)
└── README.md # This file
🚀 特性
- 机器学习预测:为员工流失预测训练的随机森林模型
- MCP集成:通过模型上下文协议将ML功能作为工具公开
- AI 代理:使用机器学习预测并提供自然语言解释的智能代理
- RESTful API:基于FastAPI的ML服务,具有JSON端点
- 异步处理:完全异步的代理工作流
- 错误处理:强大的错误处理和优雅的回退
🛠️ 设置和安装
先决条件
- Python 3.13+
- Ollama(用于LLM功能)
- UV包管理器
1.ML API服务器设置
# Install ML dependencies
cd mlapi
pip install -r requirements.txt
# Start the ML API server
uvicorn mlapi:app --reload
API将在 http://localhost:8000
2.MCP服务器和代理设置
# Navigate to employee directory
cd employee
# Install dependencies using UV
uv sync
# Activate virtual environment
source .venv/bin/activate
3.Ollama设置
# Install and start Ollama
ollama serve
# Pull the required model
ollama pull granite3.1-dense:8b
🎯 用法
运行完整系统
- 启动ML API服务器 (1号航站楼):
cd mlapi
uvicorn mlapi:app --reload
- 启动MCP服务器 (2号航站楼):
cd employee
source .venv/bin/activate
uv run mcp run server.py
- 运行AI代理 (3号航站楼):
source employee/.venv/bin/activate
python singleflowagent.py
API终点
ML API-Churn预测
POST http://localhost:8000
Content-Type: application/json
{
"YearsAtCompany": 3.5,
"EmployeeSatisfaction": 0.85,
"Position": "Manager",
"Salary": 4
}
答复:
{
"prediction": 1
}
MCP工具
MCP服务器公开了以下工具:
- 预测客户流失:根据员工属性预测员工流失
🤖 AI代理功能
BeeAI代理提供:
- 智能分析:将ML预测与领域知识相结合
- 自然语言解释:为预测提供详细的推理
- 工具集成:无缝使用MCP工具进行机器学习预测
- 错误处理:服务不可用时的优雅回退
- 流媒体响应:实时处理和响应生成
代理交互示例
输入:
employee_sample = {
"YearsAtCompany": 1,
"EmployeeSatisfaction": 0.01,
"Position": "Non-Manager",
"Salary": 2.0
}
代理响应:
“根据提供的数据,该员工流失的可能性很低。该员工在公司只工作了一年,这通常是离职率较高的时候。然而,他们的员工满意度得分很高,为0.01,表明他们非常满意。此外,他们担任非管理职位,工资高于平均水平(2.0)。这些因素表明,员工可能对目前的角色和薪酬感到满意,从而降低了流失的风险。”
🔧 配置
模型参数
系统使用以下员工属性进行预测:
- 公司年份:浮动-工作年限
- 员工满意度:浮动(0.0-1.0)-满意度得分
- 位置:String-“管理者”或“非管理者”
- 薪水:整数(1-5)-普通薪级表
代理配置
代理配置了:
- 模型:
ollama:granite3.1-dense:8b - 最大迭代次数: 3
- 流媒体:已启用
- 工具:MCP预测转换工具
🛡️ 错误处理
该系统包括全面的错误处理:
- ML API不可用:代理人回归法学硕士知识
- MCP工具故障:优雅的错误处理和重试逻辑
- LLM错误:正确的错误传播和记录
- 网络问题:超时处理和连接重试
📊 使用的技术
ML API
- 快速 API:Web框架
- 熊猫:数据操作
- Scikit学习:机器学习
- 派丹蒂克:数据验证
- 泡菜:模型序列化
MCP服务器
- FastMCP:MCP服务器框架
- 请求::HTTP客户端
- 对象符号:数据序列化
AI 代理
- BeeAI框架:代理编排
- 没有:本地法学硕士
- MCP客户端:工具集成
- 异步:异步处理
🚦 系统状态
要检查是否所有服务都在运行,请执行以下操作:
# Check ML API
curl http://localhost:8000/docs
# Check MCP Server
ps aux | grep "mcp.*server.py"
# Check Ollama
ollama ps
🔄 发展
添加新功能
- 新的机器学习模型:添加到
mlapi/mlapi.py - 新MCP工具:添加到
employee/server.py - 代理行为:修改
singleflowagent.py
调试
通过在代理代码中添加print语句或使用内置的BeeAI日志系统启用调试日志记录。
📝 许可证
该项目是MCP(模型上下文协议)生态系统的一部分,遵循Apache 2.0许可证。