4. Proveedores
Conecta Google con Gemini
Prepara tu proyecto y clave en AI Studio, selecciona un modelo de texto Gemini y comprueba la conexión.
Qué aprenderás
- Relacionar la clave de Gemini con su proyecto y sus cuotas.
- Configurar GOOGLE_GENERATIVE_AI_API_KEY para el adaptador de Google.
- Seleccionar un modelo de texto conservando la exportación model.
- Diagnosticar errores de entorno, acceso, modelo y límites.
Índice de esta lección
Paso 1
Revisa el acceso a Gemini y sus cuotas
Google es otra alternativa para la misma práctica. Entra en Google AI Studio con tu cuenta y revisa qué modelos y cuotas tiene tu proyecto. Basta con un proveedor funcionando para continuar con los patrones.
La API ofrece un nivel gratuito para determinados modelos, sujeto a disponibilidad y límites. Puedes comenzar con el nivel gratuito cuando esté disponible para tu cuenta y modelo. Si habilitas el nivel de pago, revisa sus condiciones: las llamadas pueden generar cargos. Crear una clave no garantiza uso ilimitado ni gratuito.
Esta clase utiliza Gemini API mediante @ai-sdk/google. Vertex AI tiene otro adaptador y otra configuración; no mezcles sus instrucciones. Consulta el uso y los límites del proyecto antes de ejecutar la práctica.
Proveedor → Google / Gemini APIClaves → https://aistudio.google.com/api-keysAdaptador → @ai-sdk/googleVariable local → GOOGLE_GENERATIVE_AI_API_KEYModelo de texto → gemini-3.5-flash-liteQué deberías observar
Identificas el proyecto, su nivel de uso y el proveedor que consumirá la práctica.
Paso 2
Crea la clave en el proyecto correcto
En AI Studio abre API Keys y crea una clave con un nombre reconocible, como patrones-curso. Comprueba el proyecto asociado. Para usuarios nuevos, AI Studio puede preparar un proyecto y una clave por defecto al aceptar sus condiciones.
Si ya tienes proyectos en Google Cloud y no aparecen, impórtalos desde Projects en AI Studio. Si necesitas uno nuevo, créalo en https://console.cloud.google.com/projectcreate y vuelve a importarlo. Si no puedes crear la clave, revisa los permisos de tu cuenta o consulta al administrador del proyecto.
Una clave tiene restricciones y el proyecto tiene cuotas. Las claves nuevas de AI Studio se restringen a Gemini API; Google rechaza claves estándar sin restricciones. No elimines esas restricciones para intentar resolver un error. Guarda la credencial solo en tu entorno local.
Cuenta de Google → Proyecto en Google Cloud → Proyecto visible en AI Studio → Clave válida para Gemini API → Cuotas y acceso al modeloQué deberías observar
Tienes una clave asociada a un proyecto al que puedes acceder, sin publicarla en los apuntes.
Paso 3
Instala el adaptador compatible
El proyecto base ya incluye @ai-sdk/google. Si reconstruiste la práctica mínima con Groq, añade este paquete en esa carpeta. La versión del ejemplo coincide con el material local y con AI SDK 7.
Conserva ai y los scripts existentes. Para este ejercicio usamos el adaptador de Vercel con generateText; no necesitas añadir @google/genai. Actualizar paquetes no activa facturación ni concede acceso a modelos.
El autocompletado depende del adaptador instalado. Comprueba el identificador en la documentación de Google y vuelve a compilar cuando cambies de versión o modelo.
npm install @ai-sdk/google@4.0.41Qué deberías observar
El adaptador está disponible para TypeScript sin haber enviado todavía una petición al modelo.
Paso 4
Configura la variable que espera el adaptador
Añade GOOGLE_GENERATIVE_AI_API_KEY con valor vacío a .env.example. En tu archivo .env local coloca la clave real en esa variable. Si la línea empieza por #, seguirá siendo un comentario. Evita espacios accidentales en el valor y conserva el nombre exacto.
@ai-sdk/google lee GOOGLE_GENERATIVE_AI_API_KEY por defecto. Las guías del SDK propio de Google pueden usar GEMINI_API_KEY o GOOGLE_API_KEY; esos nombres no sustituyen automáticamente el que espera este adaptador.
Los scripts dev y start de nuestra práctica cargan .env con --env-file. Guarda el archivo y vuelve a iniciar el proceso tras cambiarlo. Comprueba la carga de la variable sin imprimir su contenido; la clave real permanece fuera de Git.
# Rellena el valor real solo en tu .env local.GOOGLE_GENERATIVE_AI_API_KEY=Qué deberías observar
La plantilla pública queda vacía y el proceso recibe la variable correcta del proveedor elegido.
Paso 5
Selecciona un modelo Gemini que genere texto
En selected-model.ts conserva una única exportación model y cambia la selección anterior por google(...). Las acciones siguen importando model; no necesitan una segunda implementación para cambiar de proveedor.
Usamos gemini-3.5-flash-lite, un modelo estable con salida de texto. El selector original conserva gemini-2.5-flash, pero Google limita el acceso a la familia 2.5 a usuarios que ya la utilizaban y recomienda modelos actuales para proyectos nuevos. Confirma siempre la disponibilidad y las cuotas en tu cuenta.
Ctrl + Espacio ayuda a descubrir identificadores, pero no comprueba el acceso real. Los modelos de imágenes, como Nano Banana, requieren una práctica adaptada a su modalidad. Para este saludo elige un modelo que admita generateText y salida de texto.
import { google } from '@ai-sdk/google'; export const model = google('gemini-3.5-flash-lite');Qué deberías observar
La misma acción usa ahora Gemini API con un modelo adecuado para el saludo de texto.
Paso 6
Comprueba la conexión y usa FailSafe si falla
En main.ts usa getMessageFromModelFailSafe de la lección de errores. Desde la carpeta de práctica ejecuta npm run build y luego npm run dev. La compilación revisa los tipos; dev realiza una llamada real y consume la cuota del proyecto.
El prompt pide “OK, todo listo!”. Lee la respuesta recibida. Esa prueba comprueba la conexión; para comparar modelos necesitarás tareas representativas y medidas de calidad, tiempo y consumo.
Si falla, revisa primero GOOGLE_GENERATIVE_AI_API_KEY y la carga de .env. Un 400 puede indicar una petición o clave inválida; un 401 o 403 orienta a autenticación, permisos o restricciones; un 429, a cuotas o límites; un 404, al modelo o recurso. Lee el detalle del error antes de decidir qué cambiar. Para fallos de red o del servicio consulta también su estado.
Practica el diagnóstico con casos escritos sin alterar tu credencial real. Tras corregir la causa, repite la prueba. Puedes continuar con los patrones usando cualquier proveedor que ya funcione; la próxima clase de configuración será Ollama.
import { getMessageFromModelFailSafe } from './actions/get-message-model.js'; await getMessageFromModelFailSafe();Qué deberías observar
Obtienes el saludo o una orientación de diagnóstico. FailSafe conserva un código de salida de fallo cuando la llamada no se completa.
Ahora te toca
Prueba la idea por tu cuenta
Prepara el selector de Google y una plantilla de entorno vacía. Explica qué proyecto consumirá la cuota y clasifica estos casos: variable ausente, 403 y 429. Si tienes acceso API, ejecuta la prueba; también puedes resolver el diagnóstico sin hacer llamadas.
Necesito una pista
Conserva la exportación model y distingue la variable del adaptador de las variables del SDK propio de Google.
Comparar con una solución
Usa @ai-sdk/google con un modelo de texto disponible para tu cuenta y GOOGLE_GENERATIVE_AI_API_KEY. La clave identifica el proyecto de la cuota. Una variable ausente exige revisar el entorno, 403 orienta a permisos/restricciones y 429 a límites o cuota. Las acciones siguen importando model.
Antes de seguir
Comprueba lo que aprendiste
No es una nota. Es una pausa para comprobar que la idea quedó clara.
¿Terminaste la práctica?
Haz el ejercicio y comprueba tus respuestas antes de marcar la lección como completada.