【python 算法接口】使用FastAPI框架快速构建高性能的api服务

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能课程

【python 算法接口】使用FastAPI框架快速构建高性能的api服务_第1张图片

一、FastAPI 干啥的?
FastAPI 是用来构建 API 服务的一个高性能框架。

二、为什么选择 FastAPI ?

FastAPI 是一个现代、高性能 web 框架,用于构建 APIs,基于 Python 3.6 及以上版本。
最大特点:快!性能极高,可与 NodeJS, Go 媲美。
基于 Starlette 和 Pydantic,是 FastAPI 如此高性能的重要原因。
还具备代码复用性高,容易上手,健壮性强的优点。
个人还觉得,FastAPI 还有一个非常强的优势:方便的 API 调试,生成 API 文档,直接能够做到调试自己构建的 API,这在实际应用中,价值凸显。
FastAPI 这么强悍,有必要研究和使用,因为无论做开发,还是做算法,API 服务真的太重要,太重要,尤其是大厂,离不开 API 接口。

三、安装包

要求 python3.6版本及以上

pip install fastapi
pip install uvicorn
pip install hypercorn

四、快速开始一个get请求的demo

定义一个python文件,命名为 main.py

# -*- coding: utf-8 -*-
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

运行服务:

uvicorn main:app --reload

指定7000端口

uvicorn main:app --port 7000 --reload

或者

hypercorn main:app --bind 0.0.0.0:80

该命令uvicorn main:app指的是:
main:文件main.py(Python“模块”)。
app:main.py在线内创建的对象app = FastAPI()。
–reload:更改代码后使服务器重新启动。仅这样做是为了发展。
默认开启端口是8000.

五、验证服务是否开启
访问网址:
http://127.0.0.1:8000/

{"Hello":"World"}

访问网址:
http://127.0.0.1:8000/items/5?q=赖德发

{"item_id":5,"q":"赖德发"}

您已经创建了一个API:

接收的HTTP请求的路径 /和/items/{item_id}。
这两个路径都采用GET 操作(也称为HTTP 方法)。
该路径 /items/{item_id}的path参数 item_id应为int。
该路径 /items/{item_id}具有可选的str 查询参数 q。

六、现在看看 是否有可视化API文档

现在在浏览器中打开http://127.0.0.1:8000/docs,你会看到一个可以交互的api文档

你可以在这个可视化的接口页面,完成接口的测试。在浏览器打开http://127.0.0.1:8000/redoc,将会看到另外一种风格接口文档页面。更多关于fastapi的内容,请查看下面的网站。

你可能感兴趣的:(数据科学--python)