🚀 Enterprise AI Agent System (Pro Edition)
基于 DeepSeek-V3 + RAG + MCP 的企业级智能业务助理
   
本系统是一个面向企业级场景的智能业务助理,深度集成了 RAG (检索增强生成)、Contextual Memory (上下文记忆) 和 MCP (模型上下文协议)。它不仅能精准回答文档问题,还能通过工具调用直接办理业务,是企业数字化转型的得力助手。
✨ 核心功能 (Key Features)
1. 🧠 具备“超级记忆”的对话 (Contextual Memory)
- [NEW] 多轮对话支持:系统能够记住聊天的上下文。
- *User*: "帮我查一下张三的项目进度。" - *Agent*: "张三当前负责‘阿波罗计划’,进度 80%。" - *User*: "这个项目有什么风险?" (系统自动理解“这个项目”指“阿波罗计划”) - *Agent*: "‘阿波罗计划’的主要风险是..."
2. 📚 多源异构 RAG 检索
- 全格式支持:深度解析 Word (
.docx)、PDF (.pdf)、Markdown (.md) 等非结构化文档。 - [独家] 复杂表格理解:内置
ExcelMarkdownReader,完美还原 Excel (.xlsx) 的行列语义,精准回答类似“查找第三季度财务报表中的研发支出”等复杂查询。 - 全局认知:自动生成知识库摘要,Agent 清楚“我有哪些文件”、“我可以回答哪类问题”。
3. 🛠️ MCP 标准化工具调用 (Tools)
- 业务系统打通:通过 MCP 协议连接企业内部数据库与 API。
- 开箱即用工具:
- get_employee_profile: 员工信息查询 - get_reimbursement: 财务报销数据实时调取 - create_ticket: 自动化工单创建
💻 快速启动 (Quick Start)
推荐使用 Python 3.11 + venv,并始终通过python -m streamlit启动,避免调用到系统 Python(例如 macOS 的/Library/Python/3.9)。
1. 第一次启动(只需要记一条命令)
确保已安装 Python 3.11 后,直接执行:
./run.sh脚本会自动完成:
- 创建/修复 Python 3.11 虚拟环境
- 安装依赖(仅
requirements.txt变化时重装) - 检查
.env - LLM API 首次检查一次(成功后写入标记,后续默认跳过)
- 按需重建索引(仅数据/数据库/索引脚本变化时)
- 启动 Streamlit
2. 配置密钥(必做)
创建 .env 文件并填入:
OPENAI_API_KEY=sk-your-key-here
OPENAI_BASE_URL=https://api.deepseek.com/v1
OPENAI_MODEL=deepseek-chat
OPENAI_EMBED_MODEL=local:BAAI/bge-small-zh-v1.53. 直接运行(唯一日常命令)
./run.sh说明:
- 第一次运行会做一次 LLM API 检查,之后默认跳过。
- 只有数据变化时才会重建索引。
- 日常你只需要记住这一条命令。
执行:
./run.shrun.sh 会自动完成:
- 强制使用 Python 3.11(未安装会提示安装)
- 自动检测并重建非 3.11 的
venv - 按需安装依赖(仅
requirements.txt变化时重装) - 检查
.env - 检测 LLM API
- 按需重建索引(仅当
data/、company.db或src/rag/build_index.py变化时) - 启动 Streamlit
4. 参数(仅排查时使用)
./run.sh 默认已覆盖日常场景,以下参数只在排查时用:
./run.sh --prepare-only # 只准备环境,不启动
./run.sh --reinstall # 强制重装依赖
./run.sh --reindex # 强制重建索引
./run.sh --check # 强制执行一次 LLM API 检查
./run.sh --no-start # 执行完成后不启动页面当data/或数据库有新增内容后,直接再次执行./run.sh即可自动重建索引并启动。
5. 本地访问地址
默认浏览器地址:http://localhost:8501(若端口占用会自动顺延)。
🏗️ 系统架构
| 模块 | 技术栈 | 说明 |
|---|---|---|
| Frontend | Streamlit | 极简交互界面,支持流式输出 |
| Brain (Agent) | LangChain | ReAct 思考模式,负责意图识别与工具分发 |
| Memory | Streamlit Session | 本地会话级记忆存储 |
| Knowledge | LlamaIndex | 高效向量检索,支持混合检索策略 |
| Tools | MCP Protocol | 标准化工具接口,解耦业务逻辑 |
📂 目录结构
.
├── data/ # 企业私有数据 (Excel, PDF, SQLite)
├── src/
│ ├── app/ # Streamlit 前端应用
│ ├── agent/ # Agent 核心编排 (with Memory)
│ ├── rag/ # 索引构建与检索逻辑
│ └── mcp_server/ # 业务工具集 (Tools)
├── outputs/ # 向量索引持久化存储
├── requirements.txt # 项目依赖
└── README.md # 说明文档