Akışları herhangi bir uygulama barındırma platformuna dağıtma

Firebase Genkit akışlarını, Go ikili programı barındırabilen herhangi bir hizmeti kullanarak web hizmetleri olarak dağıtabilirsiniz. Örnek olarak bu sayfa, varsayılan örnek akışını dağıtmayla ilgili genel süreçte size yol gösterir ve sağlayıcıya özgü işlemleri yapmanız gereken noktaları gösterir.

  1. 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.

  2. Proje dizininizde bir Go modülü başlatın:

    go mod init example/cloudrun
    
  3. 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 için örnek bir kaynak dosya oluşturur. Ancak bu eğiticinin geri kalanında yalnızca örnek akışı dağıtacaksınız.

  4. Akış sunucusunun dinlemesi gereken bağlantı noktasını açıkça belirtmek için örnek dosyayı (main.go veya genkit.go) düzenleyin:

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    

    Sağlayıcınız belirli bir bağlantı noktasını dinlemenizi gerektiriyorsa Genkit'i buna göre yapılandırdığınızdan emin olun.

  5. Dağıtmayı planladığınız akışlara erişimi kontrol etmek için bir tür kimlik doğrulama ve yetkilendirme uygulayın.

    Çoğu üretken yapay zeka hizmeti sınırlı olduğundan, bu hizmetleri çağıran uç noktalara açık erişime izin vermek muhtemelen istemezsiniz. Bazı barındırma hizmetleri, kendilerinde dağıtılan uygulamalar için ön uç olarak bir kimlik doğrulama katmanı sağlar. Bu katmanı bu amaçla kullanabilirsiniz.

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

    Gemini (Google Yapay Zeka)

    1. Google AI'ın bölgenizde kullanılabildiğinden emin olun.

    2. Google AI Studio'yu kullanarak Gemini API için API anahtarı oluşturun.

    3. API anahtarını, dağıtılan ortamda kullanılabilir hale getirin.

      Çoğu uygulama barındırıcısı, API anahtarları gibi gizli anahtarların güvenli bir şekilde işlenmesi için bazı sistemler sağlar. Genellikle bu gizli anahtarlar uygulamanız için ortam değişkenleri biçiminde kullanılabilir. API anahtarınızı GOOGLE_GENAI_API_KEY değişkenine atayabiliyorsanız Genkit otomatik olarak anahtarı kullanır. Aksi takdirde, anahtarı açık bir şekilde ayarlamak için googleai.Init() çağrısını değiştirmeniz gerekir. (Ancak anahtarı doğrudan kodun içine yerleştirmeyin! Barındırma sağlayıcınız tarafından sağlanan gizli anahtar yönetimi olanaklarını kullanın.)

    Gemini (Vertex AI)

    1. Cloud konsolunda projeniz için Vertex AI API'yi etkinleştirin.

    2. Henüz IAM sayfasında yoksa Vertex AI API'ye erişmek için bir hizmet hesabı oluşturun.

      Hesaba Vertex AI Kullanıcısı rolünü verin.

    3. Barındırma ortamınızda Uygulama Varsayılan Kimlik Bilgilerini ayarlayın.

    4. Eklentiyi, Google Cloud proje kimliğinizle ve kullanmak istediğiniz Vertex AI API konumuyla yapılandırın. Bunu, barındırma ortamınızda veya vertexai.Init() çağrınızda GCLOUD_PROJECT ve GCLOUD_LOCATION ortam değişkenlerini ayarlayarak yapabilirsiniz.

    Bu eğitim için ayarlamanız gereken tek sır model sağlayıcı içindir ancak genel olarak akışınızın kullandığı her hizmet için benzer bir işlem yapmanız gerekir.

  7. İ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.

  8. Şu ana kadar her şey beklendiği gibi çalışıyorsa sağlayıcınızın araçlarını kullanarak akışı derleyip dağıtabilirsiniz.