程式碼執行

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

程式碼執行功能包括:

  • 您可以在不到一秒的時間內建立沙箱並執行程式碼。

  • 沙箱支援檔案輸入和輸出,整個要求或回應的大小上限為 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):開放原始碼軟體生態系統,適用於數學、科學和工程。以 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):以 Python 編寫的高階神經網路 API,可透過 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):簡化文字處理程式庫,提供簡單的 API,用於執行常見的自然語言處理工作。
  • 目錄 (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 雜湊表和 Bloom 篩選器,由 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 Notebook 中嵌入 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):以 C++ 實作的 Cassowary 限制條件求解演算法,效率極高。

圖片和影片處理

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

  • opencv-python (4.11.0.86):OpenCV 的 Python 繫結,這是一組程式設計函式庫,主要用於即時電腦視覺。
  • 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 二進位資料格式的 Python 介面。
  • smart_open (7.6.0):用於串流大型檔案 (S3、HDFS、GCS 等) 的公用程式。
  • 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):應用程式中的國際化網域名稱 (IDNA) 2008 支援。
  • 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 結構定義中繼結構定義和詞彙。
  • 參照 (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 抽象語法樹狀結構的 Unparser。

低階和外部函式介面 (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 的轉換器。

後續步驟