OpenAI 实时 API 的出现,为开发者开启了创造全新交互式应用的大门。它不仅简化了实时语音交互的实现过程,还提供了强大的功能调用能力,让应用能够根据用户的语音指令动态执行各种任务。本文旨在为你提供一个全面的入门指南,助你快速上手 OpenAI 实时 API,并探索其无限可能。 本文将详细介绍如何设置 OpenAI 实时 API,深入了解其核心功能,并探讨一些实际应用案例。无论你是经验丰富的开发者,还是刚入门的新手,都能从中获得有价值的信息。通过本文,你将能够掌握使用 OpenAI 实时 API 的基本技能,并为构建创新型应用奠定坚实的基础。 准备好迎接实时交互的未来了吗?让我们一起开始这段激动人心的探索之旅!
关键要点
OpenAI 实时 API 基于 WebSockets,实现双向实时交互。
该 API 支持功能调用,应用可根据语音指令执行特定任务。
OpenAI 实时 API 具备状态保持能力,无需重复发送对话历史。
该API在前端页面ConsolePage.tsx中进行设置和配置。
开发者可以通过修改client.addTool添加自定义的功能。
OpenAI 实时 API 简介
什么是 OpenAI 实时 API?
openai 实时 api 是一个强大的工具,允许开发者创建具有实时交互能力的应用。它使用 websockets 实现双向通信,能够进行实时的语音转录和响应。这意味着开发者可以构建应用,让用户能够与 ai 进行流畅的语音对话,而无需手动点击按钮。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

这种实时性是以前的 API 所不具备的,极大地提升了用户体验。
更重要的是,OpenAI 实时 API 支持功能调用。这意味着应用可以根据用户的语音指令,动态地执行各种功能。例如,用户可以说“获取纽约市的天气”,应用就会自动调用天气 API,并将结果返回给用户。这种功能调用能力,为开发者提供了无限的创造空间,能够构建更加智能和实用的应用。
此外,OpenAI 实时 API 还具备状态保持能力。这意味着应用能够记住之前的对话内容,无需每次都重复发送完整的对话历史。这不仅节省了带宽,还提高了应用的响应速度,让对话更加自然流畅。
简而言之,OpenAI 实时 API 是一个功能强大、易于使用的工具,能够帮助开发者构建各种创新的交互式应用。无论你想开发一个语音助手、一个智能客服,还是一个其他任何类型的实时交互应用,OpenAI 实时 API 都能为你提供强大的支持。
OpenAI 实时 API 使用教程
环境配置
要开始使用 OpenAI 实时 API,首先需要进行一些环境配置。
1. 克隆代码仓库
首先,需要克隆 OpenAI 提供的示例代码仓库。

这个仓库包含了使用 OpenAI 实时 API 的基本框架和示例代码,可以帮助你快速上手。可以使用以下命令克隆仓库:
gh repo clone openai/openai-realtime-console
克隆完成后,进入代码仓库目录:
cd openai-realtime-console
2. 安装依赖
接下来,需要安装项目所需的依赖包。可以使用 pnpm 或 npm 命令进行安装:
pnpm install
或者
npm install
3. 配置环境变量
为了使用 OpenAI 实时 API,需要配置一些环境变量。在项目根目录下创建一个 .env 文件,并添加以下内容:
OPENAI_API_KEY=<你的 OpenAI API 密钥> REACT_APP_LOCAL_RELAY_SERVER_URL=http://localhost:8081
将 替换为你自己的 OpenAI API 密钥。你可以在 OpenAI 官方网站上创建一个 API 密钥。如果需要进行开发测试,确保 OpenAI账号已经完成付款配置。
REACT_APP_LOCAL_RELAY_SERVER_URL 指定了本地 Relay Server 的地址。Relay Server 用于处理客户端和 OpenAI 实时 API 之间的通信。默认地址为 http://localhost:8081,可以根据实际情况进行修改。
4. 运行应用程序
完成以上配置后,就可以运行应用程序了。首先,启动 Relay Server:
pnpm run relay
或者
npm run relay
然后,启动前端应用程序:
npm start
或者
npm start
如果一切顺利,应用程序将会在浏览器中打开。你就可以开始体验 OpenAI 实时 API 的强大功能了。
目录结构 为了更好地理解代码结构,你可以查看项目目录:
使用步骤
按照上面的操作,启动完成项目之后,在页面上进行测试。
- 页面连接

