# 多模态智能体助手系统 **Repository Path**: advancer-debug/AI_Agent ## Basic Information - **Project Name**: 多模态智能体助手系统 - **Description**: 基于Qwen2.5-7B大模型,结合LangChain框架开发了一个多模态智能体助手系统。通过FastAPI+Streamlit构建了完整的三层架构,集成了语音交互、文档分析、图像生成等8大功能模块,为用户提供全方位的AI智能服务。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-05 - **Last Updated**: 2025-12-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多模态智能体助手项目 ## 项目概述 一个功能丰富的多模态智能体助手系统,集成了多种AI工具和功能,支持自然语言对话、文档分析、图像生成、语音交互等能力。 ## 项目架构 ### 三层架构设计 1. **前端UI层** (`前端UI层.py`) - 基于Streamlit的Web界面 - 支持实时聊天和文件上传 - 多模态内容展示(文本、图片等) 2. **后端服务器层** (`后端服务器层.py`) - FastAPI框架提供RESTful API - 流式响应支持 - 记忆管理接口 3. **大模型层** (`大模型层.py`) - 基于LangChain的智能体系统 - React Agent架构 - 对话记忆管理 ## 核心功能模块 ### 🤖 智能对话系统 - 基于Qwen2.5-7B大语言模型 - 支持上下文记忆(5轮对话) - 工具调用决策机制 ### 🛠️ 工具集集成 #### 1. 天气查询 (`tool_1_天气查询.py`) - 实时城市天气信息 - 自动定位支持 #### 2. 时间获取 (`tool_2_时间获取.py`) - 系统时间查询 - 格式化时间显示 #### 3. 联网搜索 (`tool_3_联网搜素.py`) - 百度搜索引擎集成 - 搜索结果清洗和摘要 #### 4. 定位获取 (`tool_4_定位获取.py`) - IP地址定位 - 高德地图API集成 #### 5. 语音助手 (`tool_5_语音助手.py`) - 语音唤醒词检测("小布小布") - 语音识别和合成 - 完整的语音交互流程 #### 6. 文生图 (`tool_6_文生图.py`) - 基于硅基流动API的图像生成 - Prompt自动优化 - 多种尺寸支持 #### 7. 文本摘要 (`tool_7_文本摘要.py`) - 智能文本摘要 - 三种摘要模式:通用、要点、简洁 - 压缩比例统计 #### 8. 文档智能分析 (`tool_8_文档智能分析.py`) - RAG检索增强生成 - 多格式文档支持(PDF、DOCX、TXT、MD、Excel) - 智能问题分类和回答 ## 技术特性 ### 🔧 技术栈 - **大模型**: Qwen2.5-7B-Instruct (硅基流动平台) - **框架**: LangChain, FastAPI, Streamlit - **向量数据库**: Chroma - **嵌入模型**: BGE-small-zh - **语音处理**: Vosk, Edge-TTS, PyAudio ### 🎯 智能特性 - 工具调用自动决策 - 问题类型智能分类 - 多轮对话记忆 - 流式响应输出 - 文档内容智能检索 ## 安装和运行 ### 环境要求 - Python 3.8+ - 相关依赖包 ### 依赖安装 ```bash pip install -r requirements.txt ``` 如果没有requirements.txt,请安装以下核心依赖: ```bash pip install streamlit fastapi uvicorn langchain langchain-openai requests pyaudio pygame pydub edge-tts vosk pypinyin baidusearch langchain-community chromadb ``` ### 模型文件准备 #### 1. 语音识别模型 (必需) 项目已包含Vosk中文小模型: - 路径: `models/vosk-model-small-cn-0.22/` - 用于语音唤醒词检测和语音识别 - 包含完整的模型文件结构 #### 2. 文本嵌入模型 (必需) 项目已包含BGE-small-zh模型: - 路径: `bge_small_zh/` - 用于文档向量化和语义检索 - 包含完整的模型文件 ### 启动步骤 1. **启动后端服务器** ```bash python 后端服务器层.py ``` 服务器将在 http://127.0.0.1:6788 启动 2. **启动前端界面** (新终端) ```bash streamlit run 前端UI层.py ``` 访问显示的本地URL使用界面(通常是 http://localhost:8501) ### API密钥配置 项目需要配置以下API密钥(在代码中已预设,建议替换为自己的密钥): - **硅基流动API** (大模型和文生图) - 大模型层: `sk-talrfpdubittuoctscpxqyuhotkkqgcmuxrxxlmmhkqpzlxd` - 文生图: `sk-ncypgcuyxkwbiodlyvpmhjijzhdnbywscircxmcocjafeeni` - 语音识别: `sk-wpoklkylxjpjsvynzbncspkcbjsgrworwlfkfzlzigdvjdce` - **高德地图API** (定位服务) - 定位获取: `ab7f6cde289b5ed1ee0fda5d7c653cf0` ## 使用指南 ### 基础聊天 1. 在聊天框输入问题 2. 系统自动判断是否需要工具调用 3. 获取实时响应 ### 文档分析 1. 在侧边栏上传文档(PDF/DOCX/TXT/MD) 2. 系统自动处理并构建知识库 3. 提问关于文档内容的问题 ### 语音交互 1. 输入"语音交互"或"开启语音模式" 2. 说出唤醒词"小布小布" 3. 语音输入问题(5秒录音) 4. 系统语音回复并显示识别结果 ### 图像生成 1. 描述想要的图像内容(中文或英文) 2. 系统自动优化prompt并生成 3. 在界面查看生成的图片 ### 其他功能 - **天气查询**: "北京天气"、"上海温度" - **时间查询**: "现在几点"、"当前时间" - **联网搜索**: "搜索人工智能最新发展" - **文本摘要**: 提供长文本进行智能摘要 ## 完整项目结构 ``` 项目根目录/ ├── 大模型层.py # 核心智能体逻辑 ├── 后端服务器层.py # API服务器 ├── 前端UI层.py # 用户界面 ├── models/ │ └── vosk-model-small-cn-0.22/ # 语音识别模型(已包含) │ └── bge_small_zh/ # 文本嵌入模型(已包含) ├── tools/ # 工具模块 │ ├── tool_1_天气查询.py │ ├── tool_2_时间获取.py │ ├── tool_3_联网搜素.py │ ├── tool_4_定位获取.py │ ├── tool_5_语音助手.py │ ├── tool_6_文生图.py │ ├── tool_7_文本摘要.py │ └── tool_8_文档智能分析.py ├── temp/ # 临时文件目录(自动创建) ├── vector_store/ # 向量数据库存储(自动创建) └── README.md # 项目说明文档 ``` ## 配置说明 ### 模型配置 - **大模型**: Qwen2.5-7B-Instruct (硅基流动平台) - **嵌入模型**: bge-small-zh (本地加载) - **语音模型**: Vosk small-cn (本地加载) ### 路径配置确认 确保以下路径配置正确: 在 `tool_5_语音助手.py` 中: ```python self.model = Model(r'C:\Users\HP\Desktop\demo\models\vosk-model-small-cn-0.22') ``` 在 `tool_8_文档智能分析.py` 中: ```python "embedding_model_path": r"C:\Users\HP\Desktop\AI-Agent\bge_small_zh" ``` **注意**: 如果项目路径不同,请修改为正确的绝对路径。 ### 参数配置 - 对话记忆: 5轮 - 文本分块: 1000字符,重叠200字符 - 检索数量: 3-4个片段 - 语音检测: 10秒超时 - 录音时长: 5秒 ## 故障排除 ### 常见问题及解决方案 1. **语音功能无法启动** - 检查麦克风权限 - 确认PyAudio安装正确 - 验证Vosk模型路径 2. **文档处理失败** - 确认文档格式支持 - 检查文件编码(特别是TXT文件) - 查看控制台错误信息 3. **API调用失败** - 检查网络连接 - 验证API密钥有效性 - 查看硅基流动平台配额 4. **模型加载错误** - 确认模型文件完整 - 检查磁盘空间 - 验证文件路径权限 5. **流式输出不工作** - 检查前端流式输出开关 - 确认后端服务器正常运行 ### 日志查看 - 后端服务器控制台输出详细日志 - 前端界面显示错误信息 - 检查浏览器开发者工具网络请求 ## 扩展开发 ### 添加新工具 1. 在 `tools/` 目录创建新工具文件 2. 实现工具函数和描述字典 3. 在 `大模型层.py` 中注册工具 4. 更新提示词模板中的工具说明 示例工具结构: ```python def my_tool_function(parameters): # 工具逻辑 return result my_tool = { "name": "my_tool", "description": "工具描述", "parameters": { "type": "object", "properties": { "param": {"type": "string", "description": "参数说明"} }, "required": ["param"] } } ``` ### 自定义模型配置 修改 `大模型层.py` 中的模型配置: ```python llm = ChatOpenAI( openai_api_key="your_siliconflow_key", base_url="https://api.siliconflow.cn/v1", model="Qwen/Qwen2.5-7B-Instruct" # 可替换为其他模型 ) ``` ## 注意事项 1. **API密钥安全**: 建议使用环境变量或配置文件管理敏感信息 2. **模型文件**: 确保模型文件路径正确,避免权限问题 3. **网络依赖**: 部分功能需要稳定的网络连接 4. **硬件要求**: 语音功能和文档处理需要一定的CPU和内存资源 5. **浏览器兼容**: 推荐使用Chrome或Edge浏览器获得最佳体验 ## 许可证 本项目仅供学习和研究使用。请遵守相关API服务的使用条款和法律法规。 --- **开始使用**: 按照"启动步骤"依次运行后端服务器和前端界面,即可开始体验多模态智能助手功能。