পাঠ্য প্রজন্ম

ইনপুট হিসাবে টেক্সট, ছবি, ভিডিও এবং অডিও প্রদান করা হলে Gemini API টেক্সট আউটপুট তৈরি করতে পারে।

এই নির্দেশিকা আপনাকে দেখায় কিভাবে generateContent এবং streamGenerateContent পদ্ধতি ব্যবহার করে পাঠ্য তৈরি করতে হয়। মিথুনের দৃষ্টি এবং অডিও ক্ষমতা নিয়ে কাজ করার বিষয়ে জানতে, দৃষ্টি এবং অডিও নির্দেশিকা পড়ুন।

শুধুমাত্র পাঠ্য ইনপুট থেকে পাঠ্য তৈরি করুন

Gemini API ব্যবহার করে টেক্সট জেনারেট করার সবচেয়ে সহজ উপায় হল মডেলটিকে একটি মাত্র টেক্সট ইনপুট প্রদান করা, যেমন এই উদাহরণে দেখানো হয়েছে:

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");

const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const prompt = "Explain how AI works";

const result = await model.generateContent(prompt);
console.log(result.response.text());

এই ক্ষেত্রে, প্রম্পটে ("এআই কীভাবে কাজ করে তা ব্যাখ্যা করুন") কোনও আউটপুট উদাহরণ, সিস্টেম নির্দেশাবলী বা ফর্ম্যাটিং তথ্য অন্তর্ভুক্ত করে না। এটি একটি শূন্য-শট পদ্ধতির। কিছু ব্যবহারের ক্ষেত্রে, একটি এক-শট বা কয়েক-শট প্রম্পট আউটপুট তৈরি করতে পারে যা ব্যবহারকারীর প্রত্যাশার সাথে আরও সারিবদ্ধ। কিছু ক্ষেত্রে, আপনি মডেলটিকে কাজ বুঝতে বা নির্দিষ্ট নির্দেশিকা অনুসরণ করতে সাহায্য করার জন্য সিস্টেম নির্দেশাবলী প্রদান করতে চাইতে পারেন।

টেক্সট এবং ইমেজ ইনপুট থেকে টেক্সট তৈরি করুন

Gemini API মাল্টিমোডাল ইনপুট সমর্থন করে যা মিডিয়া ফাইলের সাথে পাঠ্য একত্রিত করে। নিম্নলিখিত উদাহরণ দেখায় কিভাবে পাঠ্য-এবং-চিত্র ইনপুট থেকে পাঠ্য তৈরি করা যায়:

import { GoogleGenerativeAI } from "@google/generative-ai";
import * as fs from 'node:fs';

const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

function fileToGenerativePart(path, mimeType) {
  return {
    inlineData: {
      data: Buffer.from(fs.readFileSync(path)).toString("base64"),
      mimeType,
    },
  };
}

const prompt = "Describe how this product might be manufactured.";
const imagePart = fileToGenerativePart("/path/to/image.png", "image/png");

const result = await model.generateContent([prompt, imagePart]);
console.log(result.response.text());

একটি পাঠ্য স্ট্রীম তৈরি করুন

ডিফল্টরূপে, সম্পূর্ণ পাঠ্য প্রজন্মের প্রক্রিয়াটি সম্পূর্ণ করার পরে মডেলটি একটি প্রতিক্রিয়া প্রদান করে। আপনি সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফলগুলি পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।

নিচের উদাহরণে দেখানো হয়েছে কিভাবে streamGenerateContent পদ্ধতি ব্যবহার করে স্ট্রিমিং বাস্তবায়ন করা যায় যাতে শুধুমাত্র টেক্সট-ইনপুট প্রম্পট থেকে টেক্সট তৈরি করা যায়।

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const prompt = "Explain how AI works";

const result = await model.generateContentStream(prompt);

for await (const chunk of result.stream) {
  const chunkText = chunk.text();
  process.stdout.write(chunkText);
}

একটি চ্যাট কথোপকথন তৈরি করুন

Gemini SDK আপনাকে একাধিক রাউন্ডের প্রশ্ন এবং প্রতিক্রিয়া সংগ্রহ করতে দেয়, ব্যবহারকারীদের উত্তরের দিকে ক্রমবর্ধমানভাবে পদক্ষেপ নিতে বা বহুমুখী সমস্যায় সহায়তা পেতে দেয়। এই SDK বৈশিষ্ট্যটি কথোপকথনের ইতিহাসের ট্র্যাক রাখার জন্য একটি ইন্টারফেস সরবরাহ করে, তবে পর্দার পিছনে প্রতিক্রিয়া তৈরি করতে একই generateContent পদ্ধতি ব্যবহার করে।

