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. Aşağıdaki durumlarda Google Cloud KSA'yı yükleyin: yapın.

  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 auth login
    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 Go modülü başlatın:

    go mod init example/cloudrun
    
  5. Projenizde Genkit'i başlatın:

    genkit init
    

    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ızı sağlayacak örnek bir kaynak dosya oluşturun. Ancak bu eğiticinin geri kalanında yalnızca örnek akışı dağıtacaksınız.

  6. main.gogenkit.go bağlantı noktası oluşturabilirsiniz:

    if err := genkit.Init(ctx,
        &genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
        log.Fatal(err)
    }
    
  7. 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.

    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.

    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.

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

    1. Seçtiğiniz model sağlayıcı için yerel ortamınızı ayarlayın:

      Gemini (Google Yapay Zeka)

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      
    2. Kullanıcı arayüzünü başlatın:

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

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

    Gemini (Google Yapay Zeka)

    gcloud run deploy --port 3400 \
      --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

    Gemini (Vertex AI)

    gcloud run deploy --port 3400 \
      --set-env-vars GCLOUD_PROJECT=<your-gcloud-project> \
      --set-env-vars GCLOUD_LOCATION=us-central1
    

    (GCLOUD_LOCATION, kullanmak istediğiniz Vertex API bölgesini yapılandırır.)

    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 '"banana"'