程式碼執行

許多代理工作 (例如財務計算和資料科學工作流程) 都需要代理生成及執行程式碼。Code Execution 可讓代理在受到隔離與管理的安全沙箱環境中執行程式碼。

程式碼執行功能包括:

  • 沙箱可在 1 秒內建立並執行程式碼。

  • 沙箱支援檔案輸入和輸出,整個要求或回應的大小上限為 100 MB。

  • 沙箱最多可保留執行狀態 (記憶體) 14 天。這項存留時間 (TTL) 設定可調整。

您不一定要將代理部署至 Agent Platform,才能使用執行程式碼功能。代理程式可以在任何地方執行,甚至在本機執行。

執行程式碼功能適用於任何代理架構和生成式模型。

以下是使用程式碼執行沙箱的主要作業:

  • 建立沙箱:建立安全、隔離的空間,用於執行不受信任或可能有害的程式碼。這項隔離措施可防止程式碼接觸系統資源、檔案或網路,降低安全風險。如要安全地執行程式碼,例如資料科學代理、自動化調度管理指令碼,或在開發測試期間,沙箱就非常重要。沙箱提供有限的檔案系統,且無法存取網路。

  • 取得沙箱:顯示特定執行程式碼沙箱的設定和狀態。您可以查看目前狀態 (例如執行中或已停止) 和存留時間 (TTL) 等詳細資料。這樣一來,您就能追蹤沙箱,並在執行程式碼前後驗證沙箱狀態。

  • 列出沙箱:列出專案中所有的執行程式碼沙箱。您可以依沙箱狀態或類型等條件篩選結果。 這有助於檢查、監控及管理專案中的多個沙箱。

  • 執行程式碼:將程式碼和任何必要的輸入檔案傳送至沙箱,以便安全執行。回應會包含結果,例如標準輸出內容 (stdout)、標準錯誤 (stderr),以及程式碼產生的任何檔案。沙箱也可以維護狀態,讓後續的 Execute Code 呼叫以先前的呼叫為基礎。這對於互動式工作階段或複雜工作至關重要,因為環境需要在多次執行程式碼時維持狀態。

支援的程式庫

執行程式碼沙箱包含下列程式庫,並依用途分類。您無法在沙箱環境中安裝自己的程式庫。

資料科學與機器學習

本節包含資料分析、操作、機器學習和數值運算等重要程式庫。

核心資料處理和數值

  • numpy (2.1.3):Python 數值運算的基本套件,支援大型多維陣列和矩陣,並提供大量高階數學函式,可用於操作這些陣列。
  • pandas (2.2.3):強大的資料分析和操作程式庫,提供 DataFrame 和 Series 等資料結構,用於處理結構化資料。
  • scipy (1.15.2):數學、科學和工程領域的開放原始碼軟體生態系統。SciPy 以 NumPy 為基礎,提供大量容易使用且有效率的數值常式。
  • pyarrow (18.1.0):記憶體內資料的跨語言開發平台。特別適合用於高效處理資料,以及系統間的互通性。
  • numexpr (2.14.1):NumPy 的快速數值運算式評估工具,可最佳化陣列運算。
  • narwhals (2.19.0):提供一種編寫程式碼的方法,可在多個 DataFrame 程式庫 (例如 pandas 和 Polars) 上運作。

機器學習框架

  • scikit-learn (1.6.1):以 NumPy、SciPy 和 matplotlib 為基礎,提供簡單有效率的資料探勘和資料分析工具。
  • tensorflow (2.20.0):端對端開放原始碼機器學習平台。
  • keras (3.14.0):高階類神經網路 API,以 Python 編寫,可在 TensorFlow、CNTK 或 Theano 上執行。
  • xgboost (3.2.0):最佳化的分散式梯度提升程式庫,具備高效率、彈性和可攜性。
  • thinc (8.3.13):輕量級深度學習程式庫,提供優雅、經過類型檢查、函式程式設計的 API,用於組合模型。

