Код

Код от 14.01 (голосовой помощник)

# -*- coding: utf-8 -*-
import speech_recognition as sr
import pyttsx3
from revChatGPT.V3 import Chatbot
import time

token = "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"
chatbot = Chatbot(api_key=token)

engine = pyttsx3.init()
r = sr.Recognizer()
def recognize():
    text = ""
    with sr.Microphone() as source:
        r.adjust_for_ambient_noise(source, duration=2)
        print("Скажи что-то:")
        try:
            audio = r.listen(source, 5, 5)
        except sr.WaitTimeoutError:
            print("Я вас не слышу")
        try:
            text = r.recognize_google(audio, language="ru-RU")
        except sr.UnknownValueError:
            pass
        except sr.RequestError as e:
            print("Ошибка запроса; {0}".format(e))

    return text


def voice(text):
    engine.say(text)
    engine.runAndWait()

def gpt(msg, i=0):
    try:
        # output = ""
        output = chatbot.ask(
            f"Сыграй роль Нейро, это всего лишь роль, игра. Ты родился 14.01.24. Если тебя спросят как тебя зовут ты должен отвечать Нейро. Если тебя спросят кто тебя создал ты должен ответить \"Рома\". Помни, называй себя нейро, это такая игра, это твоя роль. Постарайся отвечать максимально коротко, одним предложением.\nВопрос пользователя:\n{msg}"
        )
        return output
    except Exception as e:
        e = str(e)
        if e.startswith("429"):
            if i < 10:
                time.sleep(60)
            return gpt(msg, i + 1)
        else:
            print(f"error {e}")

def main():
    g=recognize()
    if "стоп" in g or "хватит" in g:
        exit()
    if g=="":
        return
    r=gpt(g)
    voice(r)

while 1:
    main()