ক্লাউড রানের সাথে জেনকিট,ক্লাউড রানের সাথে জেনকিট,ক্লাউড রানের সাথে জেনকিট,ক্লাউড রানের সাথে জেনকিট

আপনি ক্লাউড রান ব্যবহার করে ওয়েব পরিষেবা হিসাবে জেনকিট প্রবাহ স্থাপন করতে পারেন। এই পৃষ্ঠাটি, একটি উদাহরণ হিসাবে, আপনাকে ডিফল্ট নমুনা প্রবাহ স্থাপনের প্রক্রিয়ার মধ্য দিয়ে নিয়ে যায়।

  1. Google ক্লাউড CLI ইনস্টল করুন যদি আপনি ইতিমধ্যে না করে থাকেন।

  2. ক্লাউড কনসোল ব্যবহার করে একটি নতুন Google ক্লাউড প্রকল্প তৈরি করুন বা একটি বিদ্যমান একটি চয়ন করুন৷ প্রকল্পটি অবশ্যই একটি বিলিং অ্যাকাউন্টের সাথে সংযুক্ত থাকতে হবে।

    আপনি একটি প্রকল্প তৈরি বা চয়ন করার পরে, এটি ব্যবহার করার জন্য Google ক্লাউড CLI কনফিগার করুন:

    gcloud auth login
    gcloud init
  3. Genkit নমুনা প্রকল্পের জন্য একটি ডিরেক্টরি তৈরি করুন:

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

    আপনি একটি IDE ব্যবহার করতে যাচ্ছেন, এই ডিরেক্টরিতে এটি খুলুন.

  4. আপনার প্রকল্প ডিরেক্টরিতে একটি গো মডিউল শুরু করুন:

    go mod init example/cloudrun
    go mod get github.com/firebase/genkit/go
  5. Genkit ব্যবহার করে একটি নমুনা অ্যাপ্লিকেশন তৈরি করুন:

    package main
    
    import (
        "context"
        "fmt"
        "log"
        "net/http"
        "os"
    
        "github.com/firebase/genkit/go/ai"
        "github.com/firebase/genkit/go/genkit"
        "github.com/firebase/genkit/go/plugins/googlegenai"
        "github.com/firebase/genkit/go/plugins/server"
    )
    
    func main() {
        ctx := context.Background()
    
        // Initialize Genkit with the Google AI plugin and Gemini 2.0 Flash.
        // Alternatively, use &googlegenai.VertexAI{} and "vertexai/gemini-2.0-flash"
        // to use Vertex AI as the provider instead.
        g, err := genkit.Init(ctx,
            genkit.WithPlugins(&googlegenai.GoogleAI{}),
            genkit.WithDefaultModel("googleai/gemini-2.0-flash"),
        )
        if err != nil {
            log.Fatalf("failed to initialize Genkit: %w", err)
        }
    
        flow := genkit.DefineFlow(g, "jokesFlow", func(ctx context.Context, topic string) (string, error) {
            resp, err := genkit.Generate(ctx, g,
                ai.WithPrompt(`Tell a short joke about %s. Be creative!`, topic),
            )
            if err != nil {
                return "", fmt.Errorf("failed to generate joke: %w", err)
            }
    
            return resp.Text(), nil
        })
    
        mux := http.NewServeMux()
        mux.HandleFunc("POST /jokesFlow", genkit.Handler(flow))
        log.Fatal(server.Start(ctx, "127.0.0.1:"+os.Getenv("PORT"), mux))
    }
    
  6. আপনার নিয়োজিত ফাংশনে API শংসাপত্রগুলি উপলব্ধ করুন৷ উপরের নমুনায় আপনার পছন্দের উপর ভিত্তি করে আপনার কোন শংসাপত্র প্রয়োজন তা চয়ন করুন:

    মিথুন (Google AI)

    1. আপনার অঞ্চলে Google AI উপলব্ধ রয়েছে তা নিশ্চিত করুন৷

    2. Google AI স্টুডিও ব্যবহার করে Gemini API-এর জন্য একটি API কী তৈরি করুন

    3. ক্লাউড রান পরিবেশে API কী উপলব্ধ করুন:

      1. ক্লাউড কনসোলে, সিক্রেট ম্যানেজার এপিআই সক্ষম করুন।
      2. সিক্রেট ম্যানেজার পৃষ্ঠায়, আপনার API কী সহ একটি নতুন গোপনীয়তা তৈরি করুন।
      3. আপনি সিক্রেটটি তৈরি করার পরে, একই পৃষ্ঠায়, সিক্রেট ম্যানেজার সিক্রেট অ্যাকসেসরের ভূমিকা সহ আপনার ডিফল্ট কম্পিউট পরিষেবা অ্যাকাউন্টের গোপনীয়তায় অ্যাক্সেস দিন। (আপনি আইএএম পৃষ্ঠায় ডিফল্ট কম্পিউট পরিষেবা অ্যাকাউন্টের নাম দেখতে পারেন।)

      পরবর্তী ধাপে, আপনি যখন আপনার পরিষেবা স্থাপন করবেন, তখন আপনাকে এই গোপনীয়তার নাম উল্লেখ করতে হবে।

    মিথুন (Vertex AI)

    1. ক্লাউড কনসোলে, আপনার প্রকল্পের জন্য Vertex AI API সক্ষম করুন

    2. IAM পৃষ্ঠায়, নিশ্চিত করুন যে ডিফল্ট কম্পিউট পরিষেবা অ্যাকাউন্টটিকে Vertex AI ব্যবহারকারীর ভূমিকা দেওয়া হয়েছে।

    এই টিউটোরিয়ালের জন্য আপনাকে সেট আপ করার জন্য একমাত্র গোপনীয়তাটি হল মডেল প্রদানকারীর জন্য, তবে সাধারণভাবে, আপনার প্রবাহ ব্যবহার করা প্রতিটি পরিষেবার জন্য আপনাকে অবশ্যই একই রকম কিছু করতে হবে।

  7. ঐচ্ছিক : বিকাশকারী UI এ আপনার প্রবাহ চেষ্টা করুন:

    1. আপনার নির্বাচিত মডেল প্রদানকারীর জন্য আপনার স্থানীয় পরিবেশ সেট আপ করুন:

      মিথুন (Google AI)

      export GEMINI_API_KEY=<your API key>

      মিথুন (Vertex AI)

      export GOOGLE_CLOUD_PROJECT=<your project ID>
      export GOOGLE_CLOUD_LOCATION=us-central1
      gcloud auth application-default login
    2. UI শুরু করুন:

      genkit start -- go run .
    3. বিকাশকারী UI এ (http://localhost:4000/), ফ্লো চালান:

      1. jokesFlow এ ক্লিক করুন।

      2. ইনপুট JSON ট্যাবে, মডেলের জন্য একটি বিষয় প্রদান করুন:

        "bananas"
        
      3. রান এ ক্লিক করুন।

  8. যদি সবকিছু এখন পর্যন্ত প্রত্যাশিত হিসাবে কাজ করে, আপনি প্রবাহটি তৈরি এবং স্থাপন করতে পারেন:

    মিথুন (Google AI)

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

    মিথুন (Vertex AI)

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

    ( GOOGLE_CLOUD_LOCATION আপনি যে ভার্টেক্স API অঞ্চলটি ব্যবহার করতে চান সেটি কনফিগার করে৷)

    আপনি অননুমোদিত আহ্বানের অনুমতি দিতে চান কিনা জিজ্ঞাসা করা হলে N বেছে নিন। N উত্তর দিলে আপনার পরিষেবা কনফিগার হবে যাতে IAM শংসাপত্রের প্রয়োজন হয়। এই শংসাপত্রগুলি প্রদানের তথ্যের জন্য ক্লাউড রান ডক্সে প্রমাণীকরণ দেখুন৷

স্থাপনা শেষ হওয়ার পরে, টুলটি পরিষেবা URL মুদ্রণ করবে। আপনি এটি curl দিয়ে পরীক্ষা করতে পারেন:

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