后端组件依赖
技术栈概览
WHartTest 后端基于 Django REST Framework 构建,采用 Python 生态的现代化技术栈,提供高性能、可扩展的 RESTful API 服务。
版本控制说明
在依赖管理中,我们使用以下版本控制符号:
- ==: 精确版本匹配(如
Django==5.2) - >=: 大于或等于指定版本
- ^: 兼容版本(主版本号不变,次版本号和修订号可以升级)
- ~: 近似版本(次版本号不变,修订号可以升级)
核心框架
Django
- 版本: 5.2
- 作用: 高级 Python Web 框架,遵循 MTV 架构模式
- 特点:
- 内置 ORM、认证系统、管理后台
- 强大的中间件支持
- 完善的文档和社区
- 开源协议: BSD License
Django REST Framework
- 版本: 3.16.0
- 作用: Django 的 RESTful API 扩展框架
- 特点:
- 序列化/反序列化
- 认证和权限控制
- 视图集和路由
- 内置 API 文档
- 开源协议: BSD License
身份认证
Django REST Framework Simple JWT
- 版本: 5.3.1
- 作用: JWT 认证支持
- 开源协议: MIT License
API 文档
DRF Spectacular
- 版本: 0.28.0
- 作用: API Schema 生成和文档
- 开源协议: BSD License
跨域支持
Django CORS Headers
- 版本: 4.3.1
- 作用: CORS 跨域支持
- 开源协议: MIT License
环境配置
Python Dotenv
- 版本: 1.1.1
- 作用: 环境变量加载
- 开源协议: BSD License
MCP 工具支持
FastMCP
- 版本: 2.4.0
- 作用: MCP 工具框架
- 开源协议: MIT License
网络请求
HTTPX
- 版本: 0.28.1
- 作用: 异步 HTTP 客户端
- 开源协议: BSD License
OpenAI
- 版本: 1.79.0
- 作用: OpenAI API 客户端
- 开源协议: MIT License
数据过滤
Django Filter
- 版本: 25.1
- 作用: Django 查询过滤
- 开源协议: BSD License
路由扩展
DRF Nested Routers
- 版本: 0.94.2
- 作用: 嵌套路由支持
- 开源协议: BSD License
AI 和机器学习
LangGraph
- 版本: 0.4.5
- 作用: 语言模型应用编排框架
- 开源协议: MIT License
-### LangChain 相关组件
- langchain-openai (0.3.17): OpenAI 集成
- langchain-ollama (0.2.2): Ollama 本地模型支持
- langchain-mistralai (0.2.4): Mistral AI 支持
- langchain-cohere (0.3.5): Cohere AI 支持
- langchain-fireworks (0.2.7): Fireworks AI 支持
- langchain-core (0.3.60): 核心功能
- langgraph-checkpoint-sqlite (2.0.10): SQLite 检查点存储
- langchain-mcp-adapters (0.1.7): MCP 适配器
- 开源协议: MIT License
AI 服务客户端
- cohere (5.15.0): Cohere API 客户端
- fireworks-ai (0.15.12): Fireworks AI 客户端
- ollama (0.4.7): Ollama 客户端
- 开源协议: MIT/Apache 2.0 License
LangChain 社区组件
- langchain-community (0.3.24): 社区扩展
- langchain-text-splitters (0.3.8): 文本分割器
- langchain-qdrant (0.2.1): Qdrant 向量数据库集成
- qdrant-client (1.11.3): Qdrant 客户端
- fastembed (>=0.7.0): BM25 稀疏向量编码(混合检索)
- 开源协议: MIT/Apache 2.0 License
文档处理
文档格式支持
- openpyxl (3.1.5): Excel 文件处理
- pypdf (5.6.0): PDF 处理
- python-docx (1.1.2): Word 文档处理
- python-pptx (1.0.2): PowerPoint 文档处理
- docx2txt (0.9): Word 文档文本提取
- unstructured (0.17.2): 非结构化数据处理
- beautifulsoup4 (4.13.3): HTML/XML 解析
- 开源协议: MIT License (除 beautifulsoup4 为 MIT License)
HuggingFace 模型依赖(已弃用)
⚠️ 注意: 从当前版本开始,项目已改用 CustomAPIEmbeddings 通过 API 调用嵌入模型,无需安装以下大型依赖包。
如需使用本地嵌入模型(不推荐),需要安装以下依赖(总计约 1GB+):
- sentence-transformers (4.1.0): 句子转换模型 (~90MB模型文件)
- torch (2.7.1): PyTorch 框架 (~800MB+)
- transformers (4.52.4): HuggingFace transformers 库
- huggingface-hub (0.32.4): HuggingFace 模型下载
- 开源协议: Apache License 2.0
推荐方式: 使用 API 嵌入服务(OpenAI、Azure、Ollama 等),无需下载大型模型文件。
自然语言处理
NLTK
- 版本: >=3.8.0
- 作用: 自然语言处理工具包,用于文本分割和处理
- 开源协议: Apache License 2.0
Tiktoken
- 版本: >=0.5.0
- 作用: Token 计数库,用于上下文长度计算和 Token 管理
- 开源协议: MIT License
实时通信
Django Channels
- 版本: 4.3.2
- 作用: Django WebSocket 支持
- 开源协议: BSD License
Channels Redis
- 版本: 4.3.0
- 作用: Channels 的 Redis 后端
- 开源协议: BSD License
Daphne
- 版本: 4.2.1
- 作用: ASGI 服务器,支持 HTTP、HTTP2 和 WebSocket
- 开源协议: BSD License
异步任务
Celery
- 版本: 5.4.0
- 作用: 分布式任务队列
- 开源协议: BSD License
Redis
- 版本: 5.2.0
- 作用: Redis 客户端,用作 Celery 的 Broker 和 Backend
- 开源协议: MIT License
数据库驱动
Psycopg2
- 版本: 2.9.10
- 作用: PostgreSQL 数据库驱动(Django ORM 使用)
- 开源协议: LGPL License
Psycopg3
- 版本: 3.3.1
- 作用: PostgreSQL 数据库驱动(LangGraph Checkpoint 使用)
- 开源协议: LGPL License
测试与自动化
Pytest
- 版本: >=8.0.0
- 作用: Python 测试框架
- 开源协议: MIT License
Playwright
- 版本: >=1.40.0
- 作用: 浏览器自动化工具,用于端到端测试
- 开源协议: Apache License 2.0
ASGI 服务器
Uvicorn
- 版本: 0.34.0
- 作用: ASGI 服务器,支持 WebSocket
- 开源协议: BSD License
语言检测
Langdetect
- 版本: 1.0.9
- 作用: 语言检测库
- 开源协议: Apache License 2.0
Markdown 处理
Markdown
- 版本: 3.9
- 作用: Markdown 文档解析和处理
- 开源协议: BSD License
