当前位置: 首页 > news >正文

OpenAI API - Agent

文章目录

  • 代理
    • 概述
    • 模型
    • 工具
    • 知识与记忆
    • 防护栏
    • 编排
    • 入门
  • 语音代理
    • 选择正确的架构
      • 语音到语音(多模态)架构
      • 链式架构
    • 构建语音代理
      • 使用语音到语音架构进行实时处理
      • 将音频输入链接到文本处理 → 音频输出


代理

了解如何使用 OpenAI API 构建代理。

https://platform.openai.com/docs/guides/agents


代理代表 智能完成任务的系统,范围从执行简单的流程到追求复杂、开放的目标。
OpenAI 提供了一组丰富的可组合原语,使您能够构建智能体。本指南将介绍这些原语,以及它们如何组合成一个强大的智能体平台。


概述

构建代理涉及在多个领域(如模型、工具、知识和记忆、音频和语音、护栏和编排)中组装组件,OpenAI 为每个领域提供可组合的原始组件。

领域描述OpenAI 原始组件
模型核心智能,能够推理、做决定和处理不同的模态。o1, o3-mini, GPT-4.5, GPT-4o, GPT-4o-mini
工具与世界交互的接口,与环境交互,功能调用,内置工具等。功能调用, 网络搜索, 文件搜索, 计算机使用
知识和记忆使用外部和持久的知识增强代理。向量存储, 文件搜索, 嵌入
音频和语音创建能够理解音频并以自然语言响应的代理。音频生成, 实时, 音频代理
护栏防止无关的、有害的或不希望的行为。监管, 指令层次结构
编排开发、部署、监控和改进代理。代理 SDK, 跟踪, 评估, 微调
语音代理创建能够理解音频并以自然语言响应的代理。实时 API, 在代理 SDK 中的语音支持

模型

模型代理优势
o1 和 o3-mini最佳用于长期规划、困难任务和推理。
GPT-4.5最佳用于代理执行。
GPT-4o代理能力和延迟之间的良好平衡。
GPT-4o-mini最佳用于低延迟。

大型语言模型(LLMs)是许多代理系统的核心,负责做出决策和与世界交互。OpenAI 的模型支持广泛的特性:

  • 高智能: 能够进行 推理 和规划以应对最困难的任务。
  • 工具: 调用你的函数 并利用 OpenAI 的 内置工具。
  • 多模态: 原生理解文本、图像、音频、代码和文档。
  • 低延迟: 支持实时音频 对话 和更小、更快的模型。

有关详细模型比较,请访问 模型 页面。


工具

工具使代理能够与世界交互。OpenAI 支持使用 函数调用 与您的代码连接,以及 内置工具 用于常见任务,如网络搜索和数据检索。

工具描述
函数调用与开发者定义的代码交互。
网络搜索从网络获取最新信息。
文件搜索在您的文档中执行语义搜索。
计算机使用理解和控制计算机或浏览器。

知识与记忆

知识与记忆帮助代理存储、检索和利用超出其初始训练数据的信息。向量存储使代理能够语义搜索您的文档并在运行时检索相关信息。同时,嵌入有效地表示数据以实现快速检索,为动态知识解决方案和长期代理记忆提供动力。您可以使用 OpenAI 的 向量存储 和 嵌入 API 集成您的数据。


防护栏

防护栏确保您的代理以安全、一致的方式在预期的边界内运行——这对于生产部署至关重要。使用 OpenAI 的免费 内容审查 API 自动过滤不安全的内容。通过利用 指令层次结构 进一步控制代理的行为,该层次结构优先考虑开发者定义的提示并减轻了不希望出现的代理行为。


编排

构建智能体是一个过程。OpenAI 提供工具以有效地构建、部署、监控、评估和改进智能体系统。


Agent Traces UI in OpenAI Dashboard


阶段描述OpenAI 原语
构建和部署快速构建代理,实施边界条件,并使用代理 SDK 处理对话流程。代理 SDK
监控实时观察代理行为,调试问题,并通过跟踪获得洞察。跟踪
评估和改进测量代理性能,确定改进领域,并精炼您的代理。评估 微调

入门

通过以下方式安装 OpenAI Agents SDK for Python 入门:

pip install openai-agents

探索 仓库 和 文档 以获取更多信息。


语音代理

学习如何构建能够理解音频并以自然语言进行响应的语音代理。

https://platform.openai.com/docs/guides/voice-agents


使用 OpenAI API 和 Agents SDK 创建强大的、具有上下文感知能力的语音代理,适用于客户支持和语言辅导等应用。本指南帮助您设计和构建语音代理。


选择正确的架构

OpenAI 提供两种主要的架构用于构建语音代理:

  1. 语音到语音(多模态)
  2. 链式(语音到文本 → LLM → 文本到语音)

