91 lines
1.9 KiB
Markdown
91 lines
1.9 KiB
Markdown
# RAG知识库服务部署
|
||
|
||
## 部署文件结构
|
||
|
||
将以下文件夹整体复制到服务器:
|
||
```
|
||
rag-python/
|
||
├── app.py # 主程序
|
||
├── config.py # 配置文件
|
||
├── knowledge_service.py # 知识库服务
|
||
├── vector_store.py # 向量存储
|
||
├── document_parser.py # 文档解析
|
||
├── text_splitter.py # 文本分块
|
||
├── file_watcher.py # 文件监控
|
||
├── requirements.txt # 依赖
|
||
├── knowledge_docs/ # 知识库文档(放txt/pdf/docx)
|
||
├── index_data/ # 索引数据(自动生成)
|
||
└── uploads/ # 上传临时目录
|
||
```
|
||
|
||
## 部署步骤
|
||
|
||
### 1. 安装Python环境
|
||
```bash
|
||
# 确保Python 3.8+
|
||
python --version
|
||
|
||
# 安装依赖
|
||
cd rag-python
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 2. 确保Ollama已启动
|
||
RAG服务依赖Ollama的嵌入模型:
|
||
```bash
|
||
# 检查Ollama状态
|
||
ollama list
|
||
|
||
# 确保有 nomic-embed-text 模型
|
||
ollama pull nomic-embed-text
|
||
```
|
||
|
||
### 3. 启动RAG服务
|
||
```bash
|
||
cd rag-python
|
||
python app.py
|
||
```
|
||
|
||
或使用批处理:
|
||
```bash
|
||
start.bat
|
||
```
|
||
|
||
服务启动后监听 `http://0.0.0.0:5000`
|
||
|
||
## 知识库文档
|
||
|
||
直接将文档放入 `rag-python/knowledge_docs/` 目录即可:
|
||
- 支持格式:`.txt`, `.md`, `.pdf`, `.docx`
|
||
- 服务启动时自动扫描并建立索引
|
||
- 运行中添加新文件会自动检测并索引
|
||
|
||
## 验证服务
|
||
|
||
```bash
|
||
# 健康检查
|
||
curl http://localhost:5000/api/health
|
||
|
||
# 查看文档列表
|
||
curl http://localhost:5000/api/documents
|
||
|
||
# 查看统计
|
||
curl http://localhost:5000/api/stats
|
||
```
|
||
|
||
## 与后端配合
|
||
|
||
后端 `application.yml` 中的RAG配置:
|
||
```yaml
|
||
rag:
|
||
enabled: true
|
||
service-url: http://127.0.0.1:5000
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
1. RAG服务需要在后端启动前启动
|
||
2. 确保Ollama服务已运行且有 `nomic-embed-text` 模型
|
||
3. 知识库文档放入 `knowledge_docs/` 后会自动索引
|
||
4. 首次启动会建立索引,文档多时需要等待
|