Başlama

Firebase Genkit'i kullanmaya başlamak için Genkit CLI'ı yükleyin ve Bir Node.js projesinde genkit init. Bu sayfanın geri kalanında bunu nasıl yapacağınız gösterilmektedir.

Şartlar

Node.js 20 veya sonraki sürümler.

Öneri: nvm ve nvm-windows araçları bir kolayca yükleyebilirsiniz.

Genkit'i yükleyin

Aşağıdaki komutu çalıştırarak Genkit CLI'ı yükleyin:

npm i -g genkit

Bu komut, Genkit CLI'ı Node yükleme dizininize yükler Düğüm projesinin dışında kullanılabilmesi için.

Örnek proje oluşturma ve keşfetme

  1. Yeni bir Node projesi oluşturun:

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

    package.json dosyasına bakın ve main alanının lib/index.js.

  2. Bir Genkit projesini başlatın:

    genkit init
    
    1. Dağıtım platformu seçeneği olarak Diğer platform'u seçin (şablonlar için Firebase Cloud Functions ve Google Cloud Run da mevcuttur).

    2. Modelinizi seçin:

      Gemini (Google Yapay Zeka)

      Kullanmaya başlamanın en basit yolu Google Yapay Zeka Gemini API'yi kullanmaktır. Şunlardan emin olun: bu bölgenizde kullanılabilir.

      Şu öğe için bir API anahtarı oluşturun: Gemini API, Google AI Studio'yu kullanıyor. Ardından, GOOGLE_GENAI_API_KEY ayarını yapın. ortam değişkenini anahtarınıza ekleyin:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      Google Yapay Zeka Gemini API bölgenizde kullanılamıyorsa şunları yapabilirsiniz: Vertex AI API'yi kullanarak Gemini ve diğer modelleri de sunuyor. Siz faturalandırmanın etkinleştirilmiş bir Google Cloud projesine sahip olması gerekir. Platform API'sine gidip bazı ek ortam değişkenlerini ayarlayın:

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

      Vertex AI fiyatlandırması için https://cloud.google.com/vertex-ai/generative-ai/pricing adresine göz atın.

    3. Diğer sorular için varsayılan cevapları seçin, proje klasörünüzü örnek kodla başlatın.

    genkit init komutu, index.ts örnek kaynak dosyasını oluşturur. LLM'nin öneride bulunmasını isteyen tek bir akışı (menuSuggestionFlow) tanımlar Belirli bir temadaki restoran için bir öğe.

    Bu dosya aşağıdaki gibi görünür (eklenti yapılandırma adımları Vertex AI'ı seçtiyseniz farklı görünebilir):

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

    Genkit ile uygulamanızın yapay zeka özelliklerini geliştirirken giriş ön işlemesi ve diğer adımlar gibi birden çok adımlı akışlar harici bilgileri entegre ederek, karmaşık istemler elde edilen artırılmış üretim (RAG) kaynakları ve daha fazlası.

  3. Artık Genkit özelliklerini çalıştırıp yerel olarak keşfedebilirsiniz. hoş geldiniz. Genkit geliştirici kullanıcı arayüzünü indirip başlatın:

    genkit start
    

    Genkit geliştirici kullanıcı arayüzüne hoş geldiniz

    Genkit Geliştirici Kullanıcı Arayüzü artık makinenizde çalışıyor. Modelleri çalıştırdığınızda makineniz düzenleme görevlerini yerine getirirse adımların bir arada çalışmasını sağlamak için gereken şeyleri ifade eder. harici aramalar Gemini API gibi hizmetlerin ve hizmetlerin yayınlanması, sunucular.

    Ayrıca, geliştirme ortamında olduğunuz için Genkit, izlemeleri ve akış durumunu kontrol edebilirsiniz.

  4. Genkit Geliştirici Kullanıcı Arayüzü, şunu çalıştırdığınızda otomatik olarak indirilir ve açılır: genkit start komutudur.

    Geliştirici kullanıcı arayüzü, tanımladığınız akışları ve bunları modellediğiniz bunları çalıştırabilir ve önceki çalıştırmaların izlerini inceleyebilir. Bazı özellikleri deneyin: şu özellikler:

    • Çalıştır sekmesinde, gerçekleştirdiğiniz tüm akışların listesini eklentileri tarafından yapılandırılan tüm modelleri içerir.

      menuSuggestionFlow'u tıklayın ve bir metin giriş metniyle çalıştırmayı deneyin (örneğin, "cat"). Her şey yolunda giderse kedi için menü önerisiyle ödüllendirilirsiniz farklı olduğunu bilir.

    • İncele sekmesinde akış yürütme geçmişini görürsünüz. Her bir akışa aktarılan parametreleri ve bir takip etmeye teşvik edin.

Sonraki adımlar

Genkit uygulamanızı Firebase ile nasıl oluşturup dağıtacağınıza göz atın. Cloud Run veya herhangi bir Node.js platformu.