Skip to content

Uma assistente virtual em pequena escala estilo "Alexa" feita em Python com processamento de linguagem natural

Notifications You must be signed in to change notification settings

vmarinho22/kelly-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kelly Assistant

Uma assistente virtual em pequena escala estilo "Google Assistant¨, "Siri" e "Alexa".

Esse projeto será meu TCC, no qual pretendo implementar sistemas de busca por voz, controle de dispositivos físicos e muito mais!

Bibliotecas utilizadas

  • SpeechRecognition - Para transcrição de audio em texto
  • PyAudio - Para manipulação de áudio/dispositivos de áudio
  • gTTS - Para geração de audio para resposta
  • Playsound - Para reproduzir a voz da AI
  • NLTK - Para processamento de linguagem natural
  • OpenAi - Para perguntas a inteligência GPT-3 da OpenAI

Variáveis de Ambiente

Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env (que podem ser encontradas no arquivo .env.example)

OPENAI_SECRET_KEY

OPENAI_ORGANIZATION_ID

Rodando localmente

Para rodar o projeto, você deve ter o Python 3.10+ instalado em sua maquina! Para verificar se o Python está instalado e qual é a versão instalada, use o comando python -V.

Também é necessário você criar um arquivo chamado database.db, que é um banco SQLite para o gerenciamento dos eventos

Primeiramente, clone o projeto.

  git clone git@github.com:vmarinho22/kelly-assistant.git

Entre no diretório do projeto.

  cd kelly-assistant

Instale o pipenv (O pipenv é um gerenciador de dependências do Python).

  pip install pipenv

Após a instalação do pipenv, inicie o ambiente virtual do mesmo.

  pipenv shell

Então, instale as dependências do projeto.

  pipenv install --all

Por fim, execute o arquivo main.py.

  python main.py

Pronto! Agora a Kelly Assistant está rodando e escutando seus comandos!

Comandos suportados

Comando Descrição Exemplo de voz
hora Comando voltado para receber o horário atual "Que horas são?"
data Comando voltado para receber a data atual "Que dia é hoje?"
temperatura Comando voltado para receber a temperatura atual "Qual a temperatura atual?"
* Caso não seja encontrado nenhum acima, a AI irá perguntar a API da OpenAI e trará a resposta (similar ao ChatGPT) "Por que os pássaros voam?"

Novos comandos serão adicionados ao decorrer do desenvolvimento desse projeto(inclusive, caso tenha sugestões, mande em uma issue ou PR 😊 )

Testes

Nesse projeto utilizamos o Pytest para criar nossos testes unitários, onde em cada pasta você encontrará uma pasta /tests, e dentro dela estará cada teste referente a pasta pai!

Para rodar os testes primeiro deve instalar as dependências com o Pipenv (conforme guia acima), e rodar o comando abaixo:

  python -m pytest

Autores

Contruibuidores

About

Uma assistente virtual em pequena escala estilo "Alexa" feita em Python com processamento de linguagem natural

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages