生命周期 · 阶段二 需求分析 | 上游:立项决策(01)| 下游:系统设计(03)
一、需求分析清单
搭建前必须明确以下问题,否则选型会反复推翻:
1. 数据维度
| 问题 | 影响 |
|---|
| 文档总量多大?(1GB / 100GB / 1TB) | 决定向量库容量与索引类型 |
| 文档类型?(PDF/Word/Excel/PPT/图片/扫描件占比) | 决定解析器与是否需要 OCR |
| 扫描件/图片型 PDF 占比多高? | OCR 是性能与准确率的瓶颈点 |
| 更新频率?(一次性导入 / 每日增量) | 决定是否需要增量入库与版本管理 |
| 单文档平均页数、是否有复杂表格? | 影响切片策略 |
2. 业务维度
| 问题 | 影响 |
|---|
| 核心场景?(问答/摘要/检索/Agent 工具) | 决定链路设计与 Prompt |
| 并发量与响应时长要求?(如 P95 ≤ 5s) | 决定模型部署与缓存策略 |
| 答案必须 100% 有据可依吗? | 决定幻觉控制强度与拒答策略 |
| 是否需要引用溯源到原文页码? | 决定元数据设计 |
3. 安全维度
| 问题 | 影响 |
|---|
| 数据能否出域? | 决定 SaaS API vs 私有化部署 |
| 权限要求?(部门隔离/文档级/字段级) | 决定检索侧权限过滤方案 |
| 审计合规要求? | 决定日志与脱敏方案 |
4. 资源维度
- 预算:GPU 资源、商用 API 费用
- 团队技能:Python/运维能力
- 交付时间:分别估算开源产品验证、自研链路和生产加固;不要把 Demo 工期当成上线工期
二、技术选型对比
1. 向量数据库
| 方案 | 优势 | 劣势 | 适用 |
|---|
| Milvus | 性能强、生态成熟、支持分布式 | 组件多(etcd/MinIO)、运维复杂 | 大规模生产 |
| Qdrant | 轻量、Rust 实现、部署简单 | 超大规模生态略弱 | 中小规模 |
| PGVector | 复用 PostgreSQL、与业务库一体 | 性能有上限 | 已有 PG、数据量中等 |
| Elasticsearch | BM25+向量混合检索天然支持 | 向量性能一般、资源占用高 | 已有 ES、需强关键词检索 |
| FAISS | 库而非服务、极致性能 | 无增删改管理能力 | 实验/嵌入式场景 |
选型提醒:不要只按切片数量选向量库。还要用目标数据测试过滤条件、索引构建时间、P95 延迟、召回质量、备份恢复和团队运维能力;规模数字只能作为初筛条件。
2. Embedding 模型
| 模型 | 特点 |
|---|
| BGE 系列(bge-large-zh-v1.5 等) | 中文效果好,开源可私有化,C-MTEB 榜单常客 |
| M3E | 中文轻量,适合资源受限 |
| text-embedding-3(OpenAI) | 效果好但数据出域 |
| Qwen-Embedding | 多语种,私有化友好 |
注意:Embedding 模型一旦换型号,全量向量必须重新生成(维度和语义空间都变了)。
3. OCR 引擎
| 方案 | 特点 |
|---|
| PaddleOCR | 开源免费、中文识别强、可私有化,表格还原一般 |
| Tesseract | 开源、老牌,中文效果一般 |
| 商用 OCR API(阿里/腾讯/百度) | 精度高、版面还原好,按量付费、数据出域 |
4. 编排框架
| 框架 | 定位 |
|---|
| LangChain | 组件最全,代码级编排,学习曲线陡 |
| LlamaIndex | 专注数据索引与检索,RAG 场景更聚焦 |
| RAGFlow | 开源成品,深度文档解析强,适合企业知识库 |
| Dify | 低代码平台,可视化编排,快速出 Demo |
5. LLM 选型考量
- 私有化:Qwen / DeepSeek / GLM 开源版本(需 GPU)
- API 调用:效果优先选头部模型,注意 tokens 成本与限流
- 生成链路建议模型可切换(配置化),避免厂商锁定
三、选型决策记录(模板)
每个选型结论应记录,便于后续复盘:
【决策项】向量数据库
【候选方案】Milvus / Qdrant / PGVector
【选择结果】Qdrant
【决策理由】切片量预估 50 万以内;团队无专职运维;Docker 单机即可
【牺牲项】未来超 500 万切片需迁移
【决策人/日期】xxx / 2026-xx-xx
四、典型技术栈组合示例
| 场景 | 组合 |
|---|
| 企业私有化(金融/政企,数据敏感) | 可评估 RAGFlow/Dify + 本地模型 + OCR + 向量库;是否满足内网与合规要求需单独验证 |
| 中小团队快速验证 | 托管编排平台 + 模型 API;先做小规模验证,再按数据边界决定是否私有化 |
| 定制化自研 | LangChain + PGVector + BGE + DeepSeek API,深度控制切片与检索策略 |
本篇交付与下一步
本阶段应产出需求清单、数据盘点、风险等级、候选方案实测结果和选型决策记录。工具版本、价格、许可和硬件要求变化较快,实施前应以官方文档和小规模基准测试重新核验。下一步进入 03-系统设计:架构与接口设计。