Este tutorial mostra como se ligar à API Gemini Live através do SDK de IA gen da Google para Python. Neste tutorial, vai criar uma aplicação multimodal em tempo real com um back-end Python robusto que processa a ligação à API.
Antes de começar
Conclua os passos seguintes para configurar o seu ambiente.
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init - Instale o Git.
- Instale o Python 3.
Instalar dependências:
pip3 install -r requirements.txtAutenticar com Google Cloud:
gcloud auth application-default loginInicie o servidor:
python3 main.py- Abra o navegador e navegue para http://localhost:8000.
- Clique em Ligar.
- 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.
- Saiba como configurar o idioma e a voz.
- Saiba como configurar as capacidades do Gemini.
- Saiba mais sobre as práticas recomendadas da API Gemini Live.
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-python-sdk-demo-app
Estrutura do projeto
A aplicação inclui os seguintes ficheiros:
/
├── main.py # FastAPI server and WebSocket endpoint
├── gemini_live.py # Gemini Live API wrapper using Gen AI SDK
├── requirements.txt # Python dependencies
└── frontend/
├── index.html # User Interface
├── main.js # Application logic
├── gemini-client.js # WebSocket client for backend communication
├── media-handler.js # Audio/Video capture and playback
└── pcm-processor.js # AudioWorklet for PCM processing
Configure variáveis de ambiente
Para os fins desta demonstração, a única variável de ambiente que temos de configurar é a que define o ID do seu projeto. Google Cloud O comando seguinte cria um ficheiro .env que define a variável de ambiente PROJECT_ID.
Substitua PROJECT_ID pelo ID do projeto do seu Google Cloud projeto.
echo "PROJECT_ID=PROJECT_ID" > .env
Execute o servidor de back-end
O back-end (main.py) processa a ligação entre o cliente e a Gemini Live API. O ponto de entrada é um servidor FastAPI que expõe um ponto final WebSocket. Aceita blocos de áudio e vídeo do front-end e encaminha-os para a sessão GeminiLive. A classe GeminiLive em gemini_live.py envolve o elemento genai.Client para gerir a sessão.
# Connects using the SDK
async with self.client.aio.live.connect(model=self.model, config=config) as session:
# Manages input/output queues
await asyncio.gather(
send_audio(),
send_video(),
receive_responses()
)
Para executar o servidor de back-end, execute os seguintes comandos:
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
gemini-client.js processa a ligação WebSocket ao back-end. Envia fragmentos multimédia codificados em base64 para o back-end e recebe respostas de áudio da API Gemini Live, que são reproduzidas para o utilizador.
Para abrir a IU de frontend e estabelecer ligação ao Gemini, faça o seguinte:
Interaja com o Gemini
Experimente fazer o seguinte: