Files
AIclinicalresearch/优化方案总结.md
2025-10-10 15:14:54 +08:00

12 KiB
Raw Blame History

AI科研助手 - 优化方案总结

📋 需求澄清与方案调整

🔄 重要需求变更:知识库规模

原PRD描述

"后期考虑增加基于大规模1000篇以内文献的读取、识别、内容提取的工作"

实际需求(已明确):

  • 每个用户最多创建 3个知识库
  • 每个知识库最多上传 50个文件
  • 主要格式:PDF、DOCX
  • 单用户最大文档量:150个文件

影响:

  • 🎉 技术难度从 降至
  • 🎉 Dify完全满足需求无需自建RAG系统
  • 🎉 开发成本进一步降低
  • 🎉 性能优化需求降低

📋 您提出的问题与解决方案

问题1聊天功能如何实现

您的担忧: 不用LobeChat整体如何保证聊天功能稳定

我的方案: 参考LobeChat开源实现复用核心聊天组件

策略:
├── ❌ 不采用LobeChat整体缺少项目管理、知识库功能
├── ❌ 不采用Dify + LobeChat组合集成复杂定制成本高
├── ✅ 采用提取LobeChat的聊天UI组件到我们的React项目
└── ✅ 采用参考其流式输出、Markdown渲染的实现逻辑

具体实施:

  1. 克隆LobeChat源码MIT开源许可可自由使用
  2. 提取核心组件ChatMessage、ChatInput、StreamRenderer、MarkdownContent
  3. 移植到我们的React+Vite项目中
  4. 自研业务逻辑:项目管理、智能体编排、知识库集成

优势:

  • 聊天体验有保障LobeChat已被4万+用户验证)
  • 节省开发时间9.5天 → 见详细方案)
  • 保持架构灵活性(不被整体框架绑定)

问题2向量数据库还需要考虑吗

回答: 完全不需要考虑

原因:

  • Dify内置了Qdrant向量数据库
  • 文档解析、向量化、检索全由Dify处理
  • 我们只需调用Dify的REST API即可

实际需求下更加确定:

知识库规模:
- 3个知识库/用户
- 50个文件/知识库
- 150个文件/用户最大

Dify的能力
- 单个知识库支持上万个文档片段
- 我们只需150个文件远低于上限
- Dify内置Qdrant完全够用

我们需要做的:

// 只需调用Dify API
const results = await difyClient.queryKnowledgeBase({
  datasetId: 'kb-xxx',
  query: '骨质疏松的治疗方案',
  topK: 5
});

// Dify自动处理
// 1. 向量检索Qdrant
// 2. 混合检索(关键词+语义)
// 3. 重排序Reranking
// 4. 返回结果

数据库设计(业务层):

-- 我们只需要管理知识库的元数据
CREATE TABLE knowledge_bases (
  id VARCHAR(50) PRIMARY KEY,
  user_id VARCHAR(50) NOT NULL,
  name VARCHAR(100) NOT NULL,
  dify_dataset_id VARCHAR(100) NOT NULL,  -- Dify知识库ID
  file_count INT DEFAULT 0,
  -- 限制每个用户最多3个
  CONSTRAINT check_kb_limit CHECK (
    (SELECT COUNT(*) FROM knowledge_bases WHERE user_id = user_id) <= 3
  )
);

-- 文档表
CREATE TABLE documents (
  id VARCHAR(50) PRIMARY KEY,
  kb_id VARCHAR(50) NOT NULL,
  filename VARCHAR(255) NOT NULL,
  file_size_bytes BIGINT NOT NULL,
  status VARCHAR(20) DEFAULT 'processing',  -- processing, completed, failed
  dify_document_id VARCHAR(100) NOT NULL,
  -- 限制每个知识库最多50个
  CONSTRAINT check_doc_limit CHECK (
    (SELECT COUNT(*) FROM documents WHERE kb_id = kb_id) <= 50
  )
);