自然語言處理 (NLP)

  • nltk (3.9.1):領先業界的平台,用於建構 Python 程式,以處理人類語言資料。
  • spacy (3.8.14):在 Python 和 Cython 中用於進階自然語言處理的程式庫。
  • spacy-legacy (3.0.12):spaCy 的舊版元件。
  • spacy-loggers (1.0.5):spaCy 專案的記錄公用程式。
  • textblob (0.19.0):簡化的文字處理程式庫,為常見的自然語言處理 (NLP) 工作提供簡單的 API。
  • catalogue (2.0.10):用於函式註冊的小型程式庫,通常用於 NLP 管道。
  • confection (1.3.3):設定系統,通常與 spaCy 搭配使用。
  • cymem (2.0.13):Cython 的記憶體管理,由 spaCy 使用。
  • murmurhash (1.0.15):MurmurHash 的 Cython 繫結,由 spaCy 使用。
  • preshed (3.0.13):Cython 雜湊表和布隆篩選器,由 spaCy 使用。
  • srsly (2.5.3):適用於 Python 的現代高效能序列化公用程式。
  • wasabi (1.1.3):輕量控制台列印和格式設定公用程式。
  • weasel (1.0.0):spaCy 專案的指令列介面。

科學與符號運算

  • mpmath (1.3.0):Python 程式庫,用於任意精確度的實數和複數浮點運算。
  • sympy (1.13.3):用於符號數學的 Python 程式庫。
  • networkx (3.6.1):這個套件用於建立、操控及研究複雜網路的結構、動態和函式。

成效與最佳化

  • numba (0.64.0):Python 的即時編譯器,可將 Python 和 NumPy 程式碼子集轉譯為快速機器碼。
  • llvmlite (0.46.0):輕量 LLVM Python 繫結,可與 Numba 搭配使用。
  • blis (1.3.3):類似 BLAS 的線性代數程式庫,通常是數值套件的依附元件。
  • opt_einsum (3.4.0):最佳化 NumPy、TensorFlow 和其他陣列程式庫中的 einsum 運算式。
  • optree (0.19.0):在 JAX 中最佳化 PyTree 操作。
  • nvidia-nccl-cu12 (2.29.7):NVIDIA Collective Communication Library,用於多 GPU 通訊。

統計模型

  • statsmodels (0.14.6):提供類別和函式,用於估算多種統計模型,以及執行統計檢定和統計資料探索。
  • patsy (1.0.2):用於描述統計模型和建構設計矩陣的 Python 程式庫。

作業研究

  • ortools (9.14.6206):Google 最佳化工具,這是一套用於組合最佳化的工具。

圖表

用於建立靜態、動畫和互動式圖表的程式庫。

  • matplotlib (3.10.1):全方位程式庫,可在 Python 中建立靜態、動畫和互動式圖表。
  • matplotlib-inline (0.2.1):用於在 Jupyter 筆記本中嵌入 matplotlib 圖表的後端。
  • matplotlib-venn (1.1.2):用於繪製文氏圖的程式庫。
  • seaborn (0.13.2):以 matplotlib 為基礎的統計資料視覺化程式庫。提供高階介面,可繪製吸引人且資訊豐富的統計圖表。
  • plotly (6.1.2):互動式圖表程式庫,可輕鬆在線上和離線建立精美、出版品質的圖表。
  • bokeh (3.8.2):互動式視覺化程式庫,適用於新式網路瀏覽器。
  • mizani (0.13.5):Python 圖形縮放,靈感來自 ggplot2。
  • contourpy (1.3.1):提供等高線生成演算法。
  • cycler (0.12.1):matplotlib 的可組合樣式循環。
  • fonttools (4.62.1):用於操控字型的程式庫。
  • kiwisolver (1.5.0):Cassowary 限制求解演算法的高效 C++ 實作。

圖片和影片處理

用於處理圖像和影片資料的程式庫。

  • opencv-python (4.11.0.86):OpenCV 的 Python 繫結,OpenCV 是程式設計函式程式庫,主要用於即時電腦視覺。
  • pillow (11.1.0):Python Imaging Library (PIL) 的友善分支版本,新增開啟、操作及儲存多種圖片檔案格式的支援。
  • imageio (2.37.0):這個程式庫用於讀取及寫入各種圖片資料,包括動畫圖片、影片和體積資料。
  • scikit-image (0.25.2):圖片處理演算法集合。
  • tifffile (2026.4.11):讀取及寫入 TIFF 檔案。

