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 函数转换为工具,自动生成模式并进行 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")

# 由于 Novita 不支持 responses API,我们改用 chat completions API。
set_default_openai_api("chat_completions")
set_default_openai_client(AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY))
# 为此示例禁用追踪
# 请参考 https://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list 使用自定义 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 函数转换为工具,自动生成模式并进行 Pydantic 验证。

OpenAI Agents SDK 是否适用于生产环境?

是的,它包含安全功能(如防护栏)、全面的追踪和监控能力。

Novita AI 是一个 AI 云平台,为开发者提供通过简单 API 部署 AI 模型的简便方法,同时提供价格实惠且可靠的 GPU 云用于构建和扩展。

推荐阅读