গুগল জেনারেটিভ এআই প্লাগইন

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

কনফিগারেশন

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

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

প্লাগইনটির জন্য Gemini API-এর জন্য একটি API কী প্রয়োজন, যা আপনি Google AI Studio থেকে পেতে পারেন।

নিম্নলিখিতগুলির মধ্যে একটি করে আপনার API কী ব্যবহার করার জন্য প্লাগইনটি কনফিগার করুন:

  • আপনার API কীতে GOOGLE_GENAI_API_KEY এনভায়রনমেন্ট ভেরিয়েবল সেট করুন।

  • আপনি যখন প্লাগইন শুরু করবেন তখন API কী নির্দিষ্ট করুন:

    if err := googleai.Init(ctx, &googleai.Config{APIKey: yourKey}); err != nil {
    	return err
    }
    

    যাইহোক, কোডে সরাসরি আপনার API কী এম্বেড করবেন না! শুধুমাত্র ক্লাউড সিক্রেট ম্যানেজার বা অনুরূপ একটি পরিষেবার সাথে এই বৈশিষ্ট্যটি ব্যবহার করুন৷

ব্যবহার

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

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

model := googleai.Model("gemini-1.5-flash")

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

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

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

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

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

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

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

নিম্নলিখিত মডেলগুলি সমর্থিত: text-embedding-004 এবং embedding-001

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

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) দেখুন।