MCP Agent Platform
by rolenet
Verified
# MCP智能体平台
## 项目简介
这是一个基于多智能体架构的人机交互系统,集成了视觉识别、语音识别和语音合成等功能。系统由多个专门的智能体协同工作,实现了自然的人机交互体验。给大模型增加眼睛和耳朵和嘴巴!
## 系统架构
系统采用分布式多智能体架构,通过MCP(Multi-agent Communication Protocol)协议实现智能体间的高效通信和协作。
### 智能体
- **大脑智能体 (Brain Agent)**
- 负责系统的核心决策和协调
- 处理来自其他智能体的信息
- 集成Ollama大模型API,实现多模态理解和生成
- 管理智能体状态和任务调度
- **视觉智能体 (Eye Agent)**
- 处理视觉输入
- 实现人脸检测和识别
- 支持实时视频流处理
- 生成图像分析结果
- **听觉智能体 (Ear Agent)**
- 处理音频输入
- 实现语音识别
- 支持实时语音流处理
- 提供噪声抑制和信号增强
- **发声智能体 (Mouth Agent)**
- 负责语音输出
- 实现语音合成
- 支持情感语音合成
- 提供自然的语音交互体验
### 通信机制
系统采用基于WebSocket的实时通信机制,通过MCP协议实现智能体间的消息传递:
1. **消息类型**
- 文本消息(TextMessage)
- 图像消息(ImageMessage)
- 音频消息(AudioMessage)
- 命令消息(CommandMessage)
- 状态消息(StatusMessage)
2. **消息路由**
- 基于发送者和接收者ID的消息路由
- 支持广播和点对点通信
- 实现消息的可靠传递和确认机制
3. **状态管理**
- 智能体状态实时监控
- 系统资源动态分配
- 任务队列优先级管理
### 技术原理
#### 人脸识别技术
系统采用深度学习模型实现人脸识别功能:
1. **人脸检测**
- 使用MTCNN(Multi-task Cascaded Convolutional Networks)级联卷积神经网络
- 通过P-Net、R-Net和O-Net三级网络实现人脸检测和关键点定位
- 实时处理视频流,支持多人脸同时检测
2. **特征提取**
- 采用FaceNet深度学习模型提取128维人脸特征向量
- 使用Triplet Loss训练策略优化特征提取
- 实现人脸对齐和归一化处理
3. **相似度计算**
- 使用余弦相似度计算特征向量距离
- 设定动态阈值进行身份匹配
- 实现特征向量索引和快速检索
#### 语音处理技术
1. **语音识别**
- 使用Wav2Vec预训练模型进行特征提取
- 采用CTC(Connectionist Temporal Classification)解码算法
- 集成中文语音识别模型,支持实时转写
2. **语音合成**
- 基于FastSpeech2实现端到端语音合成
- 使用HiFiGAN声码器生成高质量音频
- 支持情感控制和语速调节
#### 多模态处理
1. **特征融合**
- 实现视觉和语音特征的多模态融合
- 使用Attention机制进行跨模态对齐
- 支持多模态信息的协同理解
2. **上下文管理**
- 维护多轮对话历史
- 实现跨模态信息的关联分析
- 动态更新对话状态
### 大模型集成
系统集成了Ollama大模型API,实现了多模态智能处理。系统根据不同任务类型配置相应的模型:
1. **模型配置**
- 文本处理:使用qwen2模型
- 图像处理:使用gemma3:4b模型,支持多模态处理
- 音频处理:使用qwen2模型,temperature参数设为0.5
2. **功能实现**
- **图像理解**
- 场景分析和物体识别
- 人脸特征提取和情感分析
- 图像描述生成
- **对话生成**
- 上下文感知的对话管理
- 多轮对话历史维护
- 个性化回复生成
- **多模态融合**
- 图文结合的场景理解
- 语音和文本的双向转换
- 多模态信息的综合分析
3. **配置示例**
```python
# Ollama模型配置
OLLAMA_BASE_URL = "http://127.0.0.1:11434"
# 不同类型任务的模型配置
MODEL_CONFIG = {
"text": {
"model": "qwen2", # 文本处理模型
"params": {}
},
"image": {
"model": "gemma3:4b", # 图像处理模型
"params": {},
"multimodal": True
},
"audio": {
"model": "qwen2", # 音频处理模型
"params": {"temperature": 0.5}
}
}
```
### 核心功能
1. **人脸识别**
- 实时人脸检测和识别
- 人物信息数据库管理
- 人脸特征提取和匹配
- 陌生人识别和记录
2. **语音交互**
- 中文语音识别
- 语音合成输出
- 实时语音对话
- 情感语音合成
3. **Web界面**
- 可视化机器人界面
- 实时状态显示
- 交互式控制面板
- 系统监控仪表盘
## 安装说明
### 环境要求
- Python 3.10+
- Windows/Linux/MacOS
### 安装步骤
1. 克隆项目
```bash
git clone [repository-url]
cd mcpTest
```
2. 安装依赖
```bash
pip install -r requirements.txt
```
### 配置说明
在`config.py`中可以配置以下参数:
- 服务器配置
- 智能体参数
- 模型设置
- 语音识别参数
## 使用说明
### 启动系统
1. 运行主程序
```bash
python main.py
```
2. 访问Web界面
```
http://localhost:8070
```
### 功能使用
1. **人脸识别**
- 系统会自动检测和识别摄像头中的人脸
- 首次识别的人脸会被自动记录
2. **语音交互**
- 系统支持中文语音识别
- 可以通过语音与系统进行对话
## 技术栈
- **后端**
- Python
- FastAPI
- WebSocket
- OpenCV
- SpeechRecognition
- pyttsx3
- **前端**
- HTML/CSS
- JavaScript
- WebSocket
## 目录结构
```
├── config.py # 配置文件
├── main.py # 主程序
├── requirements.txt # 依赖清单
├── src/
│ ├── agents/ # 智能体实现
│ ├── brain/ # 大脑逻辑
│ ├── platform/ # 平台核心
│ ├── utils/ # 工具函数
│ └── web/ # Web服务
├── static/ # 静态资源
└── templates/ # 页面模板
```