# 企业知识库系统依赖 (Enterprise Knowledge Base Dependencies)
# 版本: 1.0.0
# 更新日期: 2026-04-30

# ============================================================================
# 核心依赖 (Core Dependencies)
# ============================================================================

# 向量数据库 - ChromaDB (本地存储，无需Docker)
chromadb>=0.4.0,<0.5.0

# LLM和嵌入API客户端
openai>=1.0.0,<2.0.0

# ============================================================================
# 文档处理 (Document Processing)
# ============================================================================

# PDF文档解析
pypdf2>=3.0.0,<4.0.0

# Word文档解析 (.docx)
python-docx>=1.0.0,<2.0.0

# Markdown文档解析
markdown>=3.4.0,<4.0.0

# ============================================================================
# 工具库 (Utilities)
# ============================================================================

# 环境变量管理
python-dotenv>=1.0.0,<2.0.0

# 数据类和类型提示
dataclasses>=0.6;python_version<"3.7"

# JSON处理增强
orjson>=3.8.0,<4.0.0

# 路径处理
pathlib2>=2.3.0;python_version<"3.4"

# ============================================================================
# 开发和测试 (Development & Testing) - 可选
# ============================================================================

# 单元测试框架
pytest>=7.4.0,<8.0.0

# 属性测试
hypothesis>=6.90.0,<7.0.0

# 代码格式化
black>=23.0.0,<24.0.0

# 代码检查
flake8>=6.0.0,<7.0.0

# 类型检查
mypy>=1.5.0,<2.0.0

# ============================================================================
# 性能优化 (Performance Optimization) - 可选
# ============================================================================

# 更快的JSON解析
ujson>=5.8.0,<6.0.0

# 更快的HTTP请求
httpx>=0.24.0,<1.0.0

# 内存优化
psutil>=5.9.0,<6.0.0

# ============================================================================
# 安装说明 (Installation Instructions)
# ============================================================================
#
# 基础安装 (仅核心功能):
#   pip install chromadb openai pypdf2 python-docx markdown python-dotenv
#
# 完整安装 (包含开发工具):
#   pip install -r requirements.txt
#
# 生产环境安装 (排除开发依赖):
#   pip install chromadb openai pypdf2 python-docx markdown python-dotenv orjson
#
# ============================================================================
# 兼容性说明 (Compatibility Notes)
# ============================================================================
#
# Python版本: 3.8+
# 操作系统: Windows, macOS, Linux
# 内存要求: 最少4GB，推荐8GB+
# 磁盘空间: 最少1GB (用于向量存储)
#
# 已知问题:
# - grpcio在某些Windows环境下安装困难，已使用ChromaDB替代Milvus
# - 大文档处理可能需要更多内存，建议调整chunkSize参数
#
# ============================================================================
