Mulai

Untuk mulai menggunakan Firebase Genkit, instal Genkit CLI dan jalankan genkit init di project Node.js. Bagian selanjutnya dari halaman ini akan menunjukkan caranya.

Persyaratan

Node.js 20 atau yang lebih baru.

Prosedur

  1. Instal Genkit CLI dengan menjalankan perintah berikut:

    npm i -g genkit
    
  2. Buat project Node baru:

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

    Lihat package.json dan pastikan kolom main ditetapkan ke lib/index.js.

  3. Lakukan inisialisasi project Genkit:

    genkit init
    
    1. Pilih Other platform sebagai opsi platform deployment (template untuk Firebase Cloud Functions dan Google Cloud Run juga tersedia).

    2. Pilih model Anda:

      Gemini (AI Google)

      Cara termudah untuk memulai adalah menggunakan Gemini API AI Google. Pastikan atribut ini tersedia di wilayah Anda.

      Buat kunci API untuk Gemini API menggunakan Google AI Studio. Kemudian, tetapkan variabel lingkungan GOOGLE_GENAI_API_KEY ke kunci Anda:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      Jika Google AI Gemini API tidak tersedia di wilayah Anda, sebaiknya gunakan Vertex AI API yang juga menawarkan Gemini dan model lainnya. Anda harus memiliki project Google Cloud yang mendukung penagihan, mengaktifkan AI Platform API, dan menetapkan beberapa variabel lingkungan tambahan:

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

      Lihat https://cloud.google.com/vertex-ai/generative-ai/pricing untuk mengetahui harga Vertex AI.

    3. Pilih jawaban default untuk pertanyaan lainnya, yang akan menginisialisasi folder project Anda dengan beberapa kode contoh.

    Perintah genkit init membuat contoh file sumber, index.ts, yang menentukan alur tunggal, menuSuggestionFlow, yang meminta LLM menyarankan item untuk restoran dengan tema tertentu.

    File ini terlihat seperti berikut (langkah-langkah konfigurasi plugin mungkin terlihat berbeda jika Anda memilih Vertex AI):

    import * as z from 'zod';
    
    // Import the Genkit core libraries and plugins.
    import { generate } from '@genkit-ai/ai';
    import { configureGenkit } from '@genkit-ai/core';
    import { defineFlow, startFlowsServer } from '@genkit-ai/flow';
    import { googleAI } from '@genkit-ai/googleai';
    
    // Import models from the Google AI plugin. The Google AI API provides access to
    // several generative models. Here, we import Gemini 1.5 Flash.
    import { gemini15Flash } from '@genkit-ai/googleai';
    
    configureGenkit({
      plugins: [
        // Load the Google AI plugin. You can optionally specify your API key
        // by passing in a config object; if you don't, the Google AI plugin uses
        // the value from the GOOGLE_GENAI_API_KEY environment variable, which is
        // the recommended practice.
        googleAI(),
      ],
      // Log debug output to tbe console.
      logLevel: 'debug',
      // Perform OpenTelemetry instrumentation and enable trace collection.
      enableTracingAndMetrics: true,
    });
    
    // Define a simple flow that prompts an LLM to generate menu suggestions.
    export const menuSuggestionFlow = defineFlow(
      {
        name: 'menuSuggestionFlow',
        inputSchema: z.string(),
        outputSchema: z.string(),
      },
      async (subject) => {
        // Construct a request and send it to the model API.
        const llmResponse = await generate({
          prompt: `Suggest an item for the menu of a ${subject} themed restaurant`,
          model: gemini15Flash,
          config: {
            temperature: 1,
          },
        });
    
        // Handle the response from the model API. In this sample, we just convert
        // it to a string, but more complicated flows might coerce the response into
        // structured output or chain the response into another LLM call, etc.
        return llmResponse.text();
      }
    );
    
    // Start a flow server, which exposes your flows as HTTP endpoints. This call
    // must come last, after all of your plug-in configuration and flow definitions.
    // You can optionally specify a subset of flows to serve, and configure some
    // HTTP server options, but by default, the flow server serves all defined flows.
    startFlowsServer();
    

    Saat membangun fitur AI aplikasi dengan Genkit, Anda mungkin akan membuat alur dengan beberapa langkah seperti prapemrosesan input, konstruksi perintah yang lebih canggih, mengintegrasikan sumber informasi eksternal untuk pembuatan tingkat pengambilan (RAG), dan lainnya.

  4. Sekarang Anda dapat menjalankan dan menjelajahi fitur Genkit serta project contoh secara lokal di mesin Anda. Download dan mulai UI Developer Genkit:

    genkit start
    

    Selamat datang di UI Developer Genkit

    UI Developer Genkit kini berjalan di komputer Anda. Saat Anda menjalankan model atau flow di langkah berikutnya, mesin Anda akan melakukan tugas orkestrasi yang diperlukan agar langkah-langkah alur tersebut berfungsi bersama; panggilan ke layanan eksternal seperti Gemini API akan terus dilakukan terhadap server live.

    Selain itu, karena Anda berada di lingkungan dev, Genkit akan menyimpan trace dan status flow di file lokal.

  5. UI Developer Genkit akan didownload dan terbuka otomatis saat Anda menjalankan perintah genkit start.

    UI Developer memungkinkan Anda melihat alur mana yang telah ditentukan dan model yang telah Anda konfigurasi, menjalankannya, serta memeriksa rekaman aktivitas operasi sebelumnya. Cobalah beberapa fitur ini:

    • Di tab Run, Anda akan melihat daftar semua alur yang telah Anda tetapkan dan model apa pun yang telah dikonfigurasi oleh plugin.

      Klik menuSuggestionFlow lalu coba jalankan dengan beberapa teks input (misalnya, "cat"). Jika semuanya berjalan lancar, Anda akan mendapatkan saran menu untuk restoran bertema kucing.

    • Pada tab Inspect, Anda akan melihat histori eksekusi flow. Untuk setiap alur, Anda dapat melihat parameter yang diteruskan ke alur dan rekaman aktivitas setiap langkah saat berjalan.

Langkah berikutnya

Pelajari cara membangun dan men-deploy aplikasi Genkit dengan Firebase, Cloud Run, atau platform Node.js.