En este tutorial se muestra cómo conectarse a la API Gemini Live mediante el SDK de IA generativa de Google para Python. En este tutorial, crearás una aplicación multimodal en tiempo real con un backend de Python sólido que gestione la conexión de la API.
Antes de empezar
Sigue estos pasos para configurar tu entorno.
- 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.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente 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.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init - Instala Git.
- Instala Python 3.
Instala las dependencias:
pip3 install -r requirements.txtAutenticar con Google Cloud:
gcloud auth application-default loginInicia el servidor:
python3 main.py- Abre el navegador y ve a http://localhost:8000.
- Haz clic en Conectar.
- Entrada de texto: puedes escribir un mensaje de texto a Gemini introduciéndolo en el campo de mensaje y haciendo clic en Enviar. Gemini responde al mensaje con audio.
- Entrada de voz: para hablar con Gemini, haz clic en Iniciar micrófono. Gemini responde a la petición con audio.
- Entrada de vídeo: para que Gemini pueda ver a través de tu cámara, haz clic en Iniciar cámara. Puedes hablar con Gemini sobre lo que ve a través de tu cámara.
- Consulta cómo configurar el idioma y la voz.
- Consulta cómo configurar las funciones de Gemini.
- Consulta las prácticas recomendadas de la API Gemini Live.
Clonar la aplicación de demostración
Clona el repositorio de la aplicación de demostración y ve a ese directorio:
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
Estructura del proyecto
La aplicación incluye los siguientes archivos:
/
├── 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
Configurar variables de entorno
Para esta demostración, la única variable de entorno que tenemos que configurar es la que define el ID de tu proyecto Google Cloud . El siguiente comando crea un archivo .env que define la variable de entorno PROJECT_ID.
Sustituye PROJECT_ID por el ID del proyecto de Google Cloud .
echo "PROJECT_ID=PROJECT_ID" > .env
Ejecutar el servidor backend
El backend (main.py) gestiona la conexión entre el cliente y la API Gemini Live. El punto de entrada es un servidor FastAPI que expone un endpoint de WebSocket. Acepta fragmentos de audio y vídeo del frontend y los reenvía a la sesión GeminiLive. La clase GeminiLive de gemini_live.py envuelve
la genai.Client para gestionar la sesión.
# 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 ejecutar el servidor backend, ejecuta los siguientes comandos:
Abre la interfaz de usuario frontend y conéctate a Gemini
El frontend gestiona la captura y la reproducción de audio y vídeo. El archivo gemini-client.js gestiona la conexión WebSocket con el backend. Envía fragmentos multimedia codificados en base64 al backend y recibe respuestas de audio de la API Gemini Live, que luego se reproducen para el usuario.
Para abrir la interfaz de usuario frontend y conectarte con Gemini, haz lo siguiente:
Interactuar con Gemini
Prueba a hacer lo siguiente: