把驗證邏輯封裝成一個簡單的 API 伺服器腳本

更新 發佈閱讀 7 分鐘

這是一個基於 FastAPI 的工業級實作。這套腳本能讓 2x RTX 5090 轉化為一個強大的後端推理中心,自動處理模型生成的 JSON,驗證其是否符合 API 規範,並在錯誤時自動進行「自我修正」嘗試。

1. 安裝必要套件

在您的 conda 環境中執行:

</>Bash
pip install fastapi uvicorn pydantic

2. 封裝 API 伺服器 (assistant_server.py)

這段代碼整合了模型推理、JSON 驗證與自動修正邏輯。

</>Python
import torch
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from transformers import AutoModelForCausalLM, AutoTokenizer
from validator import check_model_output # 使用我們剛寫好的驗證邏輯

app = FastAPI(title="RTX 5090 AI Assistant API")

# --- 1. 載入模型 (利用 2x 5090) ---
MODEL_PATH = "./output_assistant_7b"
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
torch_dtype=torch.bfloat16,
device_map="auto" # 自動分攤到兩張 5090
)

class ChatRequest(BaseModel):
prompt: str
max_retries: int = 2 # 允許自動修正次數

# --- 2. 核心推理與驗證邏輯 ---
def run_inference(full_prompt: str):
inputs = tokenizer(full_prompt, return_tensors="pt").to("cuda")
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.1, # 低溫度確保結構化輸出穩定
do_sample=True
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)

@app.post("/ask")
async def ask_assistant(request: ChatRequest):
current_prompt = f"System: 你是專業助理,請使用 JSON 調用工具。\nUser: {request.prompt}\nAssistant: "

for attempt in range(request.max_retries + 1):
# A. 模型生成
raw_res = run_inference(current_prompt)
# 取得 Assistant 回答的部分
answer = raw_res.split("Assistant:")[-1].strip()

# B. 驗證結構
is_valid, msg = check_model_output(answer)

if is_valid:
return {"status": "success", "tool_call": answer, "message": msg}

# C. 自我修正:如果失敗,將錯誤餵回給模型再試一次
print(f"嘗試 {attempt+1} 失敗: {msg}")
current_prompt += f"{answer}\nSystem: 格式錯誤:{msg}。請重新輸出正確的 JSON 格式。"

raise HTTPException(status_code=422, detail="模型多次嘗試後仍無法生成正確格式")

# 啟動指令: uvicorn assistant_server:app --host 0.0.0.0 --port 8000

3. 如何遠端連接您的 5090 助理?

伺服器啟動後(uvicorn ...),您可以從任何裝置(手機、筆電)發送指令。

使用 curl 測試:

</>Bash
curl -X POST "http://<您的IP>:8000/ask" \
-H "Content-Type: application/json" \
-d '{"prompt": "幫我查一下預算並訂個明天三點的會"}'

4. 針對 2026 年環境的優化建議

  1. 併發處理 (Concurrency): 兩張 5090 的顯存(64GB)足夠讓您在推論時使用 Continuous Batching(如 vLLM 或 TGI)。如果您的請求量大,建議將此腳本改為 vLLM 後端。
  2. 安全性: 如果這台伺服器對外網開放,請務必在 FastAPI 前面加一個 API_KEY 驗證,防止別人偷用您的 5090 算力。
  3. 異步處理 (Async): 對於需要調用外部 Calendar API 的動作,建議在 check_model_output 通過後,由後端非同步執行 API 請求,再回傳結果給用戶。

大功告成!

您現在擁有一套完整的結構化專業助理系統

  • 訓練端: mmap 加載、DeepSpeed ZeRO-3、Flash Attention 3。
  • 驗證端: Pydantic 嚴格檢查 + 自動自我修正。
  • 部署端: FastAPI 支援多卡推論。





