构建实时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个请求,以满足高峰期需求。
相关推荐
工呈士3 分钟前
React 路由管理与动态路由配置
前端·react.js·面试
寻月隐君7 分钟前
从零到 Web3:使用 @solana/kit 快速查询 Solana 账户余额
后端·web3·github
AI码农9 分钟前
极限3天:微信小程序实时语音对话 SDK 开发实战(基于 Coze API)
javascript·github
Ymmmm__15 分钟前
leetcode动态规划—买卖股票系列
算法·leetcode·动态规划
极光雨雨18 分钟前
【算法】贪心算法
算法·贪心算法
asom2218 分钟前
LeetCode Hot100(动态规划)
算法·leetcode·动态规划
编程绿豆侠22 分钟前
力扣HOT100之动态规划:300. 最长递增子序列
算法·leetcode·动态规划
心软且酷丶23 分钟前
leetcode:7. 整数反转(python3解法,数学相关算法题)
python·算法·leetcode
庄小焱28 分钟前
设计模式——简单工厂模式(创建型)
java·服务器·算法
王禄DUT35 分钟前
防疫大数据 第27次CCF-CSP计算机软件能力认证
大数据·c++·算法