SOURCE
FastAPI学习笔记 摘要
文档概览
全文覆盖三类核心内容:1. FastAPI核心特性介绍;2. FastAPI项目初始化配置方法;3. 接口路由注册规则。同时提供了结合LangChain生态部署API的完整可运行代码示例,以及服务启动、访问的全流程操作说明。
关键事实
- FastAPI核心特性:
- 基于Python类型提示,可自动生成Swagger UI格式的接口文档
- 原生支持异步编程,性能表现接近Node.js与Go语言
- 语法简洁易上手,支持快速将普通函数或业务组件转换为API接口
- 技术依赖:采用ASGI服务器uvicorn作为运行容器,结合LangServe可零冗余封装LangChain链为标准API
重要细节
1. FastAPI初始化配置
from fastapi import FastAPI
# 初始化 FastAPI 应用
app = FastAPI(
title="第一个LangChain应用", # 接口文档标题
version="0.0.1", # 版本号
description="LangChain应用接口", # 描述信息
)
- 通过
FastAPI()构造函数创建应用实例app,后续所有接口路由均需注册到该实例上 - 构造参数
title、version、description为可选配置,用于自定义自动生成的接口文档展示信息
2. LangChain链路由注册(基于LangServe)
注意:需提前安装
langserve依赖,代码中需手动导入add_routes工具
from langserve import add_routes
# 给 app 添加路由,将已定义的LangChain链实例chain关联到 /first_app 路径
add_routes(app, chain, path="/first_app")
add_routes是LangServe官方提供的封装工具,可一键将LangChain链转换为标准FastAPI接口- 接口生效后,用户访问
http://127.0.0.1:8000/first_app时会自动触发chain.invoke()调用逻辑 - 自动适配多种请求方式:支持POST请求传参调用、GET请求预览,同时自动生成对应接口的文档条目
3. 服务启动配置(基于uvicorn)
if __name__ == "__main__":
import uvicorn
# 用 uvicorn 启动 FastAPI 应用,监听本地 8000 端口
uvicorn.run(app, host="127.0.0.1", port=8000)
uvicorn是ASGI服务器的主流实现,为FastAPI官方推荐的运行容器- 服务启动后默认监听本地8000端口,可通过
http://127.0.0.1:8000访问接口服务