Criando um chatbot com chatgpt no vs code
- Eduardo Brennand Paranhos
- 17 de dez. de 2024
- 2 min de leitura
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