# AI科研助手 - 技术架构总览 > **最后更新:2025-10-10** > **方案版本:v2.0(最终优化版?* > **文档说明?* 本文档是技术架构的快速参考指南,适合新人快速了解整体技术方? --- ## 📊 核心数据一? | 指标 | 数?| |------|------| | **开发周?* | 2.5个月?0周) | | **开发成?* | ¥49,300 | | **技术难?* | ⭐⭐⭐(中等?| | **月度成本** | ¥16,520?000用户?| | **团队规模** | 2人(1全栈 + 1前端?| --- ## 🎯 关键需求澄? ### 知识库规模(重要变更? | 项目 | 限制 | |------|------| | 知识库数?| 3?用户 | | 文件数量 | 50?知识?| | 文件格式 | PDF、DOCX | | 单用户最?| 150个文?| **影响?* 技术难度从⭐⭐⭐⭐⭐降至⭐⭐⭐,Dify完全满足需求! --- ## 🏗?技术架构(一图看懂) ``` ┌─────────────────────────────────────────? ? 前端(React + Vite? ? ? - 项目管理(自研) ? ? - 智能体选择(自研) ? ? - 聊天界面(参考LobeChat)⭐ ? ? - 知识库管理(自研? ? └─────────────────────────────────────────? ?REST API ┌─────────────────────────────────────────? ? 业务?(Node.js/TypeScript) ? ? - 对话逻辑(自研)? ? ? - 项目/课题管理 ? ? - 智能体路由(配置化)? ? ? - 简化运营后台⭐ ? └─────────────────────────────────────────? ? ? ┌──────────────────? ┌─────────────────? ? Dify ? ? LLM API ? ? (仅RAG)⭐ ? ? - DeepSeek-V3⭐│ ? - 知识库检? ? ? - Qwen3 ? ? ? - Qdrant(内置)?? ? ? └──────────────────? └─────────────────? ``` --- ## 🔑 核心决策 ### 1. 聊天功能实现方式 | 方案 | 选择 | 原因 | |------|------|------| | **前端UI** | 参考LobeChat组件 ?| 成熟稳定,节?.5?| | **对话逻辑** | 自研(调用LLM API)✅ | 业务可控,核心只??| | Dify对话功能 | ?不用 | 不适合12个智能体管理 | | LobeChat整体 | ?不用 | 缺少项目管理功能 | ### 2. RAG系统 | 功能 | 方案 | |------|------| | **知识库管?* | Dify ?| | **文档解析** | Dify内置 ?| | **向量数据?* | Dify内置Qdrant ?| | **检?* | Dify API ?| | 自建RAG | ?不需?| ### 3. 运营后台 | 功能 | 状?| 实现方式 | |------|------|---------| | 用户管理 | ?保留 | 简化版 | | 数据统计 | ?保留 | 基础仪表?| | 模型管理 | ?删除 | `config/models.yaml` | | 智能体管?| ?删除 | `config/agents.yaml` | | Prompt配置 | ?删除 | `prompts/*.txt` | ### 4. 大模型选择 | 优先?| 模型 | 价格 | 用?| |--------|------|------|------| | **主力** | DeepSeek-V3 | ¥1/百万tokens | 90%的请?| | **备用** | Qwen3-72B | ¥4/百万tokens | 需要更强中文理解时 | | 可?| Gemini 2.0 | ¥2.7/百万tokens | 国际用户 | --- ## 💰 成本明细 ### 开发成? | 项目 | 金额 | |------|------| | 人力?人月?| ¥48,000 | | 服务器(开发环境) | ¥1,250 | | LLM API(测试) | ¥50 | | **总计** | **¥49,300** | ### 月度运营成本?000用户? | 项目 | 金额 | |------|------| | 基础设施(服务器?| ¥1,200 | | LLM API(DeepSeek-V3?| ¥180 | | 对象存储(知识库?| ¥140 | | 人力?人运维) | ¥15,000 | | **总计** | **¥16,520/?* | ### 知识库存储详? ``` 单用户:150个文?× 5MB = 750MB 1000用户?50GB总存? 对象存储(阿里云OSS): - 存储费:¥90/? - 流量费:¥50/? - 总计:?40/? ``` --- ## 📅 开发计划(10周) | 阶段 | 时间 | 主要任务 | |------|------|---------| | **阶段1** | 1.5?| 基础搭建 + 复用LobeChat组件 | | **阶段2** | 3.5?| 核心功能?2个智能体 + 对话?| | **阶段3** | 2?| 高级功能(RAG + 文档生成?| | **阶段4** | 1?| 简化运营后?| | **阶段5** | 2?| 测试优化 | ### 阶段1:基础搭建?.5周) - [ ] 前端框架(React + Vite + TailwindCSS? - [ ] **复用LobeChat聊天UI组件** ? - [ ] 后端框架(Fastify + Prisma + PostgreSQL? - [ ] Dify部署(Docker? - [ ] DeepSeek-V3 + Qwen3接入 ### 阶段2:核心功能(3.5周) - [ ] 用户认证(JWT? - [ ] 项目/课题CRUD - [ ] 12个智能体配置(`agents.yaml`? - [ ] 对话系统(上下文组装 + 流式输出? - [ ] 知识库集成(Dify API? ### 阶段3:高级功能(2周) - [ ] 多模型切换(DeepSeek/Qwen? - [ ] 历史记录管理 - [ ] 固定到项目背景功? - [ ] 文档生成(CRF、研究方案) ### 阶段4:简化运营后台(1周) - [ ] 用户列表与管? - [ ] 基础数据统计 - [ ] 对话记录查看 ### 阶段5:测试优化(2周) - [ ] 功能测试 - [ ] 性能优化 - [ ] DeepSeek-V3效果调优 --- ## 🛠?技术栈 ### 前端 ``` - React 18 + TypeScript - Vite(构建工具) - TailwindCSS(UI框架? - Zustand(状态管理) - LobeChat组件(聊天UI)⭐ - react-markdown(Markdown渲染? ``` ### 后端 ``` - Node.js + Fastify + TypeScript - Prisma(ORM? - PostgreSQL(数据库? - Redis(缓存) ``` ### 第三方服? ``` - Dify(RAG知识库)? - DeepSeek-V3(主力LLM)⭐ - Qwen3(备用LLM)⭐ - 阿里云OSS(对象存储) ``` --- ## ?核心优势 ### 1. 开发效率高 - ?复用LobeChat聊天UI:节?.5? - ?使用Dify RAG:节?0? - ?配置化智能体:节?? - ?总节省:**?4.5?* ### 2. 成本可控 - ?开发成本:¥49,300(vs 纯手写?0k+? - ?月度LLM成本:?80(vs GPT-4 ¥2,500? - ?知识库存储:¥140/月(适度规模? ### 3. 技术风险低 - ?Dify?0k+ Stars,生产级稳定 - ?LobeChat?0k+ Stars,成熟方? - ?DeepSeek-V3:性价比极? ### 4. 架构灵活 - ?业务逻辑完全可控 - ?可随时替换RAG引擎 - ?可随时增减LLM模型 --- ## 📋 核心文件结构 ``` 项目根目? ├── frontend/ # 前端 ? ├── src/ ? ? ├── components/ ? ? ? ├── chat/ # 聊天组件(参考LobeChat)⭐ ? ? ? ? ├── ChatMessage.tsx ? ? ? ? ├── ChatInput.tsx ? ? ? ? └── StreamRenderer.tsx ? ? ? ├── project/ # 项目管理 ? ? ? └── kb/ # 知识库管? ? ? ├── pages/ ? ? └── services/ ? └── package.json ? ├── backend/ # 后端 ? ├── src/ ? ? ├── services/ ? ? ? ├── chat.service.ts # 对话服务 ? ? ? ? ├── kb.service.ts # 知识库服? ? ? ? └── project.service.ts ? ? ├── adapters/ ? ? ? └── llm-factory.ts # LLM适配?? ? ? ├── clients/ ? ? ? └── dify.ts # Dify客户? ? ? └── config/ ? ? └── agent-loader.ts # 智能体配置加?? ? ├── config/ ? ? ├── agents.yaml # 智能体配?? ? ? └── models.yaml # 模型配置 ? ? ├── prompts/ # Prompt文件 ? ? ? ├── picos_system.txt ? ? ├── topic_evaluation_system.txt ? ? └── ...(共12个智能体? ? └── package.json ? └── docker-compose.yml # Dify部署 ``` --- ## 🚀 快速启? ### 1. 准备工作 **申请API Key?* - [ ] DeepSeek API Key (https://platform.deepseek.com) - [ ] 阿里云DashScope Key (https://dashscope.aliyun.com) - [ ] 阿里云OSS (https://oss.console.aliyun.com) **准备服务器:** - [ ] 云服务器 4?G(开发环境) - [ ] PostgreSQL 数据? - [ ] Redis 缓存 ### 2. 部署Dify ```bash # 克隆Dify git clone https://github.com/langgenius/dify.git cd dify/docker # 启动 docker-compose up -d # 访问 http://localhost:3000 # 创建账号并获取API Key ``` ### 3. 后端开? ```bash cd backend npm install # 配置环境变量 cp .env.example .env # 填入? # - DATABASE_URL # - REDIS_URL # - DEEPSEEK_API_KEY # - DASHSCOPE_API_KEY # - DIFY_API_KEY # 运行数据库迁? npx prisma migrate dev # 启动开发服务器 npm run dev ``` ### 4. 前端开? ```bash cd frontend npm install # 配置API地址 # .env.local VITE_API_URL=http://localhost:3001 # 启动开发服务器 npm run dev ``` --- ## 📚 相关文档 ### 设计文档 - [产品需求文?PRD)](./产品需求文?PRD).md) - 完整的产品需? - [数据库设计文档](../01-设计文档/数据库设计文?md) - 数据库表结构 - [API设计规范](../01-设计文档/API设计规范.md) - 所有API定义 - [代码规范](../02-开发规?代码规范.md) - 代码风格规范 - [核心业务规则](../03-业务规则/核心业务规则总览.md) - 业务逻辑规则 ### 开发计? - [开发里程碑](../04-开发计?开发里程碑.md) - 详细?0周开发计? ### 参考文? - **技术架构选型对比方案.md** - 完整技术方案(在项目根目录? - **对话系统实现方案对比.md** - 对话功能详细说明(在项目根目录) - **知识库需求调整说?md** - 知识库实现方案(在项目根目录? --- ## 🎯 关键决策清单 **在开始开发前,请确认?* - [ ] **聊天实现方式?* 参考LobeChat + 自研对话逻辑 ? - [ ] **RAG系统?* 使用Dify(无需自建)✅ - [ ] **向量数据库:** Dify内置Qdrant(无需关心)✅ - [ ] **运营后台?* 简化版(配置文件管理)? - [ ] **主力LLM?* DeepSeek-V3 ? - [ ] **备用LLM?* Qwen3 ? - [ ] **知识库限制:** 3?用户?0个文??? - [ ] **开发周期:** 2.5个月 ? - [ ] **团队规模?* 2?? --- ## 💡 常见问题 FAQ ### Q1: 为什么不直接用Dify的对话功能? **A:** Dify对话功能需要为每个智能体创建独立应用,12个智能体管理复杂,且缺少项目管理功能。我们只用Dify做RAG检索? ### Q2: 对话功能自己实现会很复杂吗? **A:** 不复杂!核心只要4步:接收消息 ?组装上下??调用LLM ?返回流式结果。参考LobeChat的实现,约需4天? ### Q3: 150个文?用户,Dify够用吗? **A:** 完全够用!Dify单个知识库支持上万个文档片段,我们的需求远低于上限? ### Q4: 为什么选择DeepSeek-V3? **A:** 性价比极高(¥1/百万tokens),性能接近GPT-4,年度可节省¥27,840? ### Q5: 2.5个月真的能完成吗? **A:** 可以!通过复用LobeChat组件、使用Dify RAG、配置化智能体,我们节省了约54天开发时间? --- ## 🎉 总结 **这是一个经过充分优化、成本可控、技术可行的方案?* ?**开发周期:** 2.5个月 ?**开发成本:** ¥49,300 ?**月度成本?* ¥16,520?000用户? ?**技术难度:** ⭐⭐⭐(中等? ?**风险等级?* 低(使用成熟组件和服务) **立即可以开始!** 🚀 --- **文档版本:v2.0** **最后更新:2025-10-10** **文档位置?* `docs/00-项目概述/技术架构总览.md` **作者:** AI技术顾?