Comece a usar a API Gemini Live com WebSockets

Este tutorial mostra como estabelecer ligação à API Gemini Live através de WebSockets. Neste tutorial, vai criar uma aplicação multimodal em tempo real com uma interface (de utilizador) JavaScript simples e um servidor Python que processa a autenticação e o proxy.

Antes de começar

Conclua os passos seguintes para configurar o seu ambiente.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  6. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.

  10. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  11. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  12. Instale o Git.
  13. Instale o Python 3.
  14. Clone a app de demonstração

    Clone o repositório da app de demonstração e navegue para esse diretório:

    git clone https://github.com/GoogleCloudPlatform/generative-ai.git &&
    cd generative-ai/gemini/multimodal-live-api/native-audio-websocket-demo-apps/plain-js-demo-app
    

    Estrutura do projeto

    A aplicação inclui os seguintes ficheiros:

    /
    ├── server.py            # WebSocket proxy + HTTP server
    ├── requirements.txt     # Python dependencies
    └── frontend/
        ├── index.html       # UI
        ├── geminilive.js    # Gemini API client
        ├── mediaUtils.js    # Audio/video streaming
        ├── tools.js         # Custom tool definitions
        └── script.js        # App logic
    

    Execute o servidor de back-end

    O back-end (server.py) processa a autenticação e funciona como um proxy WebSocket entre o cliente e a API Gemini Live.

    Para executar o servidor de back-end, execute os seguintes comandos:

    1. Instalar dependências:

      pip3 install -r requirements.txt
      
    2. Autenticar com Google Cloud:

      gcloud auth application-default login
      
    3. Inicie o servidor:

      python3 server.py
      

    Abra a IU de front-end e estabeleça ligação ao Gemini

    O front-end gere a captura e a reprodução de áudio e vídeo. O ficheiro geminilive.js processa a ligação WebSocket ao back-end.

    const client = new GeminiLiveAPI(proxyUrl, projectId, model);
    client.addFunction(toolInstance); // Add custom tools
    client.connect(accessToken); // Connect (token optional with proxy)
    

    Para abrir a IU de frontend e estabelecer ligação ao Gemini, faça o seguinte:

    1. Abra o navegador e navegue para http://localhost:8000.
    2. No campo ID do projeto, introduza o ID do seu Google Cloud projeto.
    3. Clique em Ligar.

    Interaja com o Gemini

    Experimente fazer o seguinte:

    • Introdução de texto: pode escrever uma mensagem de texto para o Gemini introduzindo a sua mensagem no campo de mensagens e clicando em Enviar. O Gemini responde à mensagem através de áudio.
    • Entrada de texto por voz: para falar com o Gemini, clique em Iniciar microfone. O Gemini responde ao comando através de áudio.
    • Entrada de vídeo: para permitir que o Gemini veja através da sua câmara, clique em Iniciar câmara. Pode falar com o Gemini sobre o que vê através da sua câmara.

    O que se segue?