openai/openai-chatkit-advanced-samples

Starter app to build with OpenAI ChatKit SDK

解決的問題

本倉儲提供一系列高階、情境驅動的示範,展示如何使用 OpenAI ChatKit SDK 建立複雜的 AI 聊天介面。它彌補了簡單聊天機器人與完全整合的應用程式體驗之間的差距,展示如何將 AI 代理與即時 UI 狀態、外部資料和互動式元件同步。

工作原理

每個範例均由使用 ChatKit Python SDK 的 FastAPI 後端與使用 ChatKit.js 的 Vite + React 前端組成。此系統實現雙向資訊流:

  • 伺服器 → 客戶端:後端可串流傳輸「客戶端效果」以更新 UI(例如更新地圖或貓的屬性),並傳送帶有動作設定的互動式元件。
  • 客戶端 → 伺服器:前端可透過客戶端工具呼叫向代理提供目前 UI 狀態(例如選取的地圖節點),並傳送特定命令或實體提及(@提及)。
  • 代理整合:代理使用函式工具來檢索應用資料、管理會話狀態並觸發 UI 變更,而專用的「標題代理」會自動為對話命名。

適用對象

正在建構複雜 AI 驅動應用的開發者,希望看到將 LLM 與互動式前端、狀態管理及複雜 UI 元件整合的生產就緒模式。

主要亮點

  • 互動式元件:實作同時具備客戶端與伺服器端動作處理器的元件,實現無縫的使用者互動。
  • UI 狀態同步:允許代理讀取和修改前端狀態(例如同步地鐵地圖畫布或客戶資料)。
  • 上下文感知:利用請求標頭實現頁面感知的回應,將 AI 回應範圍限定於目前頁面內容。
  • 豐富媒體支援:端到端支援圖像附件、語音轉文字轉錄,以及整合的圖像生成進度追蹤。
  • 高階導航:支援對實體(文章、車站等)的 @提及,以及編配器命令(如 /care/find-events),以簡化使用者輸入。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案