4.4 KiB
4.4 KiB
RAG知识库容量说明
📊 当前配置容量
SimpleVectorStore(文件持久化)
推荐容量:
- 文档数量:50-200个文档文件
- 文档片段:1000-5000个片段
- 总文本量:5-20MB
- 内存占用:10-50MB
- 文件大小:20-100MB
适用场景:
- ✅ 心理测评标准文档(10-50个)
- ✅ 心理学理论知识(20-100个)
- ✅ 案例分析文档(50-200个)
- ✅ 干预建议文档(20-100个)
🔢 容量计算
单个文档处理
以一个10页的PDF文档为例:
原始文档:10页 × 500字/页 = 5000字
分块配置:800字/块,重叠200字
生成片段:约 8-10个片段
向量数据:10片段 × 3KB = 30KB
知识库规模示例
小型知识库(推荐):
- 文档数量:50个
- 文档片段:500个
- 内存占用:~5MB
- 文件大小:~10MB
- 查询速度:极快(<50ms)
中型知识库:
- 文档数量:200个
- 文档片段:2000个
- 内存占用:~20MB
- 文件大小:~40MB
- 查询速度:快(<100ms)
大型知识库(接近上限):
- 文档数量:500个
- 文档片段:5000个
- 内存占用:~50MB
- 文件大小:~100MB
- 查询速度:较快(<200ms)
⚠️ 性能影响因素
1. 内存占用
- 所有向量数据加载到内存
- 建议JVM堆内存:至少512MB
- 推荐配置:
-Xmx1024m
2. 查询速度
- 线性扫描所有向量
- 1000片段:~50ms
- 5000片段:~200ms
- 10000片段:~500ms(不推荐)
3. 启动时间
- 需要从文件加载所有数据
- 1000片段:~1秒
- 5000片段:~3秒
- 10000片段:~10秒
4. 保存时间
- 每次添加/删除都会保存
- 1000片段:~0.5秒
- 5000片段:~2秒
🚀 优化建议
当前配置(已优化)
# 文本分块配置
text-splitter:
chunk-size: 800 # 分块大小
chunk-overlap: 200 # 重叠大小
# 检索配置
retrieval:
top-k: 5 # 返回前5个最相关片段
similarity-threshold: 0.7 # 相似度阈值
如果需要更大容量
方案1:调整分块大小
text-splitter:
chunk-size: 1200 # 增大分块,减少片段数
chunk-overlap: 200
- 优点:减少片段数量,提高性能
- 缺点:单个片段信息更多,可能降低精确度
方案2:升级到ChromaDB
# 安装ChromaDB
pip install chromadb
# 启动服务
chroma run --path D:/wwwroot/RAG/data/chroma_db --port 8000
- 支持:10万+文档片段
- 性能:使用索引,查询速度快
- 持久化:专业的向量数据库
方案3:使用数据库存储
- 将向量存储到MySQL/PostgreSQL
- 使用pgvector扩展(PostgreSQL)
- 适合超大规模数据
📈 扩容路线图
阶段1:当前方案(0-5000片段)
✅ SimpleVectorStore + 文件持久化
- 简单、快速、无需额外服务
- 适合大多数场景
阶段2:ChromaDB(5000-100000片段)
- 专业向量数据库
- 支持更大规模
- 需要额外服务
阶段3:企业级方案(100000+片段)
- Milvus / Qdrant / Weaviate
- 分布式部署
- 高可用架构
💡 实际使用建议
心理测评系统场景
核心知识库(推荐):
- 测评标准:20个文档
- 理论知识:50个文档
- 案例分析:100个文档
- 干预建议:30个文档
- 总计:200个文档,约2000片段
预期性能:
- 内存占用:~20MB
- 查询速度:<100ms
- 启动时间:~2秒
- 完全满足需求 ✅
文档质量 > 数量
重要提示:
- 📚 精选高质量文档比大量低质量文档更有效
- 🎯 200个精心整理的文档 > 1000个杂乱文档
- ✨ 定期更新和维护知识库内容
🔧 监控和维护
查看当前容量
# 访问系统状态API
curl http://localhost:30081/api/knowledge/status
返回信息包括:
- 文档片段数量
- 内存占用
- 查询性能统计
定期清理
- 删除过时文档
- 合并重复内容
- 优化文档质量
备份策略
# 备份向量数据
copy D:\wwwroot\RAG\data\chroma_db\vector_store.json backup_20250119.json
# 备份文档
xcopy D:\wwwroot\RAG\uploads backup_uploads\ /E /I
📞 何时需要升级
如果出现以下情况,考虑升级到ChromaDB:
- ❌ 文档片段超过5000个
- ❌ 查询速度超过500ms
- ❌ 启动时间超过10秒
- ❌ 内存占用超过100MB
- ❌ 需要更复杂的查询功能
当前配置完全满足心理测评系统的需求! 🎉