# RAG 服务依赖库
# 安装命令: pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
#
# ==================== 环境说明 ====================
# 生产环境：通过后端网关注入认证，提供 API 服务
# 开发环境：本地模拟用户，支持个人知识库使用（DEV_MODE=true）
#
# ==================== 部署注意事项 ====================
# 1. 服务器无 GPU，使用 CPU 版本 PyTorch
# 2. 首次部署需单独安装 PyTorch CPU 版：
#    pip install torch --index-url https://download.pytorch.org/whl/cpu
# 3. 开发前端（dev-ui/）依赖 Node.js，需单独安装：
#    cd dev-ui && npm install

# ==================== PyTorch (CPU) ====================
# 注意：PyTorch 需要单独安装 CPU 版本，此处不固定版本
# pip install torch --index-url https://download.pytorch.org/whl/cpu

# ==================== 核心依赖 ====================
chromadb>=0.4.0                    # 向量数据库
sentence-transformers>=2.2.0       # 向量嵌入模型
openai>=1.0.0                      # LLM API 客户端
numpy>=1.24.0                      # 数值计算

# ==================== Web 服务 ====================
flask>=2.0.0                       # Web 框架
flask-cors>=4.0.0                  # CORS 支持
werkzeug>=2.0.0                    # WSGI 工具
python-dotenv>=1.0.0               # 环境变量管理

# ==================== 检索相关 ====================
rank-bm25>=0.2.2                   # BM25 关键词检索
jieba>=0.42.1                      # 中文分词

# ==================== Rerank 加速 ====================
optimum[onnxruntime]>=1.14.0       # ONNX Runtime 优化（CPU 推理 2-3x 提速）

# ==================== 文档解析 ====================
# PDF/DOCX/PPTX 解析 - MinerU (主要)
mineru>=3.0.0                      # 文档解析核心（PDF/Word/PPT/图片）

# Excel 解析
pandas>=2.0.0                      # 数据处理
openpyxl>=3.1.0                    # Excel 文件读取

# Word/PDF 备用解析
pdfplumber>=0.10.0                 # PDF 解析（备用）
python-docx>=0.8.11                # Word 解析（备用）

# ==================== 文本分块 ====================
langchain-text-splitters>=0.3.0    # 语义分块器

# ==================== 文件监控 ====================
watchdog>=3.0.0                    # 文件变更监控（sync 服务）

# ==================== 图谱功能（可选） ====================
# Neo4j 图数据库 - 仅启用图谱功能时需要
# neo4j>=5.0.0

# ==================== HTTP 请求 ====================
requests>=2.28.0                   # HTTP 客户端

# ==================== 生产部署 ====================
gunicorn>=21.0.0                   # WSGI 服务器（Linux/Mac）