问题3删除运营端功能后的方案

已删除功能: 降低开发成本

功能 状态 替代方案
模型管理 删除 配置文件:config/models.yaml
智能体管理 删除 配置文件:config/agents.yaml
智能体配置 删除 Prompt文件prompts/*.txt
Prompt版本管理 删除 Git版本控制
用户管理 保留 简化版(列表、禁用、查看)
数据统计 保留 简化版(基础仪表盘)
对话查看 保留 仅管理员可查看

配置文件示例:

# config/agents.yaml
agents:
  - id: agent-picos
    name: PICOS构建
    system_prompt_file: prompts/picos_system.txt
    models:
      deepseek-v3:
        temperature: 0.3
        max_tokens: 2500
    rag_enabled: true
    status: active

优势:

  • 开发时间节省约3周
  • 开发成本降低¥77,000 → ¥49,300节省36%
  • 维护更简单:直接修改配置文件,无需后台界面
  • 版本控制所有配置由Git管理

问题4大模型优先级

您的要求: 优先DeepSeek-V3和Qwen3

已更新方案:

模型配置:

# config/models.yaml
models:
  primary:
    - name: deepseek-v3
      provider: deepseek
      api_key: ${DEEPSEEK_API_KEY}
      base_url: https://api.deepseek.com/v1
      pricing:
        input: 1    # ¥1/百万tokens
        output: 2   # ¥2/百万tokens
      features:
        - reasoning  # 推理能力强
        - long_context  # 支持128k上下文
      
  secondary:
    - name: qwen3-72b
      provider: aliyun
      api_key: ${DASHSCOPE_API_KEY}
      base_url: https://dashscope.aliyuncs.com/api/v1
      pricing:
        input: 4    # ¥4/百万tokens
        output: 4
      features:
        - chinese  # 中文理解好
        - stable   # 国内稳定
      
  optional:
    - name: gemini-2.0-flash
      provider: google
      api_key: ${GEMINI_API_KEY}
      # 可选,国际用户使用

成本对比1000用户/月):

模型 月度成本 年度成本 性价比
DeepSeek-V3 ¥150 ¥1,800 最高
Qwen3-72B ¥600 ¥7,200
Gemini Pro ¥300 ¥3,600
GPT-4 ¥2,500 ¥30,000

建议:

  • 90%的请求使用DeepSeek-V3极具性价比
  • 10%的请求使用Qwen3需要更强中文理解时
  • 年度可节省LLM成本¥1,200-1,500

🎯 最终优化方案总结

核心架构

┌─────────────────────────────────────────┐
│    自定义前端React + Vite            │
│  - 项目管理(自研)                      │
│  - 智能体选择(自研)                    │
│  - 聊天界面参考LobeChat⭐            │
│  - 知识库管理(自研)                    │
└─────────────────────────────────────────┘
                    ↓ REST API
┌─────────────────────────────────────────┐
│      业务层 (Node.js/TypeScript)        │
│  - 智能体路由(配置化)⭐                │
│  - 上下文组装                            │
│  - 用户认证                              │
│  - 简化运营后台⭐                        │
└─────────────────────────────────────────┘
          ↓                    ↓
┌──────────────────┐  ┌─────────────────┐
│   Dify (RAG)     │  │  LLM API        │
│  - 知识库        │  │  - DeepSeek-V3⭐│
│  - 文档解析      │  │  - Qwen3 ⭐     │
│  - Qdrant(内置)⭐│  │  - Gemini(可选) │
└──────────────────┘  └─────────────────┘

技术栈

前端:

  • React 18 + TypeScript + Vite
  • TailwindCSS + HeadlessUI
  • Zustand状态管理
  • LobeChat聊天组件复用

后端:

  • Node.js + Fastify + TypeScript
  • PrismaORM+ PostgreSQL
  • Redis缓存

RAG

  • DifyDocker部署内置Qdrant

LLM

  • DeepSeek-V3主力
  • Qwen3-72B备用

配置管理:

  • agents.yaml智能体配置
  • models.yaml模型配置
  • prompts/*.txtPrompt文件

开发计划

阶段 内容 时间
阶段1 基础搭建 + 复用LobeChat组件 1.5周
阶段2 核心功能12个智能体 3.5周
阶段3 高级功能RAG、文档生成 2周
阶段4 简化运营后台 1周
阶段5 测试优化 2周
总计 10周2.5个月)

成本估算

开发成本(知识库需求明确后):

  • 人力4人月 × ¥12k = ¥48,000
  • 服务器开发¥1,250
  • LLM API测试¥50DeepSeek-V3极便宜
  • 总计¥49,300

月度运营成本1000用户

  • 基础设施¥1,200
  • LLM API¥180主要用DeepSeek-V3
  • 对象存储知识库文件¥140750GB存储 + 流量)
  • 人力运维¥15,000
  • 总计¥16,520/月

成本节省:

  • vs 原方案(大规模文献):节省约 ¥500/月
  • vs 纯手写:节省 ¥30,700+38%+

知识库成本明细:

单用户150个文件 × 5MB = 750MB
1000用户750GB总存储

对象存储阿里云OSS
- 存储费750GB × ¥0.12/GB = ¥90/月
- 流量费100GB × ¥0.5/GB = ¥50/月
- 总计¥140/月

注:比原估算的"大规模文献处理"节省60%成本

优势总结

1. 聊天功能有保障

  • 参考LobeChat成熟实现
  • 流式输出、Markdown渲染开箱即用
  • 节省9.5天开发时间

2. 向量数据库无需关心(知识库需求明确后更加确定)

  • Dify内置Qdrant自动处理
  • 只需调用API降低技术难度
  • 150个文件/用户远低于Dify上限
  • 无需考虑性能优化

3. 开发成本大幅降低

  • 删除复杂后台功能节省3周
  • 配置文件管理,易于维护
  • 总成本¥49,300vs ¥77,000

4. LLM成本最优

  • DeepSeek-V3¥1/百万tokens
  • 月度LLM成本¥180vs GPT-4的¥2,500
  • 年度节省¥27,840

5. 开发周期短

  • 2.5个月可上线MVP
  • 复用成熟组件,降低风险

📝 下一步行动

立即可做:

1. 确认技术方案

  • 是否采用优化后的混合架构?
  • 是否同意删除后台管理功能?

2. 准备环境

# 申请LLM API Key
- DeepSeek API Key (https://platform.deepseek.com)
- 阿里云DashScope Key (https://dashscope.aliyun.com)

# 准备服务器
- 云服务器 4核8G开发环境
- PostgreSQL 数据库
- Redis 缓存

# 准备代码仓库
- GitHub/GitLab 仓库

3. 组建团队

  • 1名全栈开发Node.js + React
  • 1名前端开发React + TailwindCSS
  • 预计2.5个月完成

4. 启动开发

第1周

  • 搭建前后端框架
  • 部署DifyDocker
  • 克隆LobeChat提取聊天组件

第2-4周

  • 实现3个核心智能体
  • 集成DeepSeek-V3
  • 完成基础对话功能

第5-7周

  • 完善12个智能体
  • 集成Dify RAG
  • 项目管理功能

第8-10周

  • 简化运营后台
  • 测试优化
  • 上线MVP

🎉 总结

优化后的方案:

  • 聊天功能参考LobeChat稳定可靠
  • 向量数据库Dify内置无需关心
  • 运营后台:配置化,大幅简化
  • 大模型DeepSeek-V3优先成本最优
  • 开发周期2.5个月
  • 开发成本¥49,300
  • 月度成本¥16,4001000用户

这是最适合您项目的技术方案! 🚀


文档版本v2.0(优化版)
更新时间2025-10-10
作者AI技术顾问