FastAPI学习笔记.md1.8 KBit/develop/FastAPI学习笔记.md
`FastAPI` 是一个现代、高性能的 Web 框架,专为构建 API 设计,具有以下特点: - 基于 Python 类型提示,自动生成接口文档(Swagger UI)。 - 支持异步编程,性能接近 Node.js 和 Go。 - 语法简洁,容易上手,能快速将函数或组件转换为 API 接口。 ### 示例 #### 1. 导入与初始化 ``` from fastapi import FastAPI # 初始化 FastAPI 应用 app = FastAPI( title="第一个LangChain应用", # 接口文档标题 version="0.0.1", # 版本号 description="LangChain应用接口", # 描述信息 ) ``` - `FastAPI()` 创建一个应用实例 `app`,后续的接口(路由)都将注册到这个实例上。 - 参数 `title`、`version`、`description` 用于配置自动生成的接口文档信息。 #### 2. 将 LangChain 链转换为 API 接口 ``` from langserve import add_routes # 注意:代码中可能漏了这个导入,实际需要从 langserve 导入 # 给 app 添加路由(接口),将 chain 关联到 /first_app 路径 add_routes(app, chain, path="/first_app") ``` - `add_routes` 是 LangChain 提供的工具(来自 `langserve` 库),用于快速将 LangChain 链(`chain`)转换为 FastAPI 接口。 - 作用:当用户访问 `http://127.0.0.1:8000/first_app` 时,会触发 `chain` 的调用(等价于 `chain.invoke(...)`)。 - 自动支持多种请求方式:包括 POST 调用(接收输入参数)、GET 预览等,还会生成接口文档。 #### 3. 运行 API 服务 ``` if __name__ == "__main__": import uvicorn # 用 uvicorn 启动 FastAPI 应用,监听本地 8000 端口 uvicorn.run(app, host="127.0.0.1", port=8000) ``` - `uvicorn` 是一个 ASGI 服务器(用于运行 FastAPI 应用的工具)。 - 运行后,API 服务会在 `http://127.0.0.1:8000` 启动,可通过该地址访问接口。