iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
生成式 AI

AI的雲上漫遊系列 第 11

Day11 FastAPI 介紹

  • 分享至 

  • xImage
  •  

前面快速帶了一些RAG的相關實作,我們該怎麼把他變成可以給user使用的方式呢?有點概念的話就知道我們會使用API的方式去呼叫,那為了更快速的可以達成所以我們選擇了FastAPI,以下大概是整理了幾點:

  • 快速:FastAPI的性能非常高,聽說(?)可以與NodeJS和Go相媲美。
  • 易於使用:設計非常直觀,易於學習和使用。
  • 基於標準:FastAPI基於開放標準JSON Schema和OpenAPI。
  • 自動文件:能自動生成交互式API文件。
  • 數據驗證:內置數據驗證功能,減少了手動編寫驗證程式的需求。
  • 安全性:內置了對JWT token、OAuth2等的支持。

以下為文件的快速實作:

安裝所需SDK及撰寫python code:

pip install fastapi
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}

例子創建了兩個endpoint:一個根路徑("/")和一個接受參數的路徑("/items/{item_id}")。

最後在bash運行:

 uvicorn main:app --reload

瀏覽器開啟 http://127.0.0.1:8000/docs 就可以看到swagger了~

最後我會再接下來快速生成一個fastapi架構上github大家也可以隨拿隨用!

參考資料:https://fastapi.tiangolo.com/


上一篇
Day10 RAG實作2 - Retrieval and generation
下一篇
Day12 FastAPI 實作 - LLM服務串接
系列文
AI的雲上漫遊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言