项目介绍:openai-whisper-talk
项目概述
openai-whisper-talk 是一个示范性的语音对话应用程序,它借助于 OpenAI 的多项技术,包括:
- Whisper:自动语音识别(ASR)系统。
- Chat Completions:提供模拟与模型对话的界面。
- Embeddings:将文本转换为向量数据用于语义搜索等任务。
- Text-to-Speech:将文本生成仿真人类语音。
该应用基于 Vue.js 的 JavaScript 框架 Nuxt 构建。
功能介绍
新功能
- 日程管理:允许用户通过聊天指令来添加、修改、删除和读取计划事件。
- 长期记忆:可以保存信息片段,供日后查询和使用。
应用主要特性
- 界面个性化:用户可以选择与不同个性化配置的聊天机器人进行交互,每个机器人有独特的语言和性格。
- 音频捕捉:自动检测并录制音频,背景噪音不会触发录音。
- Whisper 应用:通过去除静音片段来优化语音转录,以避免'幻觉'错误。
- 功能调用:通过Chat Completions API,以及利用MongoDB存储对话历史,实现可定制的功能调用。
技术实现
语音转文本(Whisper)
录制的音频上传至 Whisper API 前,需去除静音片段,以保证高效且精准的转录。
文本到语音(TTS)
通过 Text-to-Speech API,使聊天机器人能够以真实语音形式回复用户。
记忆检索
长期记忆功能采用 Embeddings API 实现,通过语义相似度进行记忆检索,增强对话的自然程度。
聊天完成API
接收到 Whisper 转录文本后,系统将其与 Chat Completions API 集成,实现多功能调用,同时保存最近 20 次交互记录以管理对话内容。
典型交互示例
对话示例中,用户与聊天机器人进行日程管理的互动,通过指令查询、编辑日程事件,体现了功能的灵活性和智能响应能力。长期记忆功能示例展示了记忆的存储和检索,使用语义相似度提高精准性。
总结
openai-whisper-talk 通过优化 OpenAI 的技术,结合 Nuxt 框架,为用户提供了一个创新且直观的语音对话体验。日程管理和长期记忆功能进一步提升了聊天机器人的实用性,未来有可能发展为完整的个人助理。