Novita AI 現已支援 OpenAI Agents SDK!

Novita AI 現已支援 OpenAI Agents SDK!

OpenAI Agents SDK 的追蹤系統可讓 AI 工作流程一目了然,擷取重要事件,協助開發人員有效監控與除錯應用程式。

什麼是 OpenAI Agents SDK?

OpenAI Agents SDK 是一套 Python 工具組,可簡化 AI 代理程式的開發。這是 OpenAI SWARM 專案進化而來的生產就緒版本,提供建構智慧、協作且安全的 AI 系統所需的功能。其核心是基於 LLM 的代理程式,可透過特定指令與工具進行設定,支援自訂角色,並相容於 OpenAI 模型(o1、o3-mini、gpt-4o)以及採用 OpenAI 相容 API 的第三方模型。

OpenAI Agents SDK 的主要功能

工具與功能擴充:

  • 函式呼叫:使用 @function_tool 裝飾器將 Python 函式轉換為工具,並自動產生 schema 與進行 Pydantic 驗證。
  • 內建代理程式迴圈:處理工具呼叫、結果反饋與任務迴圈,實現代理程式與 LLM 之間的無縫互動。
  • 任務交接:允許代理程式將任務委派給其他專門的代理程式,實現多代理協作。

安全與監控機制:

  • 護欄:輸入篩選可防止有害內容,輸出驗證則確保回應品質與適當性。
  • 追蹤工具:內建追蹤功能可視化並監控整個代理流程,有助於除錯與最佳化。

開發人員友善功能:

  • Python 原生方法:利用 Python 語言特性進行代理程式編排與鏈接,減少學習新抽象概念的負擔。
  • 高度可自訂:提供自訂工具、結構化輸出類型以及外部 LLM 提供者整合能力。
  • 輕量設計:簡單但功能強大的基本元素,學習曲線極低。

OpenAI Agents SDK 的優勢

開發效率

  • 簡化設定流程,加速代理應用程式開發,降低 AI 代理開發門檻。

強化系統能力

  • 支援複雜任務執行與高效多代理協作。
  • 建立專門的協作系統以解決複雜問題。
  • 整合外部 LLM 模型以獲得更大彈性。

安全性與可靠性

  • 護欄確保 AI 互動安全。
  • 提升 AI 代理系統的可靠性與行為適當性。
  • 簡化 AI 代理應用程式進入生產環境的準備工作。

分析與最佳化

  • 追蹤系統深入洞察代理行為。
  • 改善使用者模式分析與瓶頸識別。
  • 強化除錯與工作流程最佳化能力。

OpenAI Agents SDK 範例

步驟 1:設定代理程式

建立名為 AccountingAssistant 的虛擬助理,並提供清楚的功能說明來初始化代理程式。

步驟 2:整合工具

整合必要的工具,包括:

  • 網路搜尋工具:擷取稅務更新。
  • API 呼叫:分析財務報表。
  • 檔案搜尋工具:尋找相關文件。

步驟 3:定義任務

將工作流程分解為特定任務:

  • 任務 1:擷取最新的稅務更新。
  • 任務 2:使用 API 分析財務資料。
  • 任務 3:根據最新資料產生報告。

步驟 4:執行任務

依序或平行執行任務。例如:

Runner.run_sync(agent, "Generate a report based on the latest tax laws and financial data.")

步驟 5:監控與除錯

使用追蹤工具監控任務執行情況,識別潛在問題以進行除錯。

如何將 Novita AI 與 OpenAI Agents SDK 整合?

1. 設定 Python 環境並安裝 Agents SDK。

python -m venv env
source env/bin/activate
pip install openai-agents

2. 設定您的 Novita API 金鑰。

取得 API 金鑰

前往主控台獲取免費額度

3. 交接範例

import os
from openai import AsyncOpenAI
from agents import (
    Agent,
    Runner,
    set_default_openai_api,
    set_default_openai_client,
    set_tracing_disabled,
)

BASE_URL = "https://api.novita.ai/v3/openai"
API_KEY = os.getenv("NOVITA_API_KEY")
MODEL_NAME = os.getenv("MODEL_NAME")

# Because Novita not support the responses API so we use the chat completions API instead.
set_default_openai_api("chat_completions")
set_default_openai_client(AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY))
# Disable tracing for this example
# Refer to https://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list to use the custom spans.
set_tracing_disabled(disabled=True)

agent = Agent(name="Assistant",
              instructions="You are a helpful assistant", model=MODEL_NAME)

result = Runner.run_sync(
    agent, "Write a haiku about recursion in programming.")
print(result.final_output)

# Code within the code,
# Functions calling themselves,
# Infinite loop's dance.

憑藉靈活的追蹤能力,開發人員可透過內建功能與第三方整合來追蹤代理程式行為,確保更佳的效能與可靠性。

常見問題

OpenAI Agents SDK 可以使用哪些 LLM 模型?

相容於 OpenAI 模型(o1、o3-mini、gpt-4o)以及採用 OpenAI 相容 API 的第三方模型,例如 Novita AI。

OpenAI Agents SDK 如何處理工具整合?

使用 @function_tool 裝飾器將 Python 函式轉換為工具,並自動產生 schema 與進行 Pydantic 驗證。

OpenAI Agents SDK 是否適合用於生產環境?

是的,它包含護欄等安全功能,以及全面的追蹤與監控能力。

Novita AI 是一個 AI 雲端平台,為開發人員提供使用簡單 API 部署 AI 模型的便捷方式,同時提供經濟且可靠的 GPU 雲端用於建構與擴展。

推薦閱讀