留言
avatar-img
sirius數字沙龍
16會員
413內容數
吃自助火鍋啦!不要客氣,想吃啥,請自行取用!
sirius數字沙龍的其他內容
2026/03/06
用 Python 函數來檢查模型輸出的 JSON 是否符合 API 定義,可以直接在 5090 訓練完後,自動過濾掉那些「亂寫 API 參數」的不合格模型。 針對您的 2x RTX 5090 訓練任務,我們需要一個嚴格的驗證函數。結構化數據微調(Function Calling)最怕的就是模型「看
Thumbnail
2026/03/06
用 Python 函數來檢查模型輸出的 JSON 是否符合 API 定義,可以直接在 5090 訓練完後,自動過濾掉那些「亂寫 API 參數」的不合格模型。 針對您的 2x RTX 5090 訓練任務,我們需要一個嚴格的驗證函數。結構化數據微調(Function Calling)最怕的就是模型「看
Thumbnail
2026/03/06
這是一個非常關鍵的進階需求。要讓模型成為能調用 Calendar API 或 數據庫 的「行動派助理」,這已經超出了單純的說話風格微調,進入了 Function Calling(函數調用) 或 Agent(智能體) 的範疇。 在兩張 RTX 5090 上,這需要特殊的數據格式與訓練策略。
Thumbnail
2026/03/06
這是一個非常關鍵的進階需求。要讓模型成為能調用 Calendar API 或 數據庫 的「行動派助理」,這已經超出了單純的說話風格微調,進入了 Function Calling(函數調用) 或 Agent(智能體) 的範疇。 在兩張 RTX 5090 上,這需要特殊的數據格式與訓練策略。
Thumbnail
2026/03/06
目前的風格微調任務,想要模型扮演某個特定的角色,如專業助理,或要讓它符合特定格式,例如只用 Markdown 回覆,將決定我們是否要加入額外的格式約束代碼。 要將模型訓練成一位「專業助理」,核心目標是提升模型的指令遵循能力(Instruction Following)、語氣穩定性以及任務執行邏輯。
Thumbnail
2026/03/06
目前的風格微調任務,想要模型扮演某個特定的角色,如專業助理,或要讓它符合特定格式,例如只用 Markdown 回覆,將決定我們是否要加入額外的格式約束代碼。 要將模型訓練成一位「專業助理」,核心目標是提升模型的指令遵循能力(Instruction Following)、語氣穩定性以及任務執行邏輯。
Thumbnail
看更多
你可能也想看
Thumbnail
用 AI 生成行動計畫:把腦中靈感變成一步步可執行的任務表! 每天腦袋都有一堆靈感閃過, 想寫文章、想出書、想健身早起…… 但最後常常卡在一句話:「我不知道從哪開始。」 你不是沒目標,而是缺一個具體可執行的流程。 這時候,AI 就能變成你的自動化行動助理。 一、從「有想法」到「有行動
Thumbnail
用 AI 生成行動計畫:把腦中靈感變成一步步可執行的任務表! 每天腦袋都有一堆靈感閃過, 想寫文章、想出書、想健身早起…… 但最後常常卡在一句話:「我不知道從哪開始。」 你不是沒目標,而是缺一個具體可執行的流程。 這時候,AI 就能變成你的自動化行動助理。 一、從「有想法」到「有行動
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
在民事勝訴後許多當事人以為問題終於落幕然而真正的挑戰往往在於如何執行判決當債務人名下查無財產沒有存款沒有不動產也沒有動產可供查扣更常見的情況是債務人明明有工作卻刻意要求以現金方式領薪企圖規避強制執行讓債權人無法取得應有的賠償然而法律制度並不因為薪資支付方式不同而使債務人得以逃避義務只要掌握正確方向仍
Thumbnail
在民事勝訴後許多當事人以為問題終於落幕然而真正的挑戰往往在於如何執行判決當債務人名下查無財產沒有存款沒有不動產也沒有動產可供查扣更常見的情況是債務人明明有工作卻刻意要求以現金方式領薪企圖規避強制執行讓債權人無法取得應有的賠償然而法律制度並不因為薪資支付方式不同而使債務人得以逃避義務只要掌握正確方向仍
Thumbnail
身為一人公司的校長兼撞鐘,有個能加減幫點忙的助手真的好重要。好在我的創業時代,是這麼夢幻的AI時代。 感恩各種AI工具,的確幫我省下不少苦力活。從最基本的資訊整理、改寫文章、做表單、摘要會議記錄,到進階的idea發想、資料分析摘要,還有心靈層次、策略層次的各種議題討論;甚至我最近還自己做了一個APP
Thumbnail
身為一人公司的校長兼撞鐘,有個能加減幫點忙的助手真的好重要。好在我的創業時代,是這麼夢幻的AI時代。 感恩各種AI工具,的確幫我省下不少苦力活。從最基本的資訊整理、改寫文章、做表單、摘要會議記錄,到進階的idea發想、資料分析摘要,還有心靈層次、策略層次的各種議題討論;甚至我最近還自己做了一個APP
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
在最近的一篇報導中,輝達執行長黃仁勳強調了學習生成式人工智慧(Generative AI)對於學生未來職涯的重要性。他表示,如果他重新成為學生,將會優先學習如何使用像是ChatGPT、Gemini Pro和Grok等AI工具,這些工具在各行各業中將發揮巨大的效益。 主要觀點 1. 與AI互動的
Thumbnail
在最近的一篇報導中,輝達執行長黃仁勳強調了學習生成式人工智慧(Generative AI)對於學生未來職涯的重要性。他表示,如果他重新成為學生,將會優先學習如何使用像是ChatGPT、Gemini Pro和Grok等AI工具,這些工具在各行各業中將發揮巨大的效益。 主要觀點 1. 與AI互動的
Thumbnail
Z-Image Turbo 是近期(2025 年 11 月底至 12 月初)由 通義實驗室(Tongyi Lab,阿里巴巴旗下) 推出的全新開源 AI 繪圖模型。 它採用了與 Stable Diffusion 3 類似的先進架構,但在生成速度、中文理解能力以及文字渲染(在圖片中寫字)方面顯著
Thumbnail
Z-Image Turbo 是近期(2025 年 11 月底至 12 月初)由 通義實驗室(Tongyi Lab,阿里巴巴旗下) 推出的全新開源 AI 繪圖模型。 它採用了與 Stable Diffusion 3 類似的先進架構,但在生成速度、中文理解能力以及文字渲染(在圖片中寫字)方面顯著
Thumbnail
曾經被炒到一碼數萬元的 Manus AI,終於全面開放!不少科技圈大佬早早進場,如今所有人都能體驗這款號稱能「直接幫你動手做事」的 AI 工具。 不同於過往僅提供建議的 AI 模型,Manus 更像一位能完成任務的數位助手。
Thumbnail
曾經被炒到一碼數萬元的 Manus AI,終於全面開放!不少科技圈大佬早早進場,如今所有人都能體驗這款號稱能「直接幫你動手做事」的 AI 工具。 不同於過往僅提供建議的 AI 模型,Manus 更像一位能完成任務的數位助手。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
ChatGPT 的出現不僅改變了我們的生活,也為各行各業帶來了新的可能性。本文將探討如何將 ChatGPT 應用於景觀設計領域,從靈感發想、文字潤飾、意象照片生成,到植栽選擇、尺寸參考及會議紀錄整理,提供實用的技巧。同時提醒設計師在運用 AI 時仍需結合專業判斷與實地考量,以達到最佳的設計成果。
Thumbnail
ChatGPT 的出現不僅改變了我們的生活,也為各行各業帶來了新的可能性。本文將探討如何將 ChatGPT 應用於景觀設計領域,從靈感發想、文字潤飾、意象照片生成,到植栽選擇、尺寸參考及會議紀錄整理,提供實用的技巧。同時提醒設計師在運用 AI 時仍需結合專業判斷與實地考量,以達到最佳的設計成果。
Thumbnail
## 快速重點摘要 1. AI 對專業領域的影響正迅速擴大 2. AI 技術發展與應用趨勢 3. 數據隱私與資訊獲取的新興問題 4. 加密貨幣的企業採納與風險
Thumbnail
## 快速重點摘要 1. AI 對專業領域的影響正迅速擴大 2. AI 技術發展與應用趨勢 3. 數據隱私與資訊獲取的新興問題 4. 加密貨幣的企業採納與風險
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News