Neste tutorial, mostramos como se conectar à API Gemini Live usando o SDK da IA generativa do Google para Python. Neste tutorial, você vai criar um aplicativo multimodal em tempo real com um back-end Python robusto que processa a conexão da API.
Antes de começar
Conclua as etapas a seguir para configurar 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.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, 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.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init - Instale o Git.
- Instale o Python 3.
Instale as dependências:
pip3 install -r requirements.txtAutenticar com Google Cloud:
gcloud auth application-default loginInicie o servidor:
python3 main.py- Abra o navegador e acesse http://localhost:8000.
- Clique em Conectar.
- Entrada de texto: você pode escrever uma mensagem de texto para o Gemini digitando sua mensagem no campo de mensagem e clicando em Enviar. O Gemini responde à mensagem usando áudio.
- Entrada de texto por voz: para falar com o Gemini, clique em Iniciar microfone. O Gemini responde ao comando usando áudio.
- Entrada de vídeo: para permitir que o Gemini veja pela sua câmera, clique em Iniciar câmera. Você pode conversar com o Gemini sobre o que ele vê pela sua câmera.
- Saiba como configurar idioma e voz.
- Saiba como configurar os recursos do Gemini.
- Saiba mais sobre as práticas recomendadas da API Gemini Live.
Clonar o app de demonstração
Clone o repositório do app de demonstração e navegue até 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
O aplicativo inclui os seguintes arquivos:
/
├── 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 as variáveis de ambiente
Para fins desta demonstração, a única variável de ambiente que precisamos configurar é aquela que define o ID do seu projeto Google Cloud . O comando a seguir cria um arquivo .env que define a variável de ambiente PROJECT_ID.
Substitua PROJECT_ID pelo ID do seu projeto do Google Cloud .
echo "PROJECT_ID=PROJECT_ID" > .env
Executar o servidor de back-end
O back-end (main.py) processa a conexão entre o cliente e a
API Gemini Live. O ponto de entrada é um servidor FastAPI que expõe um endpoint WebSocket. Ele aceita partes de áudio e vídeo do front-end e as encaminha para a sessão GeminiLive. A classe GeminiLive em gemini_live.py encapsula
o genai.Client para gerenciar 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 UI de front-end e conecte-se ao Gemini
O front-end gerencia a captura e a reprodução de áudio e vídeo. O arquivo
gemini-client.js processa a conexão WebSocket com o back-end. Ele
envia partes de mídia codificadas em Base64 para o back-end e recebe respostas de áudio
da API Gemini Live, que são reproduzidas para o usuário.
Para abrir a UI do usuário de front-end e se conectar ao Gemini, faça o seguinte:
Interaja com o Gemini
Tente fazer o seguinte: