prepare backend-only fastapi deployment

This commit is contained in:
刘金宝
2026-06-01 17:32:18 +08:00
parent 338e2c8e1d
commit 132155c280
59 changed files with 374 additions and 9155 deletions
+28 -9
View File
@@ -1,23 +1,42 @@
# Backend
医疗问诊 Agent 第一版 Demo 后端工程。
医疗问诊 Agent FastAPI 后端工程。
## 启动流程
## 启动
```bash
```powershell
cd backend
python -m venv .venv
.venv\Scripts\activate
.\.venv\Scripts\activate
pip install -r requirements.txt
copy ..\.env.example ..\.env
python -m scripts.init_demo_db
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
uvicorn app.main:app --host 127.0.0.1 --port 9000
```
Swagger
```text
http://127.0.0.1:9000/docs
```
## 配置
后端读取项目根目录 `.env`
```env
DATABASE_URL=mysql+pymysql://root:<password>@mysql:3306/medical?charset=utf8mb4
MYSQL_URL=mysql+aiomysql://root:<password>@mysql:3306/medical?charset=utf8mb4
REDIS_URL=redis://redis:6379/0
```
真实密码和 API Key 只写入部署环境或本地 `.env`,不提交 Git。
## 核心约束
- 所有业务接口通过 `X-User-Id` 做用户隔离
- 用户身份只来自 `Authorization: Bearer <access_token>`
- 后端转发 token 到 Django 用户中心 `/api/user/users/me/`
- Django 返回的 `id` 是本系统内部用户隔离字段。
- 问诊消息进入短期 memory,不作为长期历史保存。
- 检查检验结果只从数据库读取。
- 完整训练结束后只保存评价记录、PDF 导出记录、学习档案和审计日志。
- DeepSeek 调用统一经过 `agents/llm_adapter.py`
- 完整训练结束后只保存评价记录、PDF 路径、学习档案和审计日志。
- LLM 调用统一经过 `app/agents/llm_adapter.py`