top of page
Buscar

Criando um chatbot com chatgpt no vs code

Neste post, iremos fazer algo um pouco diferente do que costumamos a programar, uma vez que não usaremos Arduino ou lego Mindstorms. Ao invés disso, ensinaremos a vocês como fazer um chatbot simples que responde a comandos por voz utilizando a api do chatgpt.


Primeiro, realizaremos as instalações necessárias. Vá para https://platform.openai.com/settings/organization/api-keys, crie uma conta e clique em "create new secret key" para ter seu código único(salve-o, uma vez que não poderá acessá-lo novamente pelo site). Além disso, é necessário aplicar um pequeno saldo em sua conta(5 dólares é mais que o suficiente). Em seguida vá em seu terminal do vscode e escreva "pip3 install openai", para instalar a biblioteca do chatgpt.


Para instalar a pyttsx3, biblioteca de text to speech para python, basta inserir "pip3 install pyttsx3" no terminal. Já para a SpeechRecognition, biblioteca de reconhecimento de palavras, insira:

pip3 install SpeechRecognition

sudo apt-get install python3-pyaudio

sudo apt-get install portaudio19-dev python-all-dev python3-all-dev

pip3 install pyaudio


Agora que todas as instalações necessárias foram feitas, rode o programa a seguir:



import openai
import speech_recognition as sr
import pyttsx3

# Initialize the engine
engine = pyttsx3.init()
engine.setProperty('voice', "com.apple.eloquence.pt-BR.Reed") #com.apple.voice.compact.en-GB.Daniel
engine.setProperty('rate', 150)

mic = sr.Recognizer()

chave_api = "INSIRA-SUA-CHAVE-AQUI"
openai.api_key = chave_api

def enviar_mensagem(mensagem, lista_mensagens=[]):
    lista_mensagens.append(
        {"role": "user", "content": mensagem,
        }
        )

    resposta = openai.ChatCompletion.create(
        model = "gpt-4",
        messages = lista_mensagens,
    )

    return resposta["choices"][0]["message"]

lista_mensagens = []
while True:

    with sr.Microphone() as source:
        mic.adjust_for_ambient_noise(source)
        audio = mic.listen(source)

        try:
            frase = mic.recognize_google(audio,language='pt-BR')
            print("Voce disse: " + frase)
            resposta = enviar_mensagem(frase, lista_mensagens)
            lista_mensagens.append(resposta)
            engine.say(resposta["content"])
            engine.runAndWait()
            
        #Caso nao tenha reconhecido o padrao de fala, exibe esta mensagem
        except sr.UnknownValueError:
            print("Nao entendi")

Feito isso, você agora tem seu próprio chatbot que responde por comandos de voz!




 
 
 

Comentarios


Seja o primeiro a saber das novidades

2024 Mundo do Arduino

bottom of page