Cloud Run ile Firebase Genkit

Firebase Genkit akışlarını Cloud Run'ı kullanarak web hizmetleri olarak dağıtabilirsiniz. Bu sayfada, örnek olarak, varsayılan örneği dağıtma sürecinde size yol gösterir akışı sağlar.

  1. Gerekli araçları yükleyin:

    1. Node.js sürüm 20 veya üstünü kullandığınızdan emin olun ( node --version kontrol edin).

    2. Şunu yükleyin: Google Cloud KSA.

  2. Yeni bir Google Cloud projesi oluşturmak için Cloud console'u veya mevcut bir konsolu seçin. Proje bir faturalandırma hesabına bağlı olmalıdır.

    Bir proje oluşturduktan veya seçtikten sonra, kullanılacak projeyi şunları sağlar:

    gcloud init
    
  3. Genkit örnek projesi için bir dizin oluşturun:

    mkdir -p ~/tmp/genkit-cloud-project
    cd ~/tmp/genkit-cloud-project
    

    IDE kullanacaksanız IDE'yi bu dizinde açın.

  4. Proje dizininizde bir Node.js projesini başlatın:

    npm init -y
    
  5. Node.js projenizde Genkit'i başlatın:

    genkit init
    
    • Dağıtım platformu olarak Google Cloud'u seçin.
    • Kullanmak istediğiniz model sağlayıcıyı seçin.

    Kalan istemler için varsayılanları kabul edin. genkit aracı, kendi AI akışlarınızı geliştirmeye başlamanıza yardımcı olacak birkaç örnek kaynak dosyası ekleyebilirsiniz. Ancak bu eğiticinin geri kalanında yalnızca örnek akışı dağıtacaksınız.

  6. API kimlik bilgilerini dağıtılan işleviniz için kullanılabilir hale getirin. Aşağıdakilerden birini yapın: seçtiğiniz model sağlayıcıya bağlı olarak aşağıdaki adımları uygulayın:

    Gemini (Google Yapay Zeka)

    1. Google Yapay Zeka'nın bölgenizde kullanılabilir.

    2. Şu öğe için bir API anahtarı oluşturun: Gemini API, Google AI Studio'yu kullanıyor.

    3. API anahtarını Cloud Run ortamında kullanın:

      1. Cloud Console'da Secret Manager API.
      2. Secret Manager sayfasında, API anahtarınızı içeren yeni bir gizli anahtar oluşturun.
      3. Gizli anahtarı oluşturduktan sonra aynı sayfada varsayılan anahtarınızı verin hizmet hesabının gizli anahtara erişebilmesini sağlamak için Secret Manager Gizli Anahtar Erişen rolü. (İlgili kişinin adını varsayılan Compute hizmet hesabı olduğunu unutmayın.)

      Daha sonraki bir adımda, hizmetinizi dağıttığınızda bu gizli anahtarın adına referans vermelidir.

    4. İsteğe bağlı: Akışınızı aşağıdaki gibi yerel olarak çalıştırmak istiyorsanız: GOOGLE_GENAI_API_KEY ortam değişkenini anahtarınıza ayarlayın:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

    Gemini (Vertex AI)

    1. Cloud Console'da Vertex AI API'yi etkinleştirme belirleneceğini konuşacağız.

    2. IAM'de sayfasında, Varsayılan Compute hizmet hesabına Vertex AI Kullanıcısı rolüne sahip olmanız gerekir.

    3. İsteğe bağlı: Akışınızı aşağıdaki gibi yerel olarak çalıştırmak istiyorsanız: adımında, bazı ek ortam değişkenleri ayarlayın ve kurulum için gcloud aracı uygulama varsayılan kimlik bilgileri:

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      

    Bu eğitim için ayarlamanız gereken tek sır model içindir ancak genel olarak her hizmet için benzer bir işlem yapmanız gerekir. size yardımcı olur.

  7. İsteğe bağlı: Geliştirici kullanıcı arayüzündeki adımlarınızı deneyin:

    1. Kullanıcı arayüzünü başlatın:

      genkit start
      
    2. Geliştiricinin kullanıcı arayüzünde (http://localhost:4000/) akışı çalıştırın:

      1. menuSuggestionFlow'u tıklayın.

      2. Input JSON sekmesinde model için bir konu sağlayın:

        "banana"
        
      3. Çalıştır'ı tıklayın.

  8. Şimdiye kadar her şey beklendiği gibi çalışıyorsa bir komut dosyası oluşturup akış:

    Gemini (Google Yapay Zeka)

    npm run build
    gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

    Gemini (Vertex AI)

    npm run build
    gcloud run deploy
    

    Kimliği doğrulanmayan çağrılara izin vermek isteyip istemediğiniz sorulduğunda N seçeneğini belirleyin. N yanıtını verdiğinizde, hizmetiniz IAM kimlik bilgilerini gerekli kılacak şekilde yapılandırılır. Görüntüleyin Kimlik Doğrulama inceleyin.

Dağıtım tamamlandıktan sonra araç, hizmet URL'sini yazdırır. Web sitemiz g.co/newsinitiative/labs üzerinden curl ile birlikte:

curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'