Giter Site home page Giter Site logo

jarvis-gemini-assistant's Introduction

Jarvis: Um assistente de voz utilizando Google GenerativeAI 🎤 🎧

🧑‍🦯 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.

Instalação

  1. Instale as dependências:

    !pip install -q -U google-generativeai
    !pip install gtts

Bibliotecas Utilizadas

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.

Funções do Código

  • 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.

Configuração da API

  1. Crie uma conta do Google Cloud (https://cloud.google.com/) e habilite a API do GenerativeAI.
  2. 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

Configuração do Modelo

  • 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.

Loop de Conversação

O código implementa um loop que permite a conversação com o Jarvis. O loop funciona da seguinte maneira:

  1. O usuário grava um áudio.
  2. O áudio gravado é enviado para o modelo Gemini.
  3. O modelo retorna uma resposta textual.
  4. A resposta textual é convertida em fala e reproduzida para o usuário.
  5. O loop continua até que o usuário diga "fim".

Executando o Código

  1. Faça upload do código para o Colab (https://colab.research.google.com/notebook).
  2. Substitua 'sua-chave-api' pela sua chave de API real.
  3. Execute o código pressionando Shift + Enter.
  4. Clique no botão "Start Recording" para gravar sua pergunta.
  5. Fale sua pergunta e clique em "Stop Recording" quando terminar.
  6. O Jarvis irá responder à sua pergunta por voz.

Obs.: Este programa utiliza seu microfone e fone de ouvido para interface

Licença

GPL v3

jarvis-gemini-assistant's People

Contributors

edgarreis avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.