语音到语音(多模态)架构

多模态语音到语音(S2S)架构直接处理音频输入和输出,在单个多模态模型 gpt-4o-realtime-preview 中实时处理语音。该模型通过语音思考和回应。它不依赖于用户输入的转录本——它听到情感和意图,过滤掉噪音,并直接以语音回应。适用于高度交互、低延迟的对话用例。

优点适用于
低延迟交互交互性和非结构化对话
丰富的多模态理解(音频和文本同时进行)语言教学和交互式学习体验
自然流畅的对话流程对话式搜索和发现
通过语音上下文理解增强用户体验交互式客户服务场景

链式架构

链式架构按顺序处理音频,将音频转换为文本,使用大型语言模型(LLMs)生成智能响应,并从文本合成音频。如果您是第一次构建语音代理,我们推荐这种可预测的架构。用户输入和模型的响应都是文本形式,因此您可以拥有一个转录本并控制应用程序中的操作。这也是将现有的基于LLM的应用程序转换为语音代理的可靠方式。

您正在链接这些模型:gpt-4o-transcribegpt-4ogpt-4o-mini-tts

优势适用于
高控制和透明度专注于特定用户目标的流程结构
强健的功能调用和结构化交互客户支持
可靠、可预测的响应销售 和 入站分诊
支持扩展的对话上下文涉及转录本和脚本响应的场景

构建语音代理

使用 OpenAI 的 API 和 SDK 创建强大、具有上下文感知能力的语音代理。


使用语音到语音架构进行实时处理

构建语音到语音语音代理需要:

  1. 建立实时数据传输的连接
  2. 使用实时API创建实时会话
  3. 使用具有实时音频输入和输出功能的OpenAI模型

要开始,请阅读实时API指南和实时API参考。兼容的模型包括gpt-4o-realtime-previewgpt-4o-mini-realtime-preview


将音频输入链接到文本处理 → 音频输出

The Agents SDK supports extending your existing agents with voice capabilities. Get started by installing the OpenAI Agents SDK for Python with voice support:

pip install openai-agents[voice]

查看GitHub上的 Agents SDK 语音代理快速入门示例以了解完整示例。
在示例中,您将:

  • 运行语音转文字模型将音频转换为文本。
  • 运行您的代码,通常是一个代理工作流程,以产生一个结果。
  • 运行文本到语音模型,将结果文本转换回音频。

https://openai.github.io/openai-agents-python/


2025-03-29(六)

http://www.dtcms.com/a/99092.html

相关文章:

  • protobuf新版下载安装
  • 网络通信微服务
  • 【商城实战(95)】Ansible自动化运维,开启高效部署新篇章
  • 3D Gaussian Splatting部分原理介绍和CUDA代码解读(一)——3D/2D协方差和高斯颜色的计算
  • LeetCode 56. 合并区间 | 排序+贪心解法详解
  • 创意 Python 爱心代码分享
  • el-table 动态给每行增加class属性
  • C++ vector容器总结
  • 诠视科技MR眼镜如何使用VLC 进行RTSP投屏到电脑
  • 【从零实现Json-Rpc框架】- 项目实现 - muduo网络通信类实现篇
  • 黑盒测试的测试用例构成的八点要素
  • 突破数据迁移瓶颈!AWS Snowball如何让PB级数据“瞬间”上云?
  • 12款星光闪光污迹艺术绘画效果Clip Studio Paint笔刷画笔+闪光纹理图片 Clip Studio Glitter Texture Brushes
  • INAV电流计校准
  • sqlalchemy:将mysql切换到OpenGauss
  • 使用dumpbin和depends查看dll(exe)的依赖
  • 代码随想录算法训练营第二十八天,动态规划理论基础,509.斐波那契数,70.爬楼梯,746.使用最小花费爬楼梯。
  • OpenAI API - Practice
  • 【全栈开发】—— Paddle OCR 文字识别 + deepseek接入(基于python 最新!!!)
  • 【STL】vector介绍(附部分接口模拟实现)
  • 【C#】`Task.Factory.StartNew` 和 `Task.Run` 区别
  • Ubuntu和Windows实现文件互传
  • HTML基础及进阶
  • 【C++】基础3——正则表达式,静态多态(函数重载和模板),异常处理
  • EverEdit扩展脚本:“AI翻译”插件,让EverEdit自由翻译
  • 排序--归并排序--非递归
  • RAG - 五大文档切分策略深度解析
  • Spring Boot自动配置原理解析
  • Oracle数据库数据编程SQL<3.2 PL/SQL 匿名块中的DML操作、动态SQL、实际应用场景、使用技巧>
  • matplotlib标题比x,y轴字体大,明明标题字体更大?