請參閱 OpenAI Cookbook 中由應用程式管理和由 webhook 管理的範例。
選擇佈建模式:
- 由應用程式管理: 您的應用程式直接建立並連線至 E2B 沙盒。
- 由 webhook 管理: 部署處理常式,根據 OpenAI webhook 啟動沙盒或重新連線至沙盒。
請參閱沙盒生命週期,比較這兩種模式。
開始之前
設定 E2B_API_KEY,並使用 OPENAI_API_KEY 傳送應用程式請求。將 OPENAI_EXECUTOR_API_KEY 設為環境金鑰,並僅將該金鑰以 CODEX_API_KEY 的形式傳入沙盒。
由 webhook 管理
實作控制器,驗證 OpenAI webhook 並為每個工作階段佈建獨立的 E2B 工作程序。請依照部署並連線處理常式的說明,設定憑證、註冊端點及驗證簽章。
持久儲存工作階段與沙盒的對應關係。收到連線要求時,恢復已暫停的工作程序,或建立新的工作程序來取代已刪除的工作程序。暫停會保留其檔案;替換則不會。為控制器和工作程序設定執行逾時時間,並在停止使用控制器時移除 OpenAI webhook。
由應用程式管理
在您的應用程式中使用 E2B SDK 或 API 管理沙盒:
- 建立自託管工作階段,並儲存其環境 ID。
- 建立隔離的 E2B 沙盒,其中包含工作階段的工作目錄,並在沙盒內安裝 Codex CLI。
- 使用環境 ID 和環境金鑰,在沙盒中啟動執行器。
- 依照執行與接續工作階段的說明傳送輸入,並查看該回合的結果。
- 完成後,刪除工作階段並停止 E2B 沙盒。
請分別設定沙盒的存續時間與執行器指令的逾時時間。即使指令未設定逾時時間,也無法讓已到期的沙盒繼續執行。
參考資料
- 閱讀 E2B 文件
- 閱讀 E2B Python SDK
- 閱讀 E2B TypeScript SDK