- Botpress 中的 Execute Code Card 允許您在機器人工作流程中執行自訂 JavaScript,以實現標準內建動作以外的動態 API 呼叫、資料處理和個人化邏輯。
- 主要用例包括動態 API 請求、後處理LLM 、速率限制、權限檢查,以及連鎖多步驟 API 呼叫,讓 AI 代理精準處理複雜的工作流程。
- 最佳實作包括在環境變數中保護 API 金鑰、優雅地處理錯誤和逾時,以及建立條件邏輯以進行穩健、安全的機器人作業 - 確保順暢、可擴充的 API 整合。
AI 代理的強大程度取決於其可存取的資料。雖然大型語言模型LLMs) 會從訓練資料產生回應,但除非與 API 整合,否則無法擷取即時股票價格、處理付款或存取 CRM 詳細資料。
API 可讓 AI 代理存取即時資料、執行邏輯和觸發動作。要充分利用這些 API,代理需要自訂程式碼。
Botpress Studio中的「執行代碼」卡可讓您在機器人工作流程中編寫和執行 JavaScript - 無縫處理 API 呼叫、資料處理和機器人行為自訂。
什麼是 Execute Code Card?
Botpress 中的 Execute Code Card 賦予開發人員在機器人流程中執行自訂 JavaScript 的能力。它可以實現以下功能:
- 自訂邏輯執行:您可以標準動作未涵蓋的方式執行複雜的計算或轉換資料。
- 動態互動:根據使用者資料或即時計算調整回應。
- 資料整合:無縫連接第三方服務以取得或傳送資料。
- 狀態管理:存取並修改機器人的狀態,以維持情境並個人化互動。
- 錯誤處理:實施自訂錯誤管理以確保穩健運作。
Execute Code Card 具備人工智能產生的程式碼建議。輸入提示,例如取得 API 資料,系統就會立即產生 JavaScript。然後,您可以檢閱、編輯並依需要精進,加快開發速度。
為什麼 AI 代理需要外部 API?
AI 代理的作用僅限於其存取的資料和服務。雖然它們可以處理輸入並產生回應,但卻缺乏即時知識、交易能力,以及沒有外部 API 的深度整合。
無論您是要整合即時資料、自動化工作流程或強化安全性,API 都能讓您的機器人更智慧、更靈活、更整合。
使用 Execute Code Card 的 5 種方式
Botpress Studio中的 Execute Code Card 簡化了 AI 代理的操作。將它加入您的工作流程非常簡單 - 請遵循此快速教學:
一旦加入,以下是在您的代理工作流程中利用它的主要方式。
1.動態 API 呼叫
Execute Card 可讓您根據使用者意圖、機器人情境或之前的對話,動態修改請求,而非使用靜態 API 呼叫。
範例:根據使用者偏好擷取自訂資料。
提示:旅行聊天機器人需要根據使用者的目的地、旅行日期和預算擷取飯店價格。
.webp)
注意: Execute Code Card 可以從自然語言產生程式碼。但是,請務必驗證 變數 使用的變數。
2.LLM 回應的後處理
雖然Botpress 提供內建的 AI 動作,但有時您需要在顯示回應給使用者之前先進行微調 - 不論是格式化輸出、過濾特定字詞,或是更明確的資料結構。
範例:將非結構化的LLM 回應重寫為定義的表格/格式。
提示:AI 會從 API 取得餐廳推薦,我希望您在顯示前將它們格式化為簡潔的表格。
.webp)
3.速率限制和條件執行
某些 API (包括數位錢包) 有使用率限制。使用 Execute Code Card,您可以透過強制執行速率限制、設定回退,以及根據 API 可用性新增條件邏輯來控制使用者互動。
範例:在呼叫 API 前檢查 API 使用情況
Prompt: Check API quota from https://api.monitoring.com/usage?apikey=${workflow.userApiKey} before making a request. If fewer than 5 requests remain, return an error; otherwise, proceed. Ensure proper error handling in case of failures.
.webp)
4.處理權限
如果您的機器人需要在允許存取某些功能前驗證使用者,卡片允許自訂驗證流,超越Botpress的預設選項。
範例:在提供 AI 回應之前檢查使用者訂閱狀態
Prompt: Check a user's subscription via https://billing.example.com/user/{userId}. If on a free plan, prompt an upgrade; otherwise, allow access. Handle errors.
.webp)
5.多步 API 連鎖
有時候,機器人需要結合來自多個 API 的資料,才能傳送最終回應。透過動態擷取、轉換和傳輸資料,卡片可實現複雜的多步驟工作流程。
實例:擷取天氣 + 餐廳預約,推薦最佳離開時間
提示:使用 workflow.userApiKey 擷取 workflow.city 的天氣和交通資料。根據條件,傳回最佳行車時間。處理失敗。
.webp)
AI 代理的無縫 API 整合
當 AI 代理能夠存取即時資料、自動化工作流程,並與外部服務連線時,就能發揮最佳效能。
Botpress Hub 透過預先建立的 API 整合、自動化工具和即時可用的連線器,讓您可以專注於建置,而非設定。
常見問題
1.我是否需要瞭解 JavaScript 才能有效使用 Execute Code Card?
不一定。了解基本知識會有幫助,但這張卡片包含 AI 產生的程式碼建議。您只需描述您想要的東西,它就會寫出一些啟動程式碼讓您調整。
2.是否有常見 API 整合的範本或模板程式碼片段?
是的,Botpress 提供範例和社群分享的片段,適用於調用天氣 API、CRM 或付款服務等熱門使用個案。
3.沒有 API 整合經驗,可以使用 Execute Code Card 嗎?
絕對可以。如果您是 API 的新手,卡片內建的 AI 可以用提示來引導您,而視覺化的工作流程建置工具則讓整個流程更直覺。
4.卡片如何處理長時間執行的 API 請求或超時?
它使用 await 支援異步 JavaScript,但您需要使用 try/catch 和回退邏輯手動建立超時處理,以保持順暢。
5.使用卡片實施驗證和授權的最佳做法是什麼?
將敏感的金鑰安全地儲存於環境變數中,在 API 授權中使用權杖或標頭,並在程式碼中加入條件邏輯,以在繼續之前檢查使用者角色或存取層級。