import openai import speech_recognition as sr from gtts import gTTS import os import numpy as np from pydub import AudioSegment from pydub.silence import split_on_silence def recognize_speech(): recognizer = sr.Recognizer() with sr.Microphone() as source: print("Говорите:") try: audio = recognizer.record(source, duration=5) # Записываем 5 секунд звука text = recognizer.recognize_google(audio, language="ru-RU") return text except sr.UnknownValueError: return "Извините, не удалось распознать речь." except sr.RequestError as e: return f"Ошибка при запросе к Google API: {e}" def text_to_speech(text): tts = gTTS(text, lang="ru") tts.save("output.mp3") os.system("start output.mp3") def chat_with_chatgpt(context, prompt, model="gpt-3.5-turbo"): openai.api_key = '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' text = context response = openai.Completion.create( engine=model, prompt=prompt, max_tokens=100, n=1, stop=None, temperature=0.5, ) return response['choices'][0]['text'] if __name__ == "__main__": text_to_speech("Привет! Я ваш голосовой ассистент. Как я могу помочь вам сегодня?") while True: command = recognize_speech() if "пока" in command.lower(): text_to_speech("До свидания!") break elif command: print("Вы сказали:", command) response = chat_with_gpt(command) print("Ответ GPT:", response) text_to_speech(response)