Data Scientist – Additional Skills 4.3 | How to Write API (FastAPI in Python)

Posted by

資料科學家–額外技能4.3 | 怎麼寫API ( fast API in python )

資料科學家–額外技能4.3 | 怎麼寫API ( fast API in python )

在資料科學領域,寫API是非常重要的一個技能。在Python中,使用FastAPI可以快速、輕鬆地寫出高效的API。

什麼是FastAPI?

FastAPI是一個現代、高效的Web框架,可以幫助開發者快速建立API。它結合了Python的靈活性和高效性,同時提供了自動文檔生成和靜態型別檢查等功能。

如何寫API?

使用FastAPI來寫API非常簡單。首先,安裝FastAPI:

      
        pip install fastapi
      
    

接下來,創建一個Python文件,並編寫API的代碼。例如:

      
        from fastapi import FastAPI

app = FastAPI()

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

最後,運行API:

      
        uvicorn main:app --reload
      
    

這樣就可以啟動一個簡單的API了。

總結

在資料科學家的額外技能中,學習如何寫API是非常有價值的。使用FastAPI可以讓這一過程變得更加輕鬆和高效。希望本文能夠幫助您開始使用FastAPI寫API。

0 0 votes
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@play_data
6 months ago

from fastapi import FastAPI

import joblib

from pydantic import BaseModel

import pandas as pd

import uvicorn

import pyodbc

import warnings

warnings.filterwarnings('ignore')

path = 'D:/API/fast/'

model = joblib.load(path + 'model_ex')

def pred(v1, v2, v3, v4):

df = {'v1': [v1],'v2': [v2],'v3': [v3],'v4': [v4]}

df = pd.DataFrame(df,index=[0])

try:

df['v1'] = df['v1'].astype(int)

except:

df['v1'] = 5

out = pd.DataFrame(model.predict_proba(df))

out.columns = model.classes_

out = out.T.reset_index()

out = out.rename(columns={'index': '花種'})

out = out.rename(columns={0: '機率'})

out = out['機率'].tolist()

return out

#pred("我是error",3,2.1,4)

# initiate API

app = FastAPI()

# define model for post request.

class ModelParams(BaseModel):

v1: int

v2: int

v3: int

v4: int

@app.post("/predict") # 指定 api 路徑 (post方法)

def predict(params: ModelParams): #需同 app post

pred_df = pred(params.v1, params.v2, params.v3, params.v4)

return pred_df

@YU_Zero
6 months ago

你好,抱歉雖然跟影片的內容沒有關係,但還是想請問有沒有推薦的資料分析或者統計學的相關書籍。