Files
fastapi/backend

Backend

医疗问诊 Agent FastAPI 后端工程。

启动

cd backend
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
copy ..\.env.example ..\.env
uvicorn app.main:app --host 127.0.0.1 --port 9000

Swagger

http://127.0.0.1:9000/docs

配置

后端读取项目根目录 .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。

核心约束

  • 用户身份只来自 Authorization: Bearer <access_token>
  • 后端转发 token 到 Django 用户中心 /api/user/users/me/
  • Django 返回的 id 是本系统内部用户隔离字段。
  • 问诊消息进入短期 memory,不作为长期历史保存。
  • 检查检验结果只从数据库读取。
  • 完整训练结束后只保存评价记录、PDF 路径、学习档案和审计日志。
  • LLM 调用统一经过 app/agents/llm_adapter.py