使用 FastAPI、Redpanda 和 Docker 構建的事件驅動 AI 管道
該項目演示瞭如何使用 FastAPI、Redpanda(或 Kafka)和 Docker 構建一個最小的事件驅動 AI 管道,將文檔處理分解為提交、提取、摘要和通知等多個階段。
本演示項目展示了一個最小化的事件驅動 AI 管道,使用 FastAPI 作為 API 網關、Redpanda(兼容 Kafka)作為消息代理,以及 Docker 進行容器化部署。整個管道將文檔處理分解為多個階段:首先,用户通過 POST /submit 端點提交文檔;網關將請求發佈為 document.submitted 事件;提取器工人消費該事件,提取文本併發布 text.extracted 事件;摘要器工人進一步處理併發布 summary.generated 事件;最後,通知器工人記錄完成。
項目結構清晰,包含 api-gateway、workers(提取器、摘要器、通知器)、共享模塊(Kafka 配置、模式、工具)以及 Docker 配置。通過 docker compose up --build 命令即可啓動所有服務。測試時,在另一個終端執行 curl 命令即可觸發完整流程。
作者強調 FastAPI 負責請求接收而非繁重處理,Kafka 將請求轉化為事件,每個工人獨立負責一個階段,共享模式確保契約明確。這種架構是生產級 AI 管道的簡化形式。更多細節可參考視頻代碼講解(https://youtu.be/c2ijN2KAWXw)。
此項目以 Python 98.8% 的代碼比例為主,Dockerfile 佔 1.2%。它展示瞭如何通過事件驅動的方式將 AI 處理流程解耦,各步驟可獨立擴展和維護。對於希望構建可擴展 AI 管道的開發者來説,這是一個理想的起點。