iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
Cloud Native

《30 天 Cloud Native:AI 行程規劃後端開發》系列 第 25

Day25 - 打造彈性行程修改 API:客製化行程的關鍵升級

  • 分享至 

  • xImage
  •  

為了讓行程有客製化的效果,我們新增了一個可選欄位 interests,用以描述使用者對旅程的偏好主題,例如藝術文化、美食探索或自然景觀。所以要在每次收到請求組合以下 Prompt 給 Agent 執行:

https://ithelp.ithome.com.tw/upload/images/20250908/20178194gM3hc4Yyy7.png

不過要讓 AI 一次就完成一個完美的行程規劃實在太不切實際,我們想要新增一個 API,讓使用者可以透過既有的 sessionId 或直接傳入 itinerary 來進行行程修改。

為了統一 session 建立與查詢的使用者識別,我們新增了 GLOBAL_USER_ID 常數,並在 Agent 的 session 操作中統一使用,避免多重使用者上下文造成混淆。

此 API 的核心邏輯如下:

  1. Session 驗證或建立
    • 若有 sessionId,則呼叫 async_get_session() 進行驗證
    • 若有 itinerary,則呼叫 async_create_session() 建立新 session,並組合修改提示文字
  2. 錯誤處理
    • 若兩者皆未提供,則回傳 400 錯誤,並提示 "Either sessionId or itinerary is missing"
  3. 回傳結果
    • 回傳 UpdateResponse,包含 session ID 與 AI 回覆內容

這次的改動不僅讓 /update API 更具彈性與容錯能力,也為後續的 session 管理與行程互動打下穩固基礎。透過清晰的資料模型、條件式邏輯與錯誤處理機制,我們成功建立了一個可擴充、可維護的行程修改流程。未來若需支援多語言提示、AI 回覆生成或前端互動整合,這套架構都能輕鬆延伸,持續提升使用者體驗與系統穩定性。


上一篇
Day24 - 強化 Agent 地點選擇能力:利用 Google API 精準選定活動地點
系列文
《30 天 Cloud Native:AI 行程規劃後端開發》25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言