- 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 整合、自動化工具和即時可用的連線器,讓您可以專注於建置,而非設定。
立即開始將功能強大的 API整合至您的機器人工作流程 - 這是免費的。
常見問題
1.我是否需要瞭解 JavaScript 才能有效使用 Execute Code Card?
您不需要深厚的 JavaScript 知識就可以有效地使用 Execute Code Card。Botpress 提供人工智能驅動的程式碼建議,因此您只需描述您想要的內容,它就會產生啟動程式碼,您只需花最少的精力就能調整程式碼。
2.是否有常見 API 整合的範本或模板程式碼片段?
是的,Botpress 提供內建範例和模板程式碼片段,用於常見的 API 整合,例如 CRM 和付款閘道。您也可以瀏覽社群論壇,尋找即時可用的程式碼模式。
3.沒有 API 整合經驗,可以使用 Execute Code Card 嗎?
是的,您可以在沒有 API 整合經驗的情況下使用執行代碼卡。介面對初學者很友善,而且Botpress 的 AI 輔助程式可以產生程式碼並加以說明,即使非開發人員也能輕鬆學習。
4.卡片如何處理長時間執行的 API 請求或超時?
Execute Code Card 支援異步 JavaScript,使用 async/await
但您需要手動處理超時和失敗。最佳做法包括在 try/catch
區塊,並在回應延遲或失敗時定義後備流程。
5.使用卡片實施驗證和授權的最佳做法是什麼?
在 Execute Code Card 中實作認證與授權時,您應該在Botpress 環境變數中儲存 API 金鑰或權杖,透過安全標頭傳送,並在執行敏感動作前,加入驗證使用者角色或權限的邏輯。