নিম্নলিখিত কোড উদাহরণ একটি মৌলিক চ্যাট বাস্তবায়ন দেখায়:

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
const chat = model.startChat({
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});

let result = await chat.sendMessage("I have 2 dogs in my house.");
console.log(result.response.text());
let result2 = await chat.sendMessage("How many paws are in my house?");
console.log(result2.response.text());

আপনি চ্যাটের সাথে স্ট্রিমিংও ব্যবহার করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const chat = model.startChat({
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});

let result = await chat.sendMessageStream("I have 2 dogs in my house.");
for await (const chunk of result.stream) {
  const chunkText = chunk.text();
  process.stdout.write(chunkText);
}
let result2 = await chat.sendMessageStream("How many paws are in my house?");
for await (const chunk of result2.stream) {
  const chunkText = chunk.text();
  process.stdout.write(chunkText);
}

পাঠ্য প্রজন্ম কনফিগার করুন

আপনি মডেলে পাঠানো প্রতিটি প্রম্পটে প্যারামিটার অন্তর্ভুক্ত থাকে যা মডেলটি কীভাবে প্রতিক্রিয়া তৈরি করে তা নিয়ন্ত্রণ করে। আপনি এই পরামিতিগুলি কনফিগার করতে GenerationConfig ব্যবহার করতে পারেন। আপনি যদি প্যারামিটারগুলি কনফিগার না করেন তবে মডেলটি ডিফল্ট বিকল্পগুলি ব্যবহার করে, যা মডেল অনুসারে পরিবর্তিত হতে পারে।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে উপলব্ধ বিকল্পগুলির কয়েকটি কনফিগার করতে হয়।

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");

const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const result = await model.generateContent({
    contents: [
        {
          role: 'user',
          parts: [
            {
              text: "Explain how AI works",
            }
          ],
        }
    ],
    generationConfig: {
      maxOutputTokens: 1000,
      temperature: 0.1,
    }
});

console.log(result.response.text());

সিস্টেম নির্দেশাবলী যোগ করুন

সিস্টেম নির্দেশাবলী আপনাকে আপনার নির্দিষ্ট প্রয়োজন এবং ব্যবহারের ক্ষেত্রের উপর ভিত্তি করে একটি মডেলের আচরণ পরিচালনা করতে দেয়।

মডেল সিস্টেম নির্দেশাবলী প্রদান করে, আপনি টাস্ক বোঝার জন্য মডেলটিকে অতিরিক্ত প্রসঙ্গ প্রদান করেন, আরও কাস্টমাইজড প্রতিক্রিয়া তৈরি করেন এবং মডেলের সাথে সম্পূর্ণ ব্যবহারকারীর মিথস্ক্রিয়া সম্পর্কে নির্দিষ্ট নির্দেশিকা মেনে চলেন। আপনি সিস্টেম নির্দেশাবলী সেট করে পণ্য-স্তরের আচরণ নির্দিষ্ট করতে পারেন, শেষ ব্যবহারকারীদের দ্বারা প্রদত্ত প্রম্পট থেকে আলাদা।

আপনি যখন আপনার মডেল শুরু করবেন তখন আপনি সিস্টেম নির্দেশাবলী সেট করতে পারেন:

// Set the system instruction during model initialization
const model = genAI.getGenerativeModel({
  model: "gemini-1.5-flash",
  systemInstruction: "You are a cat. Your name is Neko.",
});

তারপরে, আপনি যথারীতি মডেলটিতে অনুরোধ পাঠাতে পারেন।

এরপর কি

এখন আপনি Gemini API-এর মূল বিষয়গুলি অন্বেষণ করেছেন, আপনি চেষ্টা করতে চাইতে পারেন:

  • দৃষ্টি বোঝা : চিত্র এবং ভিডিওগুলি প্রক্রিয়া করতে মিথুনের নেটিভ ভিশন বোঝার কীভাবে ব্যবহার করবেন তা শিখুন।
  • অডিও বোঝাপড়া : অডিও ফাইলগুলি প্রক্রিয়া করার জন্য জেমিনির নেটিভ অডিও বোঝার ব্যবহার শিখুন।
,

ইনপুট হিসাবে টেক্সট, ছবি, ভিডিও এবং অডিও প্রদান করা হলে Gemini API টেক্সট আউটপুট তৈরি করতে পারে।

এই নির্দেশিকা আপনাকে দেখায় কিভাবে generateContent এবং streamGenerateContent পদ্ধতি ব্যবহার করে পাঠ্য তৈরি করতে হয়। মিথুনের দৃষ্টি এবং অডিও ক্ষমতা নিয়ে কাজ করার বিষয়ে জানতে, দৃষ্টি এবং অডিও নির্দেশিকা পড়ুন।

শুধুমাত্র পাঠ্য ইনপুট থেকে পাঠ্য তৈরি করুন

Gemini API ব্যবহার করে টেক্সট জেনারেট করার সবচেয়ে সহজ উপায় হল মডেলটিকে একটি মাত্র টেক্সট ইনপুট প্রদান করা, যেমন এই উদাহরণে দেখানো হয়েছে:

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");

const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const prompt = "Explain how AI works";

const result = await model.generateContent(prompt);
console.log(result.response.text());

এই ক্ষেত্রে, প্রম্পটে ("এআই কীভাবে কাজ করে তা ব্যাখ্যা করুন") কোনও আউটপুট উদাহরণ, সিস্টেম নির্দেশাবলী বা ফর্ম্যাটিং তথ্য অন্তর্ভুক্ত করে না। এটি একটি শূন্য-শট পদ্ধতির। কিছু ব্যবহারের ক্ষেত্রে, একটি এক-শট বা কয়েক-শট প্রম্পট আউটপুট তৈরি করতে পারে যা ব্যবহারকারীর প্রত্যাশার সাথে আরও সারিবদ্ধ। কিছু ক্ষেত্রে, আপনি মডেলটিকে কাজ বুঝতে বা নির্দিষ্ট নির্দেশিকা অনুসরণ করতে সাহায্য করার জন্য সিস্টেম নির্দেশাবলী প্রদান করতে চাইতে পারেন।

টেক্সট এবং ইমেজ ইনপুট থেকে টেক্সট তৈরি করুন

Gemini API মাল্টিমোডাল ইনপুট সমর্থন করে যা মিডিয়া ফাইলের সাথে পাঠ্য একত্রিত করে। নিম্নলিখিত উদাহরণ দেখায় কিভাবে পাঠ্য-এবং-চিত্র ইনপুট থেকে পাঠ্য তৈরি করা যায়:

import { GoogleGenerativeAI } from "@google/generative-ai";
import * as fs from 'node:fs';

const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

function fileToGenerativePart(path, mimeType) {
  return {
    inlineData: {
      data: Buffer.from(fs.readFileSync(path)).toString("base64"),
      mimeType,
    },
  };
}

const prompt = "Describe how this product might be manufactured.";
const imagePart = fileToGenerativePart("/path/to/image.png", "image/png");

const result = await model.generateContent([prompt, imagePart]);
console.log(result.response.text());

একটি পাঠ্য স্ট্রীম তৈরি করুন

ডিফল্টরূপে, সম্পূর্ণ টেক্সট জেনারেশন প্রক্রিয়া সম্পন্ন করার পর মডেলটি একটি প্রতিক্রিয়া প্রদান করে। আপনি সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফলগুলি পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।

নিচের উদাহরণে দেখানো হয়েছে কিভাবে streamGenerateContent পদ্ধতি ব্যবহার করে স্ট্রিমিং বাস্তবায়ন করা যায় যাতে শুধুমাত্র টেক্সট-ইনপুট প্রম্পট থেকে টেক্সট তৈরি করা যায়।

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const prompt = "Explain how AI works";

const result = await model.generateContentStream(prompt);

for await (const chunk of result.stream) {
  const chunkText = chunk.text();
  process.stdout.write(chunkText);
}

একটি চ্যাট কথোপকথন তৈরি করুন

Gemini SDK আপনাকে একাধিক রাউন্ডের প্রশ্ন এবং প্রতিক্রিয়া সংগ্রহ করতে দেয়, ব্যবহারকারীদের উত্তরের দিকে ক্রমবর্ধমানভাবে পদক্ষেপ নিতে বা বহুমুখী সমস্যায় সহায়তা পেতে দেয়। এই SDK বৈশিষ্ট্যটি কথোপকথনের ইতিহাসের ট্র্যাক রাখার জন্য একটি ইন্টারফেস সরবরাহ করে, তবে পর্দার পিছনে প্রতিক্রিয়া তৈরি করতে একই generateContent পদ্ধতি ব্যবহার করে।

নিম্নলিখিত কোড উদাহরণ একটি মৌলিক চ্যাট বাস্তবায়ন দেখায়:

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
const chat = model.startChat({
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});

let result = await chat.sendMessage("I have 2 dogs in my house.");
console.log(result.response.text());
let result2 = await chat.sendMessage("How many paws are in my house?");
console.log(result2.response.text());

আপনি চ্যাটের সাথে স্ট্রিমিংও ব্যবহার করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const chat = model.startChat({
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});

let result = await chat.sendMessageStream("I have 2 dogs in my house.");
for await (const chunk of result.stream) {
  const chunkText = chunk.text();
  process.stdout.write(chunkText);
}
let result2 = await chat.sendMessageStream("How many paws are in my house?");
for await (const chunk of result2.stream) {
  const chunkText = chunk.text();
  process.stdout.write(chunkText);
}

পাঠ্য প্রজন্ম কনফিগার করুন

আপনি মডেলে পাঠানো প্রতিটি প্রম্পটে প্যারামিটার অন্তর্ভুক্ত থাকে যা মডেলটি কীভাবে প্রতিক্রিয়া তৈরি করে তা নিয়ন্ত্রণ করে। আপনি এই পরামিতিগুলি কনফিগার করতে GenerationConfig ব্যবহার করতে পারেন। আপনি যদি প্যারামিটারগুলি কনফিগার না করেন তবে মডেলটি ডিফল্ট বিকল্পগুলি ব্যবহার করে, যা মডেল অনুসারে পরিবর্তিত হতে পারে।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে উপলব্ধ বিকল্পগুলির কয়েকটি কনফিগার করতে হয়।

import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");

const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const result = await model.generateContent({
    contents: [
        {
          role: 'user',
          parts: [
            {
              text: "Explain how AI works",
            }
          ],
        }
    ],
    generationConfig: {
      maxOutputTokens: 1000,
      temperature: 0.1,
    }
});

console.log(result.response.text());

সিস্টেম নির্দেশাবলী যোগ করুন

সিস্টেম নির্দেশাবলী আপনাকে আপনার নির্দিষ্ট প্রয়োজন এবং ব্যবহারের ক্ষেত্রের উপর ভিত্তি করে একটি মডেলের আচরণ পরিচালনা করতে দেয়।

মডেল সিস্টেম নির্দেশাবলী প্রদান করে, আপনি টাস্ক বোঝার জন্য মডেলটিকে অতিরিক্ত প্রসঙ্গ প্রদান করেন, আরও কাস্টমাইজড প্রতিক্রিয়া তৈরি করেন এবং মডেলের সাথে সম্পূর্ণ ব্যবহারকারীর মিথস্ক্রিয়া সম্পর্কে নির্দিষ্ট নির্দেশিকা মেনে চলেন। আপনি সিস্টেম নির্দেশাবলী সেট করে পণ্য-স্তরের আচরণ নির্দিষ্ট করতে পারেন, শেষ ব্যবহারকারীদের দ্বারা প্রদত্ত প্রম্পট থেকে আলাদা।

আপনি যখন আপনার মডেল শুরু করবেন তখন আপনি সিস্টেম নির্দেশাবলী সেট করতে পারেন:

// Set the system instruction during model initialization
const model = genAI.getGenerativeModel({
  model: "gemini-1.5-flash",
  systemInstruction: "You are a cat. Your name is Neko.",
});

তারপরে, আপনি যথারীতি মডেলটিতে অনুরোধ পাঠাতে পারেন।

এরপর কি

এখন আপনি Gemini API-এর মূল বিষয়গুলি অন্বেষণ করেছেন, আপনি চেষ্টা করতে চাইতে পারেন:

  • দৃষ্টি বোঝা : চিত্র এবং ভিডিওগুলি প্রক্রিয়া করতে মিথুনের নেটিভ ভিশন বোঝার কীভাবে ব্যবহার করবেন তা শিখুন।
  • অডিও বোঝাপড়া : অডিও ফাইলগুলি প্রক্রিয়া করার জন্য জেমিনির নেটিভ অডিও বোঝার ব্যবহার শিখুন।