https://github.com/vmarinho22/kelly-assistant
Uma assistente virtual em pequena escala estilo "Alexa" feita em Python com processamento de linguagem natural
https://github.com/vmarinho22/kelly-assistant
ai natural-language natural-language-processing nltk python python3 virtual-assistant
Last synced: about 2 months ago
JSON representation
Uma assistente virtual em pequena escala estilo "Alexa" feita em Python com processamento de linguagem natural
- Host: GitHub
- URL: https://github.com/vmarinho22/kelly-assistant
- Owner: vmarinho22
- Created: 2023-02-28T01:07:41.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-28T19:19:45.000Z (almost 3 years ago)
- Last Synced: 2025-03-22T14:13:51.507Z (about 1 year ago)
- Topics: ai, natural-language, natural-language-processing, nltk, python, python3, virtual-assistant
- Language: Python
- Homepage:
- Size: 306 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://pypi.org/project/SpeechRecognition/) - Para transcrição de audio em texto
- [PyAudio](https://pypi.org/project/PyAudio/) - Para manipulação de áudio/dispositivos de áudio
- [gTTS](https://pypi.org/project/gTTS/) - Para geração de audio para resposta
- [Playsound](https://pypi.org/project/playsound/) - Para reproduzir a voz da AI
- [NLTK](https://www.nltk.org/) - Para processamento de linguagem natural
- [OpenAi](https://platform.openai.com/docs/introduction/overview) - 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.
```bash
git clone git@github.com:vmarinho22/kelly-assistant.git
```
Entre no diretório do projeto.
```bash
cd kelly-assistant
```
Instale o pipenv (O [pipenv](https://pipenv.pypa.io/en/latest/) é um gerenciador de dependências do Python).
```bash
pip install pipenv
```
Após a instalação do pipenv, inicie o ambiente virtual do mesmo.
```bash
pipenv shell
```
Então, instale as dependências do projeto.
```bash
pipenv install --all
```
Por fim, execute o arquivo `main.py`.
```bash
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:
```bash
python -m pytest
```
## Autores
- [@vmarinho22](https://github.com/vmarinho22)
- [@DarknessChains](https://github.com/DarknessChains)
## Contruibuidores
- [JonathanSMoraes](https://github.com/JonathanSMoraes)