本番外篇将带领你快速落地一个结构清晰、可直接启动的 FastAPI 后端服务。如果你有 Java 或其他后端开发背景可以将 FastAPI 对标市面上的Spring MVC / Spring Boot——它同样负责处理 HTTP 请求路由、数据校验、依赖注入并能自动生成标准的 API 交互文档。1. 本章目标完成本章后后端项目将具备以下核心能力建立backend/main.py作为服务的唯一启动入口。编写backend/app/factory.py采用应用工厂模式Application Factory Pattern创建 FastAPI 实例。暴露服务根路径/并返回结构化 JSON 响应。自动集成并可通过/docs访问 Swagger UI 交互式文档。提供命令行校验能力能够动态打印应用标题与已注册路由。本章工程结构backend/ ├── main.py # 启动入口文件暴露 app 实例 └── app/ └── factory.py # 应用工厂组装 FastAPI 实例与路由2. FastAPI 与 ASGI 服务器基础2.1 核心依赖说明FastAPI 基于ASGIAsynchronous Server Gateway Interface异步服务器网关接口标准构建。运行 FastAPI 服务需要配合高性能 ASGI 服务器如 Uvicorn。# 安装 FastAPI 标准依赖包包含 uvicorn 等常用组件pipinstallfastapi[standard]fastapi提供路由映射、依赖注入、Pydantic 数据校验与 Swagger 文档自动生成。uvicorn基于uvloop和httptools实现的超高速 ASGI Web 服务器。2.2 急速入门示例fromfastapiimportFastAPI# 1. 实例化 FastAPI 对象appFastAPI()# 2. 注册 GET 路由app.get(/)defread_root():# 返回字典类型FastAPI 会自动转换为 JSON 响应return{message:Hello FastAPI!}3. 编写应用工厂app/factory.py为避免全局变量污染并提升后续测试与扩展性本项目采用应用工厂模式来构建 FastAPI 应用。# backend/app/factory.pyfromfastapiimportFastAPIdefcreate_app()-FastAPI:应用工厂函数负责初始化 FastAPI 实例并装配路由appFastAPI(title企业级 AI 知识库 API,description基于 FastAPI LLM 的后端服务,version1.0.0)# 注册根接口app.get(/)defread_root():return{status:online,message:FastAPI 后端服务启动成功}returnapp4. 编写启动入口main.pymain.py的职责保持绝对纯粹调用工厂函数并暴露名为app的变量给 Uvicorn 加载。# backend/main.pyfromapp.factoryimportcreate_app# 创建并暴露 FastAPI 应用实例appcreate_app()启动命令uvicorn main:app的映射机制如下uvicorn main : app │ │ │ └── main.py 文件中暴露的 FastAPI 实例对象名称 └──────── 指向 backend/main.py 文件5. 命令行测试与路由校验在编写完代码后可通过 Python 命令行对应用的导入与路由注册情况进行快速验证。5.1 验证应用导入与标题配置终端进入backend目录执行python-cfrom main import app; print(app.title)预期输出企业级 AI 知识库 API5.2 打印已注册路由列表执行以下命令验证默认路由与系统路由注册状态python-cfrom main import app; print([route.path for route in app.routes])预期输出[/, /openapi.json, /docs, /redoc]路由路径来源作用说明/自定义注册本章在工厂函数中定义的根路径接口/docsFastAPI 自动生成Swagger UI 交互式 API 测试文档/redocFastAPI 自动生成ReDoc 风格静态 API 文档/openapi.jsonFastAPI 自动生成遵循 OpenAPI 规范的 JSON 接口描述文件6. 启动服务与接口验证在backend目录下执行启动命令uvicorn main:app--host0.0.0.0--port8000--reload--host 0.0.0.0绑定所有网卡允许局域网外部设备访问。--port 8000服务运行端口。--reload热重载模式。检测到 Python 代码文件变更时自动重启服务开发环境专用。服务输出日志INFO: Will watch for changes in these directories: [/path/to/backend] INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRLC to quit) INFO: Started reloader process [PID] using StatReload INFO: Started server process [PID] INFO: Waiting for application startup. INFO: Application startup complete.6.1 浏览器与 Curl 验证打开浏览器访问[http://127.0.0.1:8000/](http://127.0.0.1:8000/)预期返回{status:online,message:FastAPI 后端服务启动成功}访问 Swagger 页面[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs)即可在线调试/接口。7. 本章小结完成了采用应用工厂模式构建的最小 FastAPI 后端。明确了main:app的加载映射逻辑并实现了异步 ASGI 服务器Uvicorn的部署启动。验证了 FastAPI 自动生成的/docs(Swagger UI) 文档机制。下一章将加入配置管理模块.env读取并实现对 DeepSeek LLM 的第一次 API 调用。