3.1 KiB
3.1 KiB
知识库多人协作处理方案
一、分工方式
将 PDF 文件按数量或类型分配给不同人员处理:
| 人员 | 负责文件 | 预计时间 |
|---|---|---|
| 人员A | 心理测量类 (10个PDF) | 2-3小时 |
| 人员B | 心理治疗类 (10个PDF) | 2-3小时 |
| 人员C | 心理学基础 (10个PDF) | 2-3小时 |
二、每个人需要的文件
将以下文件打包发给每个处理人员:
rag-python-处理包/
├── batch_index.py # 索引脚本
├── config.py # 配置文件
├── document_parser.py # 文档解析
├── text_splitter.py # 文本分块
├── vector_store.py # 向量存储
├── knowledge_docs/ # 空目录,用于放PDF
├── index_data/ # 空目录,存放结果
└── requirements.txt # Python依赖
三、处理人员操作步骤
1. 环境准备
# 安装 Python 依赖
pip install -r requirements.txt
# 安装 Tesseract OCR(用于扫描版PDF)
# Windows: 下载安装 https://github.com/UB-Mannheim/tesseract/wiki
# 安装时勾选中文语言包
# 安装 Ollama 并下载嵌入模型
ollama pull nomic-embed-text
2. 放入 PDF 文件
将分配的 PDF 文件放入 knowledge_docs/ 目录
3. 执行索引
python batch_index.py
等待处理完成,会显示:
- 处理进度
- 每个文件的字符数和向量块数
- 总耗时
4. 返回结果
处理完成后,将 index_data/ 文件夹打包发回:
- 重命名为
index_data_姓名/ - 包含
documents.json和faiss.index两个文件
四、合并索引(汇总人员操作)
1. 收集所有人的结果
将各人返回的 index_data_xxx/ 文件夹放到 to_merge/ 目录:
rag-python/
├── to_merge/
│ ├── index_data_张三/
│ │ ├── documents.json
│ │ └── faiss.index
│ ├── index_data_李四/
│ │ ├── documents.json
│ │ └── faiss.index
│ └── index_data_王五/
│ ├── documents.json
│ └── faiss.index
└── merge_index.py
2. 执行合并
python merge_index.py
3. 验证结果
python app.py
# 访问 http://localhost:5000/api/stats 查看统计
五、注意事项
- Ollama 必须运行 - 所有处理人员的电脑都需要运行 Ollama
- 模型要一致 - 都使用
nomic-embed-text模型 - 避免重复文件 - 不同人员处理的 PDF 不要重复
- 大文件耐心等待 - 200MB 的 PDF 可能需要 30-60 分钟
六、常见问题
Q: 处理中断了怎么办?
A: 删除 index_data/ 目录,重新运行 batch_index.py
Q: 某个 PDF 处理失败怎么办?
A: 检查 PDF 是否损坏,或尝试用其他工具转换格式
Q: 合并后发现有重复怎么办?
A: 合并脚本会自动去重(按文件名判断)
七、预估时间
| PDF 类型 | 大小 | 预估时间 |
|---|---|---|
| 文字版 PDF | 10MB | 1-2 分钟 |
| 扫描版 PDF | 10MB | 5-10 分钟 |
| 大型扫描版 | 200MB | 30-60 分钟 |