檔案處理和 I/O

用於讀取、寫入及操控各種檔案格式的程式庫。

Excel

  • openpyxl (3.1.5):用於讀取/寫入 Excel 2010 xlsx/xlsm/xltx/xltm 檔案的程式庫。
  • xlrd (2.0.1):可讓開發人員從 Microsoft Excel (tm) 試算表檔案擷取資料的程式庫。
  • XlsxWriter (3.2.0):用於建立 XSLX 格式 Excel 檔案的模組。

PDF

  • PyPDF2 (3.0.1):純 Python PDF 程式庫,可分割、合併、裁剪及轉換 PDF 檔案頁面。
  • fpdf (1.7.2):用於生成 PDF 的簡易程式庫。
  • reportlab (4.3.1):強大的 PDF 建立程式庫。
  • PyLaTeX (1.4.2):用於建立及編譯 LaTeX 檔案的程式庫。

Word

  • python-docx (1.1.2):用於建立及更新 Microsoft Word (.docx) 檔案的程式庫。

PowerPoint

  • python-pptx (1.0.2):用於建立及更新 PowerPoint (.pptx) 檔案的程式庫。

XML/HTML

  • lxml (5.3.1):功能豐富且易於使用的程式庫,用於處理 XML 和 HTML。
  • et_xmlfile (2.0.0):用於建立大型 XML 檔案的低記憶體程式庫。

Markdown

  • Markdown (3.10.2):John Gruber Markdown 的 Python 實作。
  • markdown-it-py (4.0.0):Markdown 剖析器,正確完成。100% 支援 CommonMark。
  • mdurl (0.1.2):Markdown 的網址公用程式。

YAML

  • PyYAML (6.0.3):Python 的 YAML 剖析器和發射器。

RTF

  • striprtf (0.0.28):從 RTF 文件擷取純文字的程式庫。

一般檔案 I/O

  • h5py (3.16.0):HDF5 二進位資料格式的 Pythonic 介面。
  • smart_open (7.6.0):串流大型檔案 (S3、HDFS、Cloud Storage 等) 的公用程式。
  • cloudpathlib (0.23.0):雲端儲存空間的 Pathlib 樣式類別。

網路

用於網頁要求、伺服器開發和網路通訊的程式庫。

  • requests (2.33.1):專為人類打造的 Python HTTP 程式庫,優雅且簡單。
  • httpx (0.28.1):功能完整的 Python HTTP 用戶端,支援 HTTP/1.1 和 HTTP/2,以及非同步功能。
  • httpcore (1.0.9):低階 HTTP 用戶端,構成 HTTPX 的核心。
  • urllib3 (2.6.3):功能強大、容易使用的 Python HTTP 用戶端。
  • grpcio (1.80.0):Python gRPC (Google 遠端程序呼叫) 程式庫。
  • h11 (0.16.0):純 Python、自備 I/O 的 HTTP/1.1 實作。
  • idna (3.11):支援 2008 年版應用程式國際化網域名稱 (IDNA)。
  • certifi (2026.2.25):提供 Mozilla 精心挑選的根憑證集合,用於驗證 SSL 憑證的可信度。
  • tornado (6.5.5):網頁框架和非同步網路程式庫。
  • Werkzeug (3.1.8):全方位的 WSGI 網頁應用程式程式庫。
  • Jinja2 (3.1.6):適合設計師使用的現代 Python 範本語言。
  • MarkupSafe (3.0.3):安全地將不受信任的字串新增至 HTML/XML 標記。

開發人員工具和公用程式

一般公用程式、建構應用程式的工具,以及開發輔助工具。

封裝與發布

  • pip (24.2):Python 的套件安裝程式。
  • setuptools (82.0.1):用於封裝 Python 專案的程式庫。
  • wheel (0.46.3):Python 的建構套件格式。
  • packaging (24.0):Python 套件的核心公用程式。

指令列介面 (CLI)

  • click (8.3.2):可組合的指令列介面建立工具包。
  • typer (0.24.1):這個程式庫用於建構含有類型提示的 CLI 應用程式。
  • rich (15.0.0):在終端機中提供 RTF 格式和美觀格式的程式庫。
  • termcolor (3.3.0):終端機輸出的 ANSII 顏色格式。
  • tqdm (4.67.3):適用於 Python 和 CLI 的快速、可擴充進度列。
  • shellingham (1.5.4):偵測使用者殼層的工具。

