构建实时API智能代理:快速构建多代理语音应用

简介

OpenAI的实时API智能代理是一个简单的多代理语音应用示例,展示了如何利用实时API构建更复杂的智能代理模式。主要特点包括:

  • 代理转移:根据定义的代理图,顺序转移代理(灵感来自OpenAI Swarm)。
  • 背景升级:在高风险决策中使用更智能的模型,如o1-mini。
  • 状态机提示:使用状态机逐步收集用户信息,如姓名和电话号码,并逐字符确认以进行用户认证。

快速开始

  1. 环境准备

    • 安装依赖:npm i
    • 添加OpenAI API密钥到环境变量中:OPENAI_API_KEY
    • 启动服务器:npm run dev
    • 访问应用:http://localhost:3000
  2. 代理配置

    typescript 复制代码
    import { AgentConfig } from "@/app/types";
    import { injectTransferTools } from "./utils";
    
    // 定义代理
    const haiku: AgentConfig = {
      name: "haiku",
      publicDescription: "生成俳句的代理。",
      instructions: "请用户输入主题,然后回复一个关于该主题的俳句。",
      tools: [],
    };
    
    const greeter: AgentConfig = {
      name: "greeter",
      publicDescription: "问候用户的代理。",
      instructions: "请问候用户,并询问是否需要俳句。如果是,则转移到'haiku'代理。",
      tools: [],
      downstreamAgents: [haiku],
    };
    
    // 添加转移工具
    const agents = injectTransferTools([greeter, haiku]);
    
    export default agents;

下一步

  • 查看配置 :在src/app/agentConfigs中查看更多配置示例。
    • frontDeskAuthentication:引导用户通过逐步确认的方式进行认证。
    • customerServiceRetail:引导用户通过复杂的退货流程,包括订单查询和政策检查。

自定义代理

  1. 创建新代理:复制现有配置,创建自己的多代理语音应用。
  2. 添加新代理配置 :将新代理配置添加到src/app/agentConfigs/index.ts中,以便在UI中选择。
  3. 定义工具和逻辑 :查看customerServiceRetail/returns.ts了解如何定义背景LLM调用。
  4. 定义个性和语气 :查看frontDeskAuthentication/authentication.ts了解如何使用状态机收集用户信息。

UI操作

  • 选择代理场景:使用下拉菜单选择代理场景和代理。
  • 查看对话记录:左侧显示对话记录,包括工具调用和代理切换。
  • 查看事件日志:右侧显示客户端和服务器事件。

示例代码

typescript 复制代码
// 示例:定义一个简单的问候代理
const simpleGreeter: AgentConfig = {
  name: "simpleGreeter",
  publicDescription: "简单问候代理",
  instructions: "问候用户并询问是否需要帮助",
  tools: [],
};

// 示例:定义一个需要转移的代理
const needHelp: AgentConfig = {
  name: "needHelp",
  publicDescription: "需要帮助的代理",
  instructions: "提供帮助并转移到其他代理",
  tools: [],
  downstreamAgents: [simpleGreeter],
};

数值指标

  • 响应时间:API响应时间应控制在100ms以内,以确保用户体验的流畅。
  • 错误率:目标是保持错误率低于1%,以确保系统的可靠性。
  • 吞吐量:系统应能够处理每秒至少50个请求,以满足高峰期需求。
相关推荐
牛客企业服务2 小时前
企业招聘新趋势:「AI面试」如何破解在线作弊难题?
人工智能·面试·职场和发展·招聘·ai招聘
京东零售技术2 小时前
扛起技术大梁的零售校招生们 | 1024技术人特别篇
算法
拉不动的猪3 小时前
h5后台切换检测利用visibilitychange的缺点分析
前端·javascript·面试
爱coding的橙子3 小时前
每日算法刷题Day78:10.23:leetcode 一般树7道题,用时1h30min
算法·leetcode·深度优先
Swift社区3 小时前
LeetCode 403 - 青蛙过河
算法·leetcode·职场和发展
地平线开发者3 小时前
三种 Badcase 精度验证方案详解与 hbm_infer 部署实录
算法·自动驾驶
papership3 小时前
【入门级-算法-5、数值处理算法:高精度的减法】
算法·1024程序员节
想学全栈的菜鸟阿董3 小时前
Crew连接多个 MCP 服务器
运维·服务器·github
lingran__3 小时前
算法沉淀第十天(牛客2025秋季算法编程训练联赛2-基础组 和 奇怪的电梯)
c++·算法
想学全栈的菜鸟阿董3 小时前
通过 Stdio(标准输入/输出)传输机制,实现 CrewAI 与本地 MCP 服务器的连接
运维·服务器·github