Skip to content

Um simples chat bot de IA DeepSeek via terminal do Python a fim de completar o curso CS50 Introduction to programming in Python

Notifications You must be signed in to change notification settings

kevinbarbim/Final-Project-Python-CS50

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1 Commit

Repository files navigation

ROBOZIN - AI CHATBOT (CS50 Python Final Project)

Description:

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.


Estrutura do projeto:

  • project.py → Contém todas as funções do ROBOZIN, incluindo:

    • main() → loop principal da conversa
    • quemsou() → função que retorna a apresentação do chatbot
    • saudacao() → função que envia uma saudação ao usuário
    • encerra_chat() → função que encerra o chatbot
    • envia_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.


Como usar:

  1. 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!

About

Um simples chat bot de IA DeepSeek via terminal do Python a fim de completar o curso CS50 Introduction to programming in Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages