3.6 KiB
3.6 KiB
配置模块需求文档
1. 模块定位
Config 模块是 Django 项目的基础配置模块,负责系统启动、路由装配、环境变量读取、静态资源、文件存储、数据库、日志和第三方组件配置。
该模块不承载业务逻辑,只负责让系统稳定启动,并为其他模块提供统一运行环境。
2. 模块目标
- 支持本地开发和 Docker 部署两种运行方式。
- 支持通过环境变量切换模型 API、Embedding API、调试模式和文件路径。
- 统一注册 Django Apps、模板目录、静态资源目录和上传目录。
- 提供系统级 URL 路由入口。
- 为后续扩展 PostgreSQL、Redis、Celery 等组件预留配置空间。
3. 职责边界
3.1 负责
- Django
settings.py配置。 - Django
urls.py总路由配置。 - WSGI / ASGI 启动配置。
- 环境变量读取。
- SQLite 默认数据库配置。
- 静态文件和上传文件配置。
- Chroma 本地持久化目录配置。
- LLM 与 Embedding 相关环境变量配置。
3.2 不负责
- 不处理具体 Agent 业务逻辑。
- 不解析场景 YAML。
- 不处理文件入库。
- 不直接调用大模型。
- 不保存审计日志。
4. 配置项需求
系统至少需要支持以下环境变量:
| 配置项 | 默认值 | 说明 |
|---|---|---|
DJANGO_SECRET_KEY |
dev-secret-key |
Django 密钥 |
DJANGO_DEBUG |
true |
是否开启调试模式 |
DJANGO_ALLOWED_HOSTS |
* |
允许访问的主机 |
DATABASE_URL |
空 | 预留配置,V1 默认 SQLite,不要求解析该配置 |
LLM_API_KEY |
空 | 大模型 API Key |
LLM_BASE_URL |
https://api.openai.com/v1 |
OpenAI 兼容接口地址,可接入 OpenAI、硅基流动等兼容服务 |
LLM_MODEL |
gpt-4.1-mini |
默认模型名称 |
EMBEDDING_API_KEY |
空 | Embedding API Key;为空时可复用 LLM_API_KEY |
EMBEDDING_BASE_URL |
空 | Embedding OpenAI 兼容接口地址;为空时可复用 LLM_BASE_URL |
EMBEDDING_MODEL |
text-embedding-3-small |
默认 Embedding 模型名称 |
CHROMA_PATH |
data/chroma |
Chroma 持久化目录 |
UPLOAD_ROOT |
data/uploads |
上传文件目录 |
SCENARIO_CONFIG_DIR |
configs |
场景配置目录 |
补充要求:
.env.example仅作为模板文件,不得写入真实密钥。- 本地直接执行
python manage.py runserver时,应自动读取根目录.env。 - Docker 运行时可通过
env_file或容器环境变量注入同一组配置;当前仓库默认由 Compose 读取.env。
5. 目录需求
系统启动时需要保证以下目录存在:
data/
uploads/
chroma/
db.sqlite3
configs/
如果目录不存在,V1 可以在初始化脚本或启动流程中创建。
6. 路由需求
总路由需要聚合以下模块路由:
| 路径 | 模块 | 用途 |
|---|---|---|
/ |
apps.scenarios |
首页和场景列表 |
/chat/ |
apps.chat |
Agent 对话 |
/documents/ |
apps.documents |
文件上传和文档管理 |
/audit/ |
apps.audit |
审计日志查看 |
/admin/ |
Django Admin | 后台管理 |
7. 启动需求
本地启动:
python manage.py migrate
python manage.py runserver
说明:上述命令执行前,应先准备好根目录 .env;当前 V1 代码会在启动时自动加载该文件。
Docker 启动:
docker compose up --build
8. 验收标准
- 项目可以通过
python manage.py runserver启动。 - 项目可以通过
docker compose up --build启动。 /admin/可以访问。- 首页
/可以访问。 - 环境变量可以覆盖默认 LLM 与 Embedding 配置。
- 上传目录和 Chroma 目录有明确配置。