我有以下代码:
import openai
import pyttsx3
import speech_recognition as sr
from api_key import API_KEY
openai.api_key = API_KEY
engine = pyttsx3.init()
r = sr.Recognizer()
mic = sr.Microphone(device_index=1)
print(sr.Microphone.list_microphone_names())
conversation = ""
user_name = "Josode"
while True:
with mic as source:
print("\nlistening... speak clearly into mic.")
r.adjust_for_ambient_noise(source, duration=0.2)
audio = r.listen(source)
print("no longer listening.\n")
try:
user_input = r.recognize_google(audio)
except:
continue
prompt = user_name + ": " + user_input + "\n Ava:"
conversation += prompt
response = openai.Completion.create(engine="text-davinci-002", prompt=conversation, max_tokens=100)
response_str = response["choices"][0]["text"].replace("\n", "")
response_str = response_str.split(user_name + ": ", 1)[0].split("Ava: ", 1)[0]
conversation += response_str + "\n"
print(response_str)
engine.say(response_str)
engine.runAndWait()
当我运行该文件时,我听到...对着麦克风清晰地说话。 不再收听。 davinci 没有输出。
此外,麦克风印记是 ['LG FULL HD', 'Ari Chan's AirPods', 'Ari Chan's AirPods', 'MacBook Pro Microphone', 'MacBook Pro Speakers']。我正在使用索引 1
API key 正确且已导入。我在 Open AI 有一个帐户,可以毫无问题地使用 playground。
你看到我没看到的东西了吗?它应该工作
最佳答案
很可能你在 r.recognize_google(audio)
中遇到异常,因此它会一次又一次地强制 continue
而没有任何输出,请尝试添加类似这样的内容进行调试它:
import traceback
...
try:
user_input = r.recognize_google(audio)
except:
print(traceback.format_exc())
continue
关于python - Open AI davinci 不产生任何输出(文本或音频),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74403541/