2026-06-01 09:25:26 +08:00
|
|
|
|
# Backend
|
|
|
|
|
|
|
2026-06-01 17:32:18 +08:00
|
|
|
|
医疗问诊 Agent FastAPI 后端工程。
|
2026-06-01 09:25:26 +08:00
|
|
|
|
|
2026-06-01 17:32:18 +08:00
|
|
|
|
## 启动
|
2026-06-01 09:25:26 +08:00
|
|
|
|
|
2026-06-01 17:32:18 +08:00
|
|
|
|
```powershell
|
2026-06-01 09:25:26 +08:00
|
|
|
|
python -m venv .venv
|
2026-06-01 17:32:18 +08:00
|
|
|
|
.\.venv\Scripts\activate
|
2026-06-01 09:25:26 +08:00
|
|
|
|
pip install -r requirements.txt
|
2026-06-03 15:51:46 +08:00
|
|
|
|
cd ..
|
|
|
|
|
|
copy .env.example .env
|
|
|
|
|
|
cd backend
|
2026-06-01 17:32:18 +08:00
|
|
|
|
uvicorn app.main:app --host 127.0.0.1 --port 9000
|
2026-06-01 09:25:26 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-06-01 17:32:18 +08:00
|
|
|
|
Swagger:
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
|
http://127.0.0.1:9000/docs
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 配置
|
|
|
|
|
|
|
2026-06-03 15:51:46 +08:00
|
|
|
|
后端读取项目根目录 `.env`。核心配置:
|
2026-06-01 17:32:18 +08:00
|
|
|
|
|
|
|
|
|
|
```env
|
2026-06-03 15:51:46 +08:00
|
|
|
|
DATABASE_URL=mysql+pymysql://root:<password>@mysql:3306/medical_platform?charset=utf8mb4
|
|
|
|
|
|
MYSQL_URL=mysql+aiomysql://root:<password>@mysql:3306/medical_platform?charset=utf8mb4
|
2026-06-01 17:32:18 +08:00
|
|
|
|
REDIS_URL=redis://redis:6379/0
|
2026-06-03 15:51:46 +08:00
|
|
|
|
AUTH_USER_ME_URL=http://django:8000/api/user/users/me/
|
|
|
|
|
|
LLM_API_KEY=
|
2026-06-01 17:32:18 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-06-03 15:51:46 +08:00
|
|
|
|
真实密码、API Key 和 access token 只写入部署环境或本地 `.env`。
|
2026-06-01 17:32:18 +08:00
|
|
|
|
|
2026-06-01 09:25:26 +08:00
|
|
|
|
## 核心约束
|
|
|
|
|
|
|
2026-06-01 17:32:18 +08:00
|
|
|
|
- 用户身份只来自 `Authorization: Bearer <access_token>`。
|
|
|
|
|
|
- 后端转发 token 到 Django 用户中心 `/api/user/users/me/`。
|
|
|
|
|
|
- Django 返回的 `id` 是本系统内部用户隔离字段。
|
2026-06-01 09:25:26 +08:00
|
|
|
|
- 问诊消息进入短期 memory,不作为长期历史保存。
|
|
|
|
|
|
- 检查检验结果只从数据库读取。
|
2026-06-03 15:51:46 +08:00
|
|
|
|
- 完整训练结束后保存 `training_record` 和 `training_score_detail`。
|
2026-06-01 17:32:18 +08:00
|
|
|
|
- LLM 调用统一经过 `app/agents/llm_adapter.py`。
|