🧑🦯 Jarvis é uma Interface para pessoas com deficiência visual poderem utilizar a IA generativa do Google (Gemini).
🤖 Utilizando a gravação de voz do usuário como entrada para a Gemini API e do retorno desta é convertido em Áudio para a conversa continua com o usuário.
⚙️ Este repositório contém o código-fonte para o assistente de voz chamado Jarvis, construído com o Google GenerativeAI e bibliotecas Colab. O Jarvis é capaz de converter texto em fala, realizar gravações de áudio e responder a perguntas utilizando o modelo de linguagem generativa Gemini-1.5-pro.
-
Instale as dependências:
!pip install -q -U google-generativeai !pip install gtts
O Jarvis utiliza as seguintes bibliotecas:
IPython.display
: usada para exibir elementos HTML e Javascript no Colab.google.colab.output
: usada para avaliar código Javascript no Colab.gtts
: usada para converter texto em fala (Text-to-Speech).base64
: usada para codificação e decodificação de dados binários.google.generativeai
: usada para interagir com a API do Google GenerativeAI.
text_to_speech(text)
: Converte texto em fala (Português) e reproduz o áudio.gravacao()
: Cria um botão de gravação, captura o áudio do usuário e salva-o como um arquivo.wav
.audio_prompt()
: Envia o áudio gravado para o modelo Gemini e retorna a resposta do modelo como texto.
- Crie uma conta do Google Cloud (https://cloud.google.com/) e habilite a API do GenerativeAI.
- Obtenha a sua chave de API e armazene-a com segurança usando
google.colab.userdata.set('API_KEY', 'sua-chave-api')
. Obs.: Documentação da API em: https://ai.google.dev/gemini-api/docs/system-instructions?hl=pt-br
generation_config
: Define o número de candidatos de resposta (1) e a temperatura (0.5).safety_settings
: Define o nível de bloqueio para diferentes tipos de conteúdo prejudicial.model
: Inicializa o modelo Gemini-1.5-pro-latest com a configuração de geração e os ajustes de segurança.
O código implementa um loop que permite a conversação com o Jarvis. O loop funciona da seguinte maneira:
- O usuário grava um áudio.
- O áudio gravado é enviado para o modelo Gemini.
- O modelo retorna uma resposta textual.
- A resposta textual é convertida em fala e reproduzida para o usuário.
- O loop continua até que o usuário diga "fim".
- Faça upload do código para o Colab (https://colab.research.google.com/notebook).
- Substitua
'sua-chave-api'
pela sua chave de API real. - Execute o código pressionando
Shift + Enter
. - Clique no botão "Start Recording" para gravar sua pergunta.
- Fale sua pergunta e clique em "Stop Recording" quando terminar.
- O Jarvis irá responder à sua pergunta por voz.
Obs.: Este programa utiliza seu microfone e fone de ouvido para interface
GPL v3