Python语言学习笔记之十二(FastAPI)

2023-12-15 12:33:06

本课程对于有其它语言基础的开发人员可以参考和学习,同时也是记录下来,为个人学习使用,文档中有此不当之处,请谅解。

1、认识FastAPI

FastApi,一个用于构建API的现代、快速(高性能)的web框架。它使用Python 3.6+的类型提示并基于标准的Python ASGI工具包

Python ?ASGI(Asynchronous Server Gateway Interface) 工具包是一种用于构建异步Web服务器的标准接口,它允许异步和基于事件的系统之间的通信。

ASGI工具包的主要作用是将Web服务器与应用程序之间的通信转换为异步通信,从而提高应用程序的性能和响应速度。

???????2、Python ASGI工具包

  1. Hypercom:一个ASGI服务器和WSGI HTTP服务器,它支持HTTP/2和WebSocket, 具有自动重试、请求超时、连接超时、日志记录等功能
  2. Uvicom: 一个ASGI服务器,它支持HTTP/2和WebSocket,具有自动重试、请求超时、连接超时、日志记录等功能
  3. Sanic: 一个Python Web框架,它支持异步请求处理和WebSocket,具有路由、中间件、ORM等功能
  4. Stalette: 一个ASGI服务器和WSGIHTTP服务器,它支持HTTP/2和WebSocket, 具有中间件、路由、异常处理等功能

???????3、FastAPI的特点

  1. 快速: FastAPl的性能极高,可与NodeJS和Go等语言相媲美,是Python框架中最快之一
  2. 高效编码: 使用FastAPI能够提高开发功能的速度约200%至300%。同时减少人为错误
  3. 简单: FastAPI易于使用和学习,设计的非常直观,可以帮助开发人员快速上手。
  4. 标准化: FastAPI完全兼容API的开放标准OpenAPI和JSON Schema
  5. 强大的编辑器支持:FastAPI具有强大的编辑器支持,可以帮助开发人员更快地进行调试,处处皆可自动补全,从而减少调试时间
  6. 自动生成的交互式文档: FastAPI可以自动生成交互式文档,使开发人员更容易理解其API
  7. 代码简洁: FastAPl的代码非常简洁,可以帮助开发人员减少代码重复并提高代码质量
  8. 更少的bug: FastAPl可以帮助开发人员减少大约40%的人为错误,提高代码质量和稳定性.
  9. 生产可用级别的代码: FastAPI不仅提供了极高的性能和快速的开发速度,还注重代码的质量和稳定性,具有生产可用级别的代码.

4、如何使用FastAPI

首先,安装fastapi

执行命令: pip install fastapi

对于生产环境,还需要一个ASGl服务器,如Uvicorn或Hypercorn接下来我们需要安装一下Uvicorn

执行命令: pip install “uvicorn[standard]”

接下来要新建一个main.py文件,写一个简单的案例

接下来我们就要在项目文件目录下输人:

uvicorn main:app --reload

main:文件main.py

app:main.py内创建的对象app=FastAPI()

--reload:更改代码后服务器重新启动,仅用于开发

如何使用FastAP

输入: http://127.0.0.1:8000就可以直接看到返回结果;

输人http://127.0.0.1:8000/docs,即可看到交互式文档;

输入http://127.0.0.1:8000/redoc即可看到AP文档

???????5、FastAPI进阶应用

使用FastAPI构建一个API接口,然后使用OpenAl的GPT模型提供自然语言处理服务,在课程实践中可以构建一个聊天机器人AP1,这个API接收用户输人的文本,然后通过GPT模型进行处理并返回结果

为了实现这种结合,你需要做的工作包括:

使用FastAPI创建一个API接口,这个接口接收用户输入的文本将用户输入的文本发送给OpenAI的GPT模型进行处理解析GPT模型返回的结果并返回给用户

这样是不是就完成了模型小助手的应用

??????????????5、总结

FastAPl是一个现代、快速(高性能)的Python web框架,用于构建API它具有简洁性、高效性和友好界面等特点广泛用于电子商务、旅游预订和社交媒体等场景。

FastAPl的实现原理包括代码架构、请求流程和响应机制等方面。它具有高效的性能和简洁的代码风格,同时需要一定的学习曲线和完善的文档,未来,FastAPI可能会更加智能化灵活和安全。作为一个新兴的web框架,FastAPl必将在构建API方面发挥越来越重要的作用。

未来发展方向

随着技术的不断发展和应用场景的不断扩大,FastAPI的未来发展方向可能有以下几个方面:

  1. 更加智能化: FastAP可以结合人工智能技术,实现自动化的数据处理、异常处理和安全防护等功能,提高API的智能化水平
  2. 更加灵活: FastAPI可以进一步扩展其路由匹配、依赖注入等机制,使得开发人员能够更加灵活地构建API接口
  3. 更加安全: FastAPI可以加强安全防护机制,包括HTTPS支持、访问控制、身份验证等方面,提高API的安全性.

文章来源:https://blog.csdn.net/gyshun/article/details/135013939
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。