Para comenzar a usar Firebase Genkit, instala la CLI de Genkit y ejecuta
genkit init
en un proyecto de Node.js. En el resto de esta página, se muestra cómo hacerlo.
Requisitos
Node.js 20 o una versión posterior.
Procedimiento
Ejecuta el siguiente comando para instalar la CLI de Genkit:
npm i -g genkit
Crea un nuevo proyecto de Node:
mkdir genkit-intro && cd genkit-intro
npm init -y
Observa package.json y asegúrate de que el campo
main
esté configurado comolib/index.js
.Inicializa un proyecto de Genkit:
genkit init
Selecciona
Node.js
como la opción de plataforma de implementación (también están disponibles las plantillas para Firebase Cloud Functions y Google Cloud Run).Selecciona tu modelo:
Gemini (IA de Google)
La forma más sencilla de comenzar es con la API de Gemini de la IA de Google. Asegúrate de que esté disponible en tu región.
Genera una clave de API para la API de Gemini con Google AI Studio. Luego, establece la variable de entorno
GOOGLE_GENAI_API_KEY
en tu clave:export GOOGLE_GENAI_API_KEY=<your API key>
Gemini (Vertex AI)
Si la API de Gemini de Google AI no está disponible en tu región, considera usar la API de Vertex AI, que también ofrece Gemini y otros modelos. Deberás tener un proyecto de Google Cloud con facturación habilitada, habilitar la API de AI Platform y configurar algunas variables de entorno adicionales:
gcloud services enable aiplatform.googleapis.com
export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
Consulta https://cloud.google.com/vertex-ai/generative-ai/pricing para conocer los precios de Vertex AI.
Elige las respuestas predeterminadas para el resto de las preguntas, que inicializarán la carpeta del proyecto con algún código de muestra.
El comando
genkit init
crea un archivo fuente de muestra,index.ts
. Este es el punto de entrada de tu proyecto, donde configuras Genkit para tu proyecto, configuras los complementos que quieres cargar y exportar tus flujos de IA y otros recursos que definiste. El archivo de muestra contiene una configuración que carga un complemento para admitir el proveedor de modelos que elegiste anteriormente. También contiene un solo flujo,menuSuggestionFlow
, que le indica a un LLM que sugiera un elemento para un restaurante con un tema determinado.configureGenkit({ plugins: [googleAI()], logLevel: 'debug', enableTracingAndMetrics: true, }); export const menuSuggestionFlow = defineFlow( { name: 'menuSuggestionFlow', inputSchema: z.string(), outputSchema: z.string(), }, async (subject) => { const llmResponse = await generate({ prompt: `Suggest an item for the menu of a {subject} themed restaurant`, model: geminiPro, config: { temperature: 1, }, }); return llmResponse.text(); } ); startFlowsServer();
A medida que compiles las funciones de IA de tu app con Genkit, es probable que crees flujos con varios pasos, como el procesamiento previo de entrada, la construcción de instrucciones más sofisticada, la integración de fuentes de información externas para la generación con recuperación aumentada (RAG) y mucho más.
Ahora puedes ejecutar y explorar las funciones de Genkit y el proyecto de muestra de manera local en tu máquina. Descarga e inicia la IU para desarrolladores de Genkit:
genkit start
La IU para desarrolladores de Genkit se está ejecutando en tu máquina. Cuando ejecutes modelos o flujos en el siguiente paso, tu máquina realizará las tareas de organización necesarias para que los pasos del flujo funcionen en conjunto. Las llamadas a servicios externos como la API de Gemini se seguirán realizando a los servidores activos.
Además, como te encuentras en un entorno de desarrollo, Genkit almacena los seguimientos y el estado del flujo en archivos locales.
La IU de Genkit Developer se descarga y se abre automáticamente cuando ejecutas el comando
genkit start
.La IU para desarrolladores te permite ver qué flujos definiste y los modelos que configuraste, ejecutarlos y examinar seguimientos de ejecuciones anteriores. Prueba algunas de estas funciones:
En la pestaña Run, verás una lista de todos los flujos que definiste y cualquier modelo que configuraron los complementos.
Haz clic en menuSuggestionFlow y, luego, intenta ejecutarlo con texto de entrada (por ejemplo,
"cat"
). Si todo resulta bien, recibirás una sugerencia de menú para un restaurante con temática de gatos.En la pestaña Inspect, verás un historial de ejecuciones del flujo. Para cada flujo, puedes ver los parámetros que se pasaron al flujo y un seguimiento de cada paso a medida que se ejecutaban.
Próximos pasos
Descubre cómo compilar e implementar tu app de Genkit con Firebase, Cloud Run o cualquier plataforma de Node.js.