資料驗證和結構定義

  • pydantic (2.13.1):使用 Python 類型註解進行資料驗證和設定管理。
  • pydantic_core (2.46.1):Pydantic 的核心驗證邏輯。
  • annotated-types (0.7.0):函式引數、變數和資料類別欄位的可重複使用限制類型。
  • jsonschema (4.23.0):Python 的 JSON 結構定義實作。
  • jsonschema-specifications (2024.10.1):JSON 結構定義中繼結構定義和詞彙。
  • referencing (0.37.0):JSON 參照解析。

序列化

  • protobuf (6.31.1):Google 的通訊協定緩衝區。
  • flatbuffers (25.12.19):高效率的跨平台序列化程式庫。

並行與平行處理

  • anyio (4.13.0):非同步相容性層,可讓您編寫適用於不同非同步事件迴圈的非同步程式碼。
  • joblib (1.4.2):輕量級管道:以管道形式執行 Python 函式的工具。
  • threadpoolctl (3.6.0):Python 介面,用於控制常用程式庫執行緒集區中使用的執行緒數量。

剖析

  • pyparsing (3.2.1):建立及執行簡單文法的替代方法,與標準 lex/yacc 方法不同。
  • astunparse (1.6.3):Python 抽象語法樹狀結構的反剖析器。

低階和外部函式介面 (FFI)

  • libclang (18.1.1):Clang Python 繫結。

日期與時間

  • python-dateutil (2.9.0.post0):標準 datetime 模組的擴充功能。
  • pytz (2025.2):世界時區定義,包括現代和歷史。
  • tzdata (2025.3):時區資料。

一般公用事業

  • attrs (25.3.0):不含樣板的類別。
  • toolz (1.0.0):Python 的函式標準程式庫。
  • six (1.17.0):Python 2 和 3 相容性公用程式。
  • wrapt (2.1.2):裝飾器、包裝函式和猴子補丁的模組。
  • immutabledict (4.3.1):不可變動的字典。
  • ordered-set (4.1.0):可變動的資料結構,是清單和集合的混合體。
  • lazy-loader (0.5):延遲匯入 Python 模組。
  • google-pasta (0.2.0):重構 Python 程式碼的程式庫。
  • traitlets (5.14.3):Python 應用程式的設定系統。
  • regex (2026.4.4):替代規則運算式模組,用於取代 Python 的 re 模組。
  • chardet (7.4.3):通用字元編碼偵測工具。
  • charset-normalizer (3.4.7):第一個真正的通用字元集偵測工具。
  • typing_extensions (4.15.0):適用於 Python 3.7 以上版本的向後移植和實驗性類型提示。
  • typing-inspection (0.4.2):Python 類型的執行階段檢查。
  • Pygments (2.20.0):Python 語法醒目顯示工具。
  • ml_dtypes (0.5.4):機器學習的 dtype。
  • rpds-py (0.30.0):Python 的 Rust 持續性資料結構。
  • annotated-doc (0.0.4):文件註解程式庫。
  • namex (0.1.0):公用程式庫。

偵錯與剖析

  • tensorboard (2.20.0):TensorFlow 的視覺化工具包。
  • tensorboard-data-server (0.7.2):TensorBoard 的資料伺服器。

地理空間

專門用於處理地理空間資料的程式庫。

  • geopandas (1.0.1):擴充 pandas 使用的資料類型,允許對幾何類型執行空間運算。
  • pyogrio (0.12.1):地理空間向量檔案格式的向量化 I/O。
  • pyproj (3.7.2):PROJ (地圖投影和座標轉換程式庫) 的 Python 介面。
  • shapely (2.1.2):用於操作及分析平面幾何物件的套件。
  • xyzservices (2026.3.0):XYZ 圖塊供應商的來源。

其他

  • chess (1.11.2):純 Python 西洋棋程式庫,可產生及驗證棋步、剖析及寫入 PGN 等。
  • gast (0.7.0):一般 AST 到 AST 轉換器。

後續步驟