Ich habe versucht, Spracherkennung und Character.AI zu züchten (weil es eine schöne kostenlose API hat). Wenn ich versuche, eine Nachricht zu senden, bricht die Verbindung plötzlich ab.
Ich habe „Einfaches Beispiel“ von github.com/kramcat/CharacterAI getestet und es funktioniert.
Hier ist der Code:
async def main():
char = "GddGh5qJnuDMc_60Ldh-KhoRZy4HSu4jD6e66kp8Htg"
client = aiocai.Client('b311ec5d7a71f09ec30bdec1b377672bea63bcdf')
me = await client.get_me()
async with await client.connect() as chat:
new, answer = await chat.new_chat(char, me.id)
speak(answer.text)
while True:
if os.path.exists("recorded_speech.wav"):
os.remove("recorded_speech.wav")
text = record()
print(text)
message = await chat.send_message(char, new.chat_id, text)
speak(f'{message.text}')
asyncio.run(main())
speak() ist nur ein SAM-TTS. Es funktioniert gut.
record() ist ein einfaches stt, es funktioniert auch.
text enthält eine Zeichenfolge mit aufgezeichneter Stimme
Aber wenn ich zu message = waiting chat.send_message(char, new.chat_id, text) komme, wird es angezeigt mir diese Ausnahme:
Traceback (most recent call last):
File "C:\Users\Admin\Desktop\python\tts\brain.py", line 97, in
print(asyncio.run(main()))
File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 194, in run
return runner.run(main)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 685, in run_until_complete
return future.result()
File "C:\Users\Admin\Desktop\python\tts\brain.py", line 93, in main
message = await chat.send_message(char, new.chat_id, text)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\characterai\aiocai\methods\chat2.py", line 360, in send_message
await self.ws.send(json.dumps(message))
File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\websockets\legacy\protocol.py", line 628, in send
await self.ensure_open()
File "C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\websockets\legacy\protocol.py", line 929, in ensure_open
raise self.connection_closed_exc()
websockets.exceptions.ConnectionClosedOK: sent 1000 (OK); then received 1000 (OK)
Im Grunde muss die CAI-Antwort in eine Nachricht geschrieben werden und sie dann mit SAM gesprochen werden.
Tatsächlich habe ich den Code „Einfaches Beispiel“ überhaupt nicht geändert , habe einfach text = input('YOU: ') gegen einfache Spracherkennung ausgetauscht.
Die Character AI API schließt die Verbindung, wenn dies nicht der Fall sein sollte ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post