使用Python实现语音识别与ChatGPT交互:一次创新的对话体验
在这篇文章中,本喵将介绍语音识别与Chatgpt交互哦~
先上代码~
-main.py:
import speech_recognition as sr
from openai import OpenAI
# obtain audio from the microphone
r = sr.Recognizer()
client = OpenAI(
api_key="你的APIKEY" #格式必须带有""号,如api_key="sk-xxxxxxxxxxxxxxxxxxxxxx"
)
while(1):
try:
with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
# recognize speech using Sphinx
try:
print("Sphinx thinks you said " + r.recognize_sphinx(audio))
prompt = r.recognize_sphinx(audio)
chat_completion = client.chat.completions.create(
messages = [
{
"role":"user",
"content":prompt
},
],
model="gpt-3.5-turbo"
)
print(chat_completion.choices[0].message.content)
except sr.UnknownValueError:
print("Sphinx could not understand audio")
except sr.RequestError as e:
print("Sphinx error; {0}".format(e))
运行效果~
技术栈
本项目主要使用以下技术:
speech_recognition:一个强大的Python库,用于实现语音识别功能。OpenAI ChatGPT:利用OpenAI的API实现与GPT-3模型的交互。
准备工作
在开始之前,确保您已经安装了Python环境。接下来,我们需要安装两个重要的库:speech_recognition和openai,以及pocketsphinx。
️ 环境搭建
打开终端或命令提示符,运行以下命令安装必要的库:
pip install SpeechRecognition openai pocketsphinx
依赖安装
确保所有依赖项都已正确安装,您可以通过运行以下命令来验证:
import speech_recognition as sr
import openai
如果没有报错,表示环境搭建成功。
核心代码解析
接下来,让我们深入了解核心代码的工作原理。
️ 语音识别
使用speech_recognition库,我们可以轻松实现从麦克风获取语音输入并将其转换为文本的功能。
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
与ChatGPT交互
通过将转换后的文本输入到ChatGPT模型中,我们可以获取相应的回复并打印出来:
prompt = r.recognize_sphinx(audio)
chat_completion = client.chat.completions.create(
messages=[{"role": "user", "content": prompt}],
model="gpt-3.5-turbo"
)
print(chat_completion.choices[0].message.content)
运行指南
将整个脚本保存为.py文件,并在具有网络连接的环境中运行它。记得将API密钥替换为您自己的。
⚠️ 遇到的问题与解决方法
语音识别不准确:尝试在较安静的环境中使用应用,或调整麦克风设置。API密钥泄露:避免在代码中硬编码API密钥。考虑使用环境变量或配置文件管理密钥。
参考资料
SpeechRecognition库文档OpenAI API 文档
—!
好文推荐
发表评论