点击connect开始连接,此时就可以开始进行语音输入了。
-
语音输入 你可以通过语音输入来与应用进行交互。例如,你可以说“你好”,应用将会回复你。或者你可以输入“What's the weather in Chicago”,然后会返回对应城市的天气情况。
-
设置记忆 你也可以设置记忆,让应用记住一些信息。例如,你可以说“Set with in memory to buy eggs tomorrow”,应用会将“buy eggs tomorrow” 存储起来。页面上可以看到对应的值,设置成功。
注意事项 在使用过程中,你可能会遇到一些问题。
- 功能调用失败 有时候,功能调用可能会失败。这可能是由于网络问题、API 密钥错误或其他原因导致的。如果遇到这种情况,可以尝试重新启动应用程序,或者检查 API 密钥是否正确。
- 响应延迟 由于 WebSockets 的特性,响应可能会有一定的延迟。这是正常现象,可以在开发过程中适当优化代码,以提高响应速度。
OpenAI API 定价
OpenAI API 的收费标准
OpenAI API 的定价取决于你使用的模型和使用的 tokens 数量。Tokens 是指文本的基本单元,例如单词或标点符号。不同的模型有不同的 token 定价,具体定价信息可以在 OpenAI 官方网站上找到。
除了 token 定价之外,OpenAI 还提供了一些其他的付费服务,例如微调模型、专用服务器等。这些服务的定价也各不相同。
要了解更多关于 OpenAI API 定价的信息,请访问 OpenAI 官方网站。
| 模型 | 输入(每 1000 个 tokens) | 输出(每 1000 个 tokens) | |
|---|---|---|---|
| gpt-4 | $0.03 | $0.06 | |
| gpt-4-32k | $0.06 | $0.12 | |
| gpt-3.5-turbo | $0.0015 | $0.002 | |
| text-embedding-ada-002 | $0.0001 | N/A |
OpenAI 实时 API 核心功能
核心功能概览
OpenAI 实时 API 提供了以下核心功能:
- 实时语音转录:将用户的语音实时转录为文本。
-
功能调用:根据用户的语音指令,动态地执行各种功能。

如获取天气、设置提醒等。
- 状态保持:记住之前的对话内容,无需重复发送完整的对话历史。
- WebSockets:基于 WebSockets 实现双向实时通信。
- 灵活性:允许开发者自定义各种参数,以满足不同的应用需求。
- 易于使用:提供清晰的文档和示例代码,方便开发者快速上手。
这些核心功能,为开发者提供了强大的工具,能够构建各种创新的交互式应用。
OpenAI 实时 API 应用案例
应用案例畅想
OpenAI 实时 API 具有广泛的应用前景。以下是一些可能的应用案例:
- 语音助手:构建一个能够理解用户语音指令,并执行各种任务的语音助手。如播放音乐、设置提醒、查询信息等。
- 智能客服:构建一个能够进行实时语音对话的智能客服,帮助用户解决问题。比如处理订单查询、退款申请等。
- 教育应用:构建一个能够与学生进行实时语音互动的教育应用。像语言学习、知识问答等。
- 游戏应用:构建一个能够通过语音进行控制的游戏。比如语音控制角色移动、攻击等。
这些只是冰山一角。随着 OpenAI 实时 API 的不断发展,相信未来会出现更多令人惊艳的应用。
常见问题解答
OpenAI 实时 API 是否免费?
OpenAI 实时 API 并非完全免费。OpenAI 提供一定的免费额度,但超出免费额度后需要付费。具体的定价信息,请参考 OpenAI 官方网站。
OpenAI 实时 API 支持哪些编程语言?
OpenAI 实时 API 主要基于 JavaScript 开发,但也支持其他编程语言。你可以使用任何支持 WebSockets 的编程语言来与 OpenAI 实时 API 进行交互。
OpenAI 实时 API 的安全性如何?
OpenAI 非常重视 API 的安全性。OpenAI 采取了各种安全措施,以保护用户的数据和隐私。例如,所有 API 请求都使用 HTTPS 加密,用户的数据都经过加密存储。
相关问题
如何优化 OpenAI 实时 API 的性能?
以下是一些优化 OpenAI 实时 API 性能的建议: 减少 API 请求:尽量减少 API 请求的次数。可以将多个请求合并为一个请求,或者使用缓存来减少请求。 使用流式传输:使用流式传输可以减少延迟,并提高响应速度。 优化代码:优化代码可以提高应用的性能。例如,可以使用更高效的算法,或者使用更快的编程语言。 选择合适的模型:选择合适的模型可以提高应用的性能。不同的模型有不同的性能特点,选择最适合你应用的那个。 使用 CDN:使用 CDN 可以加速静态资源的加载,并提高应用的性能。 代码混淆加密










