ভার্টেক্স এআই প্লাগইন

Vertex AI প্লাগইন Vertex AI API-এর মাধ্যমে বেশ কয়েকটি Google জেনারেটিভ এআই মডেলগুলিতে ইন্টারফেস সরবরাহ করে।

প্রয়োজনীয়তা

আপনি যদি স্থানীয়ভাবে এই প্লাগইন ব্যবহার করে এমন ফ্লো চালাতে চান, তাহলে আপনার Google Cloud CLI টুল ইনস্টল করা দরকার।

কনফিগারেশন

এই প্লাগইনটি ব্যবহার করতে, vertexai প্যাকেজ আমদানি করুন এবং vertexai.Init() কল করুন :

import "github.com/firebase/genkit/go/plugins/vertexai"
if err := vertexai.Init(ctx, nil); err != nil {
	return err
}

প্লাগইনটির জন্য আপনাকে আপনার Google ক্লাউড প্রকল্পের আইডি, যে অঞ্চলে আপনি Vertex API অনুরোধ করতে চান এবং আপনার Google ক্লাউড প্রকল্পের শংসাপত্রগুলি নির্দিষ্ট করতে হবে৷

  • ডিফল্টরূপে, vertexai.Init() GCLOUD_PROJECT এনভায়রনমেন্ট ভেরিয়েবল থেকে আপনার Google ক্লাউড প্রকল্প আইডি পায়।

    আপনি এই মানটি সরাসরি পাস করতে পারেন:

    if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil {
    	return err
    }
    
  • ডিফল্টরূপে, vertexai.Init() GCLOUD_LOCATION পরিবেশ পরিবর্তনশীল থেকে Vertex AI API অবস্থান পায়।

    আপনি এই মানটি সরাসরি পাস করতে পারেন:

    if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil {
    	return err
    }
    
  • API শংসাপত্রগুলি প্রদান করতে, আপনাকে Google ক্লাউড অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রগুলি সেট আপ করতে হবে৷

    1. আপনার শংসাপত্রগুলি নির্দিষ্ট করতে:

      • আপনি যদি Google ক্লাউড পরিবেশ (ক্লাউড ফাংশন, ক্লাউড রান ইত্যাদি) থেকে আপনার প্রবাহ চালাচ্ছেন তবে এটি স্বয়ংক্রিয়ভাবে সেট হয়ে যায়।

      • আপনার স্থানীয় ডেভ পরিবেশে, চালিয়ে এটি করুন:

      gcloud auth application-default login
      
    2. উপরন্তু, নিশ্চিত করুন যে অ্যাকাউন্টটি Vertex AI ব্যবহারকারী IAM ভূমিকা ( roles/aiplatform.user ) মঞ্জুর করেছে। Vertex AI অ্যাক্সেস কন্ট্রোল ডক্স দেখুন।

ব্যবহার

জেনারেটিভ মডেল

একটি সমর্থিত মডেলের একটি রেফারেন্স পেতে, এর শনাক্তকারী নির্দিষ্ট করুন:

langModel := vertexai.Model("gemini-1.5-flash")

নিম্নলিখিত মডেলগুলি সমর্থিত: gemini-1.0-pro , gemini-1.5-pro , এবং gemini-1.5-flash

মডেল রেফারেন্সগুলির একটি Generate() পদ্ধতি রয়েছে যা Vertex AI API কে কল করে:

genRes, err := ai.GenerateText(ctx, langModel, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
	return err
}

আরও তথ্যের জন্য সামগ্রী তৈরি করা দেখুন।

এম্বেডিং মডেল

একটি সমর্থিত এমবেডিং মডেলের একটি রেফারেন্স পেতে, এর শনাক্তকারী নির্দিষ্ট করুন:

embeddingModel := vertexai.Embedder("text-embedding-004")

নিম্নলিখিত মডেলগুলি সমর্থিত: textembedding-gecko@003 , textembedding-gecko@002 , textembedding-gecko@001 , text-embedding-004 , textembedding-gecko-multilingual@001 , text-multilingual-embedding-002 multimodalembedding

এমবেডার রেফারেন্সগুলির একটি Embed() পদ্ধতি রয়েছে যা ভার্টেক্স এআই এপিআইকে কল করে:

embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
	return err
}

আপনি একটি সূচকের Index() পদ্ধতি এবং একটি পুনরুদ্ধারকারীর Retrieve() পদ্ধতিতে একটি এমবেডার পাস করতে পারেন:

if err := ai.Index(ctx, myIndexer, ai.WithIndexerDocs(docsToIndex...)); err != nil {
	return err
}
retrieveRes, err := ai.Retrieve(ctx, myRetriever, ai.WithRetrieverText(userInput))
if err != nil {
	return err
}

আরো তথ্যের জন্য Retrieval-augmented generation (RAG) দেখুন।