Começar

Para começar a usar o Firebase Genkit, instale a CLI do Genkit e execute genkit init em um projeto Node.js. O restante desta página mostra como fazer isso.

Requisitos

Node.js 20 ou mais recente.

Procedimento

  1. Instale a CLI do Genkit executando o seguinte comando:

    npm i -g genkit
    
  2. Crie um novo projeto Node:

    mkdir genkit-intro && cd genkit-intro
    npm init -y
    

    Confira o package.json e verifique se o campo main está definido como lib/index.js.

  3. Inicialize um projeto Genkit:

    genkit init
    
    1. Selecione Node.js como a opção da plataforma de implantação. Modelos para o Firebase Cloud Functions e o Google Cloud Run também estão disponíveis.

    2. Selecione o modelo:

      Gemini (IA do Google)

      A maneira mais simples de começar é com a API Google AI Gemini. Verifique se ele está disponível na sua região.

      Gere uma chave de API para a API Genmini usando o Google AI Studio. Em seguida, defina a variável de ambiente GOOGLE_GENAI_API_KEY como sua chave:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      Se a API Gemini do Google não estiver disponível na sua região, use a API Vertex AI, que também oferece o Gemini e outros modelos. Você precisará ter um projeto do Google Cloud com faturamento ativado, habilitar a API AI Platform e definir algumas variáveis de ambiente adicionais:

      gcloud services enable aiplatform.googleapis.com
      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      

      Consulte os preços da Vertex AI em https://cloud.google.com/vertex-ai/generative-ai/pricing.

    3. Escolha respostas padrão para o restante das perguntas. Isso inicializa a pasta do projeto com um exemplo de código.

    O comando genkit init cria um arquivo de origem de amostra, index.ts. Esse é o ponto de entrada do seu projeto, onde você configura o Genkit, os plug-ins que quer carregar e exporta os fluxos de IA e outros recursos definidos. O arquivo de amostra contém uma configuração que carrega um plug-in para oferecer suporte ao provedor de modelos que você escolheu anteriormente. Ela também contém um único fluxo, menuSuggestionFlow, que solicita que um LLM sugira um item para um restaurante com um determinado tema.

    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();
    

    Ao criar os recursos de IA do app com o Genkit, você provavelmente vai criar fluxos com várias etapas, como pré-processamento de entrada, construção de comandos mais sofisticada, integração de fontes de informações externas para geração de recuperação aumentada (RAG, na sigla em inglês) e muito mais.

  4. Agora é possível executar e explorar os recursos do Genkit e o projeto de amostra localmente na sua máquina. Faça o download e inicie a interface do desenvolvedor do Genkit:

    genkit start
    

    Esta é a interface do desenvolvedor do Genkit

    A interface do desenvolvedor do Genkit agora está em execução na sua máquina. Quando você executar modelos ou fluxos na próxima etapa, a máquina vai realizar as tarefas de orquestração necessárias para que as etapas do fluxo funcionem juntas. As chamadas para serviços externos, como a API Gemini, continuarão sendo feitas nos servidores ativos.

    Além disso, como você está em um ambiente de desenvolvimento, o Genkit armazena rastros e o estado do fluxo em arquivos locais.

  5. A interface do desenvolvedor do Genkit é transferida por download e aberta automaticamente quando você executa o comando genkit start.

    A interface do desenvolvedor permite ver quais fluxos foram definidos e modelos configurados, os executar e examinar os rastros de execuções anteriores. Teste alguns destes recursos:

    • Na guia Run, você verá uma lista de todos os fluxos definidos e todos os modelos que foram configurados por plug-ins.

      Clique em menuSuggestionFlow e tente executar com algum texto de entrada (por exemplo, "cat"). Se tudo der certo, você vai receber uma sugestão de menu para um restaurante com tema de gatos.

    • Na guia Inspecionar, é exibido um histórico de execuções de fluxo. Para cada fluxo, é possível ver os parâmetros que foram transmitidos para o fluxo e um rastreamento de cada etapa à medida que elas foram executadas.

Próximas etapas

Confira como criar e implantar seu app Genkit com o Firebase, o Cloud Run ou qualquer plataforma Node.js.