Google Generative AI প্লাগইন Gemini API-এর মাধ্যমে Google-এর জেমিনি মডেলগুলিতে ইন্টারফেস সরবরাহ করে।
ইনস্টলেশন
npm i --save @genkit-ai/googleai
কনফিগারেশন
এই প্লাগইনটি ব্যবহার করতে, আপনি যখন configureGenkit()
কল করবেন তখন এটি নির্দিষ্ট করুন :
import { googleAI } from '@genkit-ai/googleai';
export default configureGenkit({
plugins: [googleAI()],
// ...
});
প্লাগইনটির জন্য Gemini API-এর জন্য একটি API কী প্রয়োজন, যা আপনি Google AI Studio থেকে পেতে পারেন।
নিম্নলিখিতগুলির মধ্যে একটি করে আপনার API কী ব্যবহার করার জন্য প্লাগইনটি কনফিগার করুন:
আপনার API কীতে
GOOGLE_GENAI_API_KEY
এনভায়রনমেন্ট ভেরিয়েবল সেট করুন।আপনি যখন প্লাগইন শুরু করবেন তখন API কী নির্দিষ্ট করুন:
googleAI({ apiKey: yourKey });
যাইহোক, কোডে সরাসরি আপনার API কী এম্বেড করবেন না! শুধুমাত্র ক্লাউড সিক্রেট ম্যানেজার বা অনুরূপ একটি পরিষেবার সাথে এই বৈশিষ্ট্যটি ব্যবহার করুন৷
কিছু মডেল (যেমন Gemini 1.5 Pro) প্রিভিউতে রয়েছে এবং শুধুমাত্র v1beta
API-এর মাধ্যমে ব্যবহারযোগ্য। আপনি সেই মডেলগুলিতে অ্যাক্সেস পেতে apiVersion
নির্দিষ্ট করতে পারেন:
configureGenkit({
plugins: [googleAI({ apiVersion: 'v1beta' })],
});
অথবা আপনি একাধিক সংস্করণ নির্দিষ্ট করতে পারেন যদি আপনি একই সময়ে মডেলের বিভিন্ন সংস্করণ ব্যবহার করতে চান।
configureGenkit({
plugins: [googleAI({ apiVersion: ['v1', 'v1beta'] })],
});
ব্যবহার
এই প্লাগইনটি স্থিরভাবে এর সমর্থিত মডেলগুলিতে রেফারেন্স রপ্তানি করে:
import {
gemini15Flash,
gemini15Pro,
textEmbeddingGecko001,
} from '@genkit-ai/googleai';
কোন মডেল generate()
ব্যবহার করে তা নির্দিষ্ট করতে আপনি এই রেফারেন্সগুলি ব্যবহার করতে পারেন:
const llmResponse = await generate({
model: gemini15Flash,
prompt: 'Tell me a joke.',
});
অথবা embed
বা পুনরুদ্ধারের সাথে এমবেডার (যেমন textEmbeddingGecko001
) ব্যবহার করুন:
const embedding = await embed({
embedder: textEmbeddingGecko001,
content: input,
});
Gemini Files API
আপনি Gemini Files API এ আপলোড করা ফাইলগুলি Genkit এর সাথে ব্যবহার করতে পারেন:
import { GoogleAIFileManager } from '@google/generative-ai/server';
const fileManager = new GoogleAIFileManager(process.env.GOOGLE_GENAI_API_KEY);
const uploadResult = await fileManager.uploadFile(
'path/to/file.jpg',
{
mimeType: 'image/jpeg',
displayName: 'Your Image',
}
);
const response = await generate({
model: gemini15Flash,
prompt: [
{text: 'Describe this image:'},
{media: {contentType: uploadResult.file.mimeType, url: uploadResult.file.uri}}
]
});