构建实时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个请求,以满足高峰期需求。
相关推荐
Sakura_j_h_4 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
ZhengEnCi5 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
秋天的怀念_David5 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Pniubi6 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展
hhb_6186 小时前
大模型落地三重优化实战
人工智能·算法·机器学习
云和数据.ChenGuang6 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
wflynn8 小时前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
2601_970703838 小时前
工业除湿机租赁:把一份租金合同拆开看
大数据·数据结构·算法·数据库架构·推荐算法
心中有你02148 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
ZhengEnCi9 小时前
同样的模型,为什么本地和云 API 差别那么大:量化精度、聊天模板与采样参数的三大元凶
人工智能·算法·llm