FastAPI入门及使用
一、FastAPI介绍
1.1 简介
FastAPI = 现代、高性能、易学易用的 Python Web 框架专门用来快速开发 API 接口(后端服务)。
适用于:
- 想写 API 接口
- 做 后端服务
- 做 小程序 / APP 的后端
- 做 AI 模型部署
- 想快速开发、少写代码
1.2 优点
1. 极快的运行速度
和 NodeJS、Go 一个级别,是 Python 最快的 Web 框架。
2. 开发速度超快
写接口的速度提升 2~3 倍,代码极少。
3. 自动生成 API 文档(超级好用)
你写完代码,自动生成:
-
交互式文档:
/docs -
可以直接在网页上点按钮测试接口,不用 Postman!
4. 自动数据校验
参数传错类型、少传参数,自动返回清晰错误,不用自己写判断。
5. 支持异步 async
不用改太多代码,就能支持高并发、高性能。
1.3 FastAPI在大模型中的应用
FastAPI 就是把你的大模型,包装成一个别人能调用的 API 接口服务。让模型从 “本地脚本” 变成 “可上线、可调用、可并发的后端服务”。
1.3.1 大模型里 FastAPI 的核心用途
1. 把模型封装成 HTTP 接口(最主要用途)
你训练好或加载好一个模型:
- ChatGLM
- Qwen
- Llama
- 自己微调的小模型
它原本只能在 Python 脚本里跑,前端、小程序、APP、其他服务都调不了。
用 FastAPI 包一层,就能变成:
POST /api/chat
{
"message": "你好"
}
2. 提供稳定、高并发的模型推理服务
1) 大模型推理慢,容易阻塞。FastAPI 天然支持 async 异步,配合:
- 流式输出
- 队列控制
- 并发限制
能让模型服务同时处理多个请求不崩。
2) async def函数介绍
def和async def的区别:
def= 普通函数(同步)async def= 异步函数(协程)
3)async def使用情况:
- 访问数据库
- 请求第三方 API
- 读写文件
- 任何需要等待的操作
注意:在 async def 函数里,
- 如果调用异步库,必须加
await - 不能直接调用同步的耗时操作(会卡住服务)
3. 实现流式返回(像 ChatGPT 打字效果)
这是大模型最常见需求。FastAPI + async 可以轻松实现流式响应,文字一段一段推到前端。
4. 自动参数校验,避免模型崩掉
用户传乱七八糟参数会让模型报错。FastAPI 会自动校验:
-
字段是否存在
-
类型是否正确
-
长度是否超限
不用你写一堆 if-else。
5. 自动生成 API 文档,方便对接前端
模型服务写完,自动出:
-
/docs交互式文档 -
可直接测试接口
-
前端不用问你参数格式
对大模型演示、内部工具极其方便。
6. 搭建 RAG 知识库服务接口
RAG = 检索增强生成(现在大模型最常用)你会需要接口:
-
/upload上传文件 -
/query提问 -
/clear清空知识库
这些用 FastAPI 写最快最简单。
7. 上线部署大模型服务
不管你部署在:
-
本地
-
服务器
-
Docker
-
Kubernetes
最终暴露服务的一定是 Web 框架,首选 FastAPI。
更多推荐
所有评论(0)