Comenzar

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

  1. Ejecuta el siguiente comando para instalar la CLI de Genkit:

    npm i -g genkit
    
  2. 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 como lib/index.js.

  3. Inicializa un proyecto de Genkit:

    genkit init
    
    1. 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).

    2. 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.

    3. 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.

  4. 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
    

    Te damos la bienvenida a la IU para desarrolladores de Genkit

    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.

  5. 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.