后端开发

eval_752 的后端开发指南。

技术栈

  • FastAPI 0.115:Web 框架
  • SQLAlchemy:ORM
  • Alembic:数据库迁移
  • Celery:异步任务队列
  • LiteLLM:LLM provider 集成
  • Pydantic v2:校验
  • structlog:结构化日志

项目结构

backend/src/eval_752/
├── app/           # FastAPI routes, dependencies
├── core/          # Config, logging, security
├── domain/        # Business models
├── infra/         # Database, external clients
├── services/      # Business logic
├── workers/       # Celery tasks
└── security/      # Encryption, API keys

开发环境

cd backend
uv sync --extra dev
uv run uvicorn eval_752.app.main:app --reload

质量标准

Linting:ruff

uvx ruff check
uvx ruff format

类型检查:mypy strict

uv run mypy --strict

测试:pytest,后端覆盖率门禁为 100% branch-aware coverage

uv run pytest --cov

详细说明见 测试指南

关键模式

  • 业务逻辑放在 services/,而不是路由处理器里
  • 通过 FastAPI 实现依赖注入
  • 使用 Pydantic 做数据校验
  • 使用带上下文的结构化日志
  • 在有收益时优先异步
  • 通过 middleware + 已翻译的 API 错误完成 locale 协商

本地化约定见 国际化

完整 setup 见 贡献指南