iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
AI Engineering

Backend 工程師的 Azure GenAI 實戰 系列

本系列以 Backend 工程師視角,使用 Python、FastAPI 與 Azure AI 生態,實作一個 production-minded GenAI backend。內容從 Azure OpenAI 整合、RAG 到 Agent 架構,並涵蓋 API 設計、測試、觀測性與成本控管等 production 議題,聚焦怎麼把 GenAI 從 demo 做成能在真實場景長期運作的系統。

參賽天數 22 天 | 共 22 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 1:LLM 是你接過最不守規矩的下游依賴——Backend 工程師為什麼需要懂 GenAI

你大概遇過這個場景:產品會議上有人說「我們加個 AI 功能吧」,然後任務落到你頭上。你打開文件一看,不就是呼叫一個 HTTP API 嗎?拿 API key、發...

2026-08-01 ‧ 由 Kehao 分享
DAY 2

Day 2:GenAI Backend 參考架構——把不確定性關進最小的籠子

想像你是團隊裡第一個要畫「AI 功能架構圖」的人。最容易畫出來的版本長這樣:前端 → 你的 API → OpenAI,三個框、兩支箭頭,會議上大家點頭通過。三個...

2026-08-02 ‧ 由 Kehao 分享
DAY 3

Day 3:FastAPI + uv 專案骨架——第一個 commit 就把合約與成本鎖住

新專案的第一個 commit 通常是一個 main.py 加一句 hello world,反正「架構之後再說」。但 Day 2 的三個問題(不確定性隔離在哪、什...

2026-08-03 ‧ 由 Kehao 分享
DAY 4

Day 4:Azure OpenAI 的 resource、deployment、model——搞懂哪些名字會進你的 config

現在隨手一搜,還是很容易搜到教你寫 AzureOpenAI(api_version="2024-xx-xx", ...) 的舊文章。但 20...

2026-08-04 ‧ 由 Kehao 分享
DAY 5

Day 5:第一個 Chat API——不是把 SDK 包起來,是決定上游到你為止

把 Day 4 的 wrapper 接上 POST /chat,五分鐘就能寫完:handler 收 message、丟給 SDK、把回傳塞進 JSON。所以今天...

2026-08-05 ‧ 由 Kehao 分享
DAY 6

Day 6:SSE Streaming——HTTP 200 送出之後,誰來告訴 client 出事了

Day 5 結尾承認的第一個限制就是它:回應一次成形,gpt-5-mini 這種 reasoning model 動輒好幾秒,client 盯著空白畫面等。解法...

2026-08-06 ‧ 由 Kehao 分享
DAY 7

Day 7:Conversation State 該放哪裡——跨 request 的 HTTP API 上,store=False 把三選一變成單選題

Day 6 結尾承認的限制今天處理:API 沒有記憶,conversation_id 收了三天還是保留欄位。先把一個幻覺拆掉——LLM API 本身沒有「對話」...

2026-08-07 ‧ 由 Kehao 分享
DAY 8

Day 8:Prompt Template 與版本管理——prompt 是生產資產,不是程式碼裡的字串常數

事故報告寫到一半卡住的那種問題:「上週三下午那批品質很怪的回覆,當時線上跑的是哪一版 prompt?」如果你的 system prompt 是散在程式碼裡的字串...

2026-08-08 ‧ 由 Kehao 分享
DAY 9

Day 9:Token Budget 與成本治理——別估算,計帳;別事後心痛,事前拒絕

LLM 後端最常見的成本事故不是單價貴,是沒有任何一層在花錢之前說不:一個迴圈重試、一段失控的長回覆、一場沒人記得關的對話,帳單月底才告訴你。今天要把成本從「月...

2026-08-09 ‧ 由 Kehao 分享
DAY 10

Day 10:用 API Management 收編 model 憑證——app guardrail 管自己人,gateway 管所有人

Day 9 架了兩道花費邊界之後,有一個問題它們完全答不了:如果 Azure OpenAI 的 API key 外洩了呢?拿到 key 的人不會經過你的 Fas...

2026-08-10 ‧ 由 Kehao 分享