Video Demo: https://youtu.be/WUsDXLXIRWs
Meu projeto de finalização do curso CS50’s Introduction to Programming with Python se chama ROBOZIN, ele é um chatbot simples feito inteiramente com Python focado em interação rápida e respostas objetivas. Permite que o usuário interaja com uma inteligência artificial de forma natural e simples.
Criei algumas respostas fixas para não vir todas as mensagens geradas, algumas coisas vi que precisava ser fixas, então fiz assim:
- "Who are you?" → O chatbot se apresenta.
- "Hi / Hello / Hey" → O chatbot envia uma saudação amigável e explica o que ele é.
- "Quit" → Encerra a conversa.
Para respostas geradas, ele utiliza uma API da DeepSeek para oferecer respostas de qualidade e com velocidade. Em conjunto com a biblioteca da OpenAI utilizada, o ROBOZIN consegue fornecer respostas inteligentes e dinâmicas. Essa integração é feita principalmente através da função openai.ChatCompletion.create(), que recebe as mensagens do usuário e processa o contexto da conversa, por fim retorna uma resposta gerada pelo modelo. No ROBOZIN, essa função é utilizada dentro da função envia_mensagem(), garantindo que qualquer pergunta ou comentário que não seja pré-definido receba uma resposta coerente e rápida.
O envio das mensagens é estruturado no formato exigido pela OpenAI, com cada entrada indicando o papel do remetente:
- user → mensagens do usuário
- assistant → respostas do ROBOZIN
- system → instruções adicionais ao modelo
Parâmetros como model são configurados para determinar qual modelo será usado, mantendo um equilíbrio entre objetividade e naturalidade. Essa abordagem permitiu que o ROBOZIN tivesse uma capacidade de interacao muito maior do que seria possível apenas com respostas ja programadas, tornando o chatbot mais versátil e capaz de lidar com perguntas inesperadas. A integração com a OpenAI garante que o sistema esteja sempre atualizado com os avanços do modelo, sem necessidade de grandes alterações no código, oferecendo uma experiência de interação moderna, rápida e confiável para o usuário.
No curso CS50 NÃO incluíam conhecimentos dessa biblioteca, então acessei a documentação: OpenAI PyPI para juntar os conhecimentos oferecidos pelo curso com as tecnologias novas.
project.py → Contém todas as funções do ROBOZIN, incluindo:
main()→ loop principal da conversaquemsou()→ função que retorna a apresentação do chatbotsaudacao()→ função que envia uma saudação ao usuárioencerra_chat()→ função que encerra o chatbotenvia_mensagem()→ função que envia a mensagem do usuário para a API e recebe a resposta
test_project.py → Arquivo responsável por testes automatizados utilizando pytest. Ele verifica se as respostas pré-definidas estão corretas e se o loop principal funciona como esperado. Isso garante que alterações futuras não quebrem funcionalidades essenciais do ROBOZIN.
- Instale as dependências do projeto com:
pip install -r requirements.txt 2. Execute o chatbot: python project.py 3. Interaja com o ROBOZIN via terminal de comandos!