মিথুন চিন্তা

জেমিনি 2.5 সিরিজের মডেলগুলি একটি অভ্যন্তরীণ "চিন্তা প্রক্রিয়া" ব্যবহার করে যা তাদের যুক্তি এবং বহু-পদক্ষেপ পরিকল্পনা ক্ষমতাকে উল্লেখযোগ্যভাবে উন্নত করে, যা কোডিং, উন্নত গণিত এবং ডেটা বিশ্লেষণের মতো জটিল কাজগুলির জন্য অত্যন্ত কার্যকর করে তোলে।

এই নির্দেশিকা আপনাকে দেখায় কিভাবে Gemini এপিআই ব্যবহার করে মিথুনের চিন্তার ক্ষমতা নিয়ে কাজ করতে হয়।

আপনি শুরু করার আগে

চিন্তা করার জন্য আপনি একটি সমর্থিত 2.5 সিরিজ মডেল ব্যবহার করেন তা নিশ্চিত করুন। আপনি API এ ডুব দেওয়ার আগে AI স্টুডিওতে এই মডেলগুলি অন্বেষণ করা উপকারী বলে মনে করতে পারেন:

চিন্তার সাথে বিষয়বস্তু তৈরি করা

একটি চিন্তাশীল মডেলের সাথে একটি অনুরোধ শুরু করা অন্য যেকোনো বিষয়বস্তু তৈরির অনুরোধের মতো। মূল পার্থক্যটি model ক্ষেত্রের চিন্তাভাবনা সমর্থন সহ মডেলগুলির একটি নির্দিষ্ট করার মধ্যে রয়েছে, যেমনটি নিম্নলিখিত পাঠ্য প্রজন্মের উদাহরণে প্রদর্শিত হয়েছে:

from google import genai

client = genai.Client(api_key="GOOGLE_API_KEY")
prompt = "Explain the concept of Occam's Razor and provide a simple, everyday example."
response = client.models.generate_content(
    model="gemini-2.5-flash-preview-05-20",
    contents=prompt
)

print(response.text)
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const prompt = "Explain the concept of Occam's Razor and provide a simple, everyday example.";

  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-05-20",  
    contents: prompt,
  });

  console.log(response.text);
}

main();
// import packages here

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GOOGLE_API_KEY")))
  if err != nil {
    log.Fatal(err)
  }
  defer client.Close()

  model := client.GenerativeModel("gemini-2.5-flash-preview-05-20")  
  resp, err := model.GenerateContent(ctx, genai.Text("Explain the concept of Occam's Razor and provide a simple, everyday example."))
  if err != nil {
    log.Fatal(err)
  }
  fmt.Println(resp.Text())
}
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-05-20:generateContent?key=$GOOGLE_API_KEY" \
 -H 'Content-Type: application/json' \
 -X POST \
 -d '{
   "contents": [
     {
       "parts": [
         {
           "text": "Explain the concept of Occam\''s Razor and provide a simple, everyday example."
         }
       ]
     }
   ]
 }'
 ```

চিন্তার সারাংশ (পরীক্ষামূলক)

চিন্তার সারাংশ মডেলের অভ্যন্তরীণ যুক্তি প্রক্রিয়ার অন্তর্দৃষ্টি প্রদান করে। এই বৈশিষ্ট্যটি মডেলের দৃষ্টিভঙ্গি যাচাই করার জন্য এবং দীর্ঘ কাজের সময় ব্যবহারকারীদের অবগত রাখার জন্য মূল্যবান হতে পারে, বিশেষ করে যখন স্ট্রিমিংয়ের সাথে মিলিত হয়।

আপনি আপনার অনুরোধ কনফিগারেশনে includeThoughts true সেট করে চিন্তার সারাংশ সক্ষম করতে পারেন। তারপরে আপনি response প্যারামিটারের parts মাধ্যমে পুনরাবৃত্তি করে এবং thought বুলিয়ান পরীক্ষা করে সারাংশটি অ্যাক্সেস করতে পারেন।

স্ট্রিমিং ছাড়াই চিন্তার সারাংশ কীভাবে সক্ষম এবং পুনরুদ্ধার করা যায় তা দেখানোর একটি উদাহরণ এখানে রয়েছে, যা প্রতিক্রিয়া সহ একটি একক, চূড়ান্ত চিন্তার সারাংশ প্রদান করে:

from google import genai
from google.genai import types

client = genai.Client(api_key="GOOGLE_API_KEY")
prompt = "What is the sum of the first 50 prime numbers?"
response = client.models.generate_content(
  model="gemini-2.5-flash-preview-05-20",
  contents=prompt,
  config=types.GenerateContentConfig(
    thinking_config=types.ThinkingConfig(
      include_thoughts=True
    )
  )
)

for part in response.candidates[0].content.parts:
  if not part.text:
    continue
  if part.thought:
    print("Thought summary:")
    print(part.text)
    print()
  else:
    print("Answer:")
    print(part.text)
    print()
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-05-20",
    contents: "What is the sum of the first 50 prime numbers?",
    config: {
      thinkingConfig: {
        includeThoughts: true,
      },
    },
  });

  for (const part of response.candidates[0].content.parts) {
    if (!part.text) {
      continue;
    }
    else if (part.thought) {
      console.log("Thoughts summary:");
      console.log(part.text);
    }
    else {
      console.log("Answer:");
      console.log(part.text);
    }
  }
}

main();
package main

import (
  "context"
  "fmt"
  "google.golang.org/genai"
  "os"
)

func main() {
  ctx := context.Background()
  client, _ := genai.NewClient(ctx, &genai.ClientConfig{
    APIKey:  os.Getenv("GOOGLE_API_KEY"),
    Backend: genai.BackendGeminiAPI,
  })

  contents := genai.Text("What is the sum of the first 50 prime numbers?")
  model := "gemini-2.5-flash-preview-05-20"
  resp, _ := client.Models.GenerateContent(ctx, model, contents, &genai.GenerateContentConfig{
    ThinkingConfig: &genai.ThinkingConfig{
      IncludeThoughts: true,
    },
  })

  for _, part := range resp.Candidates[0].Content.Parts {
    if part.Text != "" {
      if part.Thought {
        fmt.Println("Thoughts Summary:")
        fmt.Println(part.Text)
      } else {
        fmt.Println("Answer:")
        fmt.Println(part.Text)
      }
    }
  }
}

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

from google import genai
from google.genai import types

client = genai.Client(api_key="GOOGLE_API_KEY")

prompt = """
Alice, Bob, and Carol each live in a different house on the same street: red, green, and blue.
The person who lives in the red house owns a cat.
Bob does not live in the green house.
Carol owns a dog.
The green house is to the left of the red house.
Alice does not own a cat.
Who lives in each house, and what pet do they own?
"""

thoughts = ""
answer = ""

for chunk in client.models.generate_content_stream(
    model="gemini-2.5-flash-preview-05-20",
    contents=prompt,
    config=types.GenerateContentConfig(
      thinking_config=types.ThinkingConfig(
        include_thoughts=True
      )
    )
):
  for part in chunk.candidates[0].content.parts:
    if not part.text:
      continue
    elif part.thought:
      if not thoughts:
        print("Thoughts summary:")
      print(part.text)
      thoughts += part.text
    else:
      if not answer:
        print("Thoughts summary:")
      print(part.text)
      answer += part.text
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

const prompt = `Alice, Bob, and Carol each live in a different house on the same
street: red, green, and blue. The person who lives in the red house owns a cat.
Bob does not live in the green house. Carol owns a dog. The green house is to
the left of the red house. Alice does not own a cat. Who lives in each house,
and what pet do they own?`;

let thoughts = "";
let answer = "";

async function main() {
  const response = await ai.models.generateContentStream({
    model: "gemini-2.5-flash-preview-05-20",
    contents: prompt,
    config: {
      thinkingConfig: {
        includeThoughts: true,
      },
    },
  });

  for await (const chunk of response) {
    for (const part of chunk.candidates[0].content.parts) {
      if (!part.text) {
        continue;
      } else if (part.thought) {
        if (!thoughts) {
          console.log("Thoughts summary:");
        }
        console.log(part.text);
        thoughts = thoughts + part.text;
      } else {
        if (!answer) {
          console.log("Answer:");
        }
        console.log(part.text);
        answer = answer + part.text;
      }
    }
  }
}

await main();

চিন্তা বাজেট

thinkingBudget প্যারামিটার আপনাকে একটি প্রতিক্রিয়া তৈরি করার সময় ব্যবহার করতে পারে এমন চিন্তার টোকেনগুলির সংখ্যার উপর মডেলটিকে গাইড করতে দেয়৷ একটি উচ্চতর টোকেন গণনা সাধারণত আরও বিশদ যুক্তির জন্য অনুমতি দেয়, যা আরও জটিল কাজগুলি মোকাবেলা করার জন্য উপকারী হতে পারে। আপনি thinkingBudget বাজেট সেট না করলে, মডেলটি অনুরোধের জটিলতার উপর ভিত্তি করে গতিশীলভাবে বাজেট সামঞ্জস্য করবে।

  • thinkingBudget বাজেট অবশ্যই 0 থেকে 24576 রেঞ্জের মধ্যে একটি পূর্ণসংখ্যা হতে হবে।
  • চিন্তার বাজেট 0 তে সেট করা চিন্তাকে অক্ষম করে।
  • প্রম্পটের উপর নির্ভর করে, মডেলটি টোকেন বাজেটকে ওভারফ্লো বা আন্ডারফ্লো করতে পারে।
from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.5-flash-preview-05-20",
    contents="Provide a list of 3 famous physicists and their key contributions",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_budget=1024)
    ),
)

print(response.text)
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-05-20",
    contents: "Provide a list of 3 famous physicists and their key contributions",
    config: {
      thinkingConfig: {
        thinkingBudget: 1024,
      },
    },
  });

  console.log(response.text);
}

main();
package main

import (
  "context"
  "fmt"
  "google.golang.org/genai"
  "os"
)

func main() {
  ctx := context.Background()
  client, _ := genai.NewClient(ctx, &genai.ClientConfig{
    APIKey:  os.Getenv("GOOGLE_API_KEY"),
    Backend: genai.BackendGeminiAPI,
  })

  thinkingBudgetVal := int32(1024)

  contents := genai.Text("Provide a list of 3 famous physicists and their key contributions")
  model := "gemini-2.5-flash-preview-05-20"
  resp, _ := client.Models.GenerateContent(ctx, model, contents, &genai.GenerateContentConfig{
    ThinkingConfig: &genai.ThinkingConfig{
      ThinkingBudget: &thinkingBudgetVal,
    },
  })

fmt.Println(resp.Text())
}
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-05-20:generateContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
  "contents": [
    {
      "parts": [
        {
          "text": "Provide a list of 3 famous physicists and their key contributions"
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingConfig": {
          "thinkingBudget": 1024
    }
  }
}'

মূল্য নির্ধারণ

যখন চিন্তা চালু করা হয়, প্রতিক্রিয়া মূল্য হল আউটপুট টোকেন এবং চিন্তা টোকেনের সমষ্টি। আপনি thoughtsTokenCount ফিল্ড থেকে উৎপন্ন চিন্তার টোকেনের মোট সংখ্যা পেতে পারেন।

# ...
print("Thoughts tokens:",response.usage_metadata.thoughts_token_count)
print("Output tokens:",response.usage_metadata.candidates_token_count)
// ...
console.log(`Thoughts tokens: ${response.usageMetadata.thoughtsTokenCount}`);
console.log(`Output tokens: ${response.usageMetadata.candidatesTokenCount}`);
// ...
usageMetadata, err := json.MarshalIndent(response.UsageMetadata, "", "  ")
if err != nil {
  log.Fatal(err)
}
fmt.Println("Thoughts tokens:", string(usageMetadata.thoughts_token_count))
fmt.Println("Output tokens:", string(usageMetadata.candidates_token_count))

চিন্তার মডেলগুলি চূড়ান্ত প্রতিক্রিয়ার গুণমান উন্নত করতে সম্পূর্ণ চিন্তাভাবনা তৈরি করে এবং তারপরে চিন্তা প্রক্রিয়ার অন্তর্দৃষ্টি প্রদানের জন্য আউটপুট সারাংশ তৈরি করে। সুতরাং, মূল্য নির্ধারণ করা হয় সম্পূর্ণ চিন্তার টোকেনগুলির উপর ভিত্তি করে যা মডেলটিকে একটি সারাংশ তৈরি করার জন্য তৈরি করতে হবে, শুধুমাত্র সারাংশটি API থেকে আউটপুট হওয়া সত্ত্বেও।

আপনি টোকেন গণনা গাইডে টোকেন সম্পর্কে আরও জানতে পারেন।

সমর্থিত মডেল

আপনি মডেল ওভারভিউ পৃষ্ঠায় সমস্ত মডেল ক্ষমতা খুঁজে পেতে পারেন।

মডেল চিন্তার সারাংশ চিন্তা বাজেট
মিথুন 2.5 ফ্ল্যাশ ✔️ ✔️
Gemini 2.5 Pro ✔️ এক্স

সর্বোত্তম অনুশীলন

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

ডিবাগিং এবং স্টিয়ারিং

  • যুক্তি পর্যালোচনা করুন : যখন আপনি চিন্তার মডেলগুলি থেকে আপনার প্রত্যাশিত প্রতিক্রিয়া পাচ্ছেন না, তখন এটি মিথুনের যুক্তি প্রক্রিয়াটিকে যত্ন সহকারে বিশ্লেষণ করতে সহায়তা করতে পারে। আপনি দেখতে পারেন যে এটি কীভাবে কাজটি ভেঙে দিয়েছে এবং এর উপসংহারে পৌঁছেছে এবং সঠিক ফলাফলের দিকে সঠিক করতে সেই তথ্যটি ব্যবহার করতে পারেন।

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

টাস্ক জটিলতা

  • সহজ কাজ (চিন্তা বন্ধ হতে পারে): সহজবোধ্য অনুরোধের জন্য যেখানে জটিল যুক্তির প্রয়োজন হয় না, যেমন তথ্য পুনরুদ্ধার বা শ্রেণীবিভাগ, চিন্তার প্রয়োজন নেই। উদাহরণ অন্তর্ভুক্ত:
    • "ডিপমাইন্ড কোথায় প্রতিষ্ঠিত হয়েছিল?"
    • "এই ইমেলটি কি মিটিংয়ের জন্য বলছে নাকি শুধু তথ্য দিচ্ছে?"
  • মাঝারি কাজ (ডিফল্ট/কিছু ভাবনা): অনেক সাধারণ অনুরোধ ধাপে ধাপে প্রক্রিয়াকরণ বা গভীর বোঝার ডিগ্রি থেকে উপকৃত হয়। মিথুন নমনীয়ভাবে কাজের জন্য চিন্তা করার ক্ষমতা ব্যবহার করতে পারে যেমন:
    • সালোকসংশ্লেষণ এবং ক্রমবর্ধমান সাদৃশ্য.
    • বৈদ্যুতিক গাড়ি এবং হাইব্রিড গাড়ির তুলনা এবং বৈসাদৃশ্য।
  • কঠিন কাজ (সর্বোচ্চ চিন্তা করার ক্ষমতা): সত্যিকারের জটিল চ্যালেঞ্জগুলির জন্য, মডেলটিকে তার পূর্ণ যুক্তি এবং পরিকল্পনার ক্ষমতা নিযুক্ত করতে হবে, প্রায়শই উত্তর দেওয়ার আগে অনেকগুলি অভ্যন্তরীণ পদক্ষেপ জড়িত থাকে। উদাহরণ অন্তর্ভুক্ত:
    • AIME 2025-এ সমস্যা 1 সমাধান করুন: সমস্ত পূর্ণসংখ্যা বেসের যোগফল b > 9 খুঁজুন যার জন্য 17 b হল 97 b এর একটি ভাজক।
    • একটি ওয়েব অ্যাপ্লিকেশনের জন্য পাইথন কোড লিখুন যা ব্যবহারকারীর প্রমাণীকরণ সহ রিয়েল-টাইম স্টক মার্কেট ডেটা ভিজ্যুয়ালাইজ করে। এটি যতটা সম্ভব কার্যকর করুন।

সরঞ্জাম এবং ক্ষমতা সঙ্গে চিন্তা

চিন্তার মডেলগুলি মিথুনের সমস্ত সরঞ্জাম এবং ক্ষমতার সাথে কাজ করে৷ এটি মডেলগুলিকে বাহ্যিক সিস্টেমের সাথে ইন্টারঅ্যাক্ট করতে, কোড কার্যকর করতে বা রিয়েল-টাইম তথ্য অ্যাক্সেস করতে দেয়, ফলাফলগুলিকে তাদের যুক্তি এবং চূড়ান্ত প্রতিক্রিয়াতে অন্তর্ভুক্ত করে।

  • অনুসন্ধান সরঞ্জামটি মডেলটিকে তার প্রশিক্ষণ ডেটার বাইরে আপ-টু-ডেট তথ্য বা তথ্য খুঁজে পেতে Google অনুসন্ধানকে জিজ্ঞাসা করার অনুমতি দেয়। সাম্প্রতিক ঘটনা বা অত্যন্ত নির্দিষ্ট বিষয় সম্পর্কে প্রশ্নগুলির জন্য এটি দরকারী।

  • কোড এক্সিকিউশন টুল মডেলটিকে পাইথন কোড তৈরি করতে এবং চালাতে সক্ষম করে গণনা সঞ্চালন করতে, ডেটা ম্যানিপুলেট করতে, বা অ্যালগরিদমিকভাবে সবচেয়ে ভালোভাবে পরিচালিত সমস্যা সমাধান করতে। মডেলটি কোডের আউটপুট গ্রহণ করে এবং এটির প্রতিক্রিয়াতে এটি ব্যবহার করতে পারে।

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

  • ফাংশন কলিং চিন্তার মডেলটিকে বাহ্যিক সরঞ্জাম এবং API-এর সাথে সংযুক্ত করে, তাই এটি কখন সঠিক ফাংশনটি কল করতে হবে এবং কোন পরামিতিগুলি সরবরাহ করতে হবে সে সম্পর্কে যুক্তি দিতে পারে।

আপনি থিংকিং কুকবুকে চিন্তার মডেলের সাথে টুল ব্যবহার করার উদাহরণ চেষ্টা করতে পারেন।

এরপর কি?

  • আরও গভীর উদাহরণের মাধ্যমে কাজ করতে, যেমন:

    • চিন্তার সাথে সরঞ্জাম ব্যবহার করা
    • চিন্তার সাথে স্ট্রিমিং
    • বিভিন্ন ফলাফলের জন্য চিন্তা বাজেট সামঞ্জস্য করা

    এবং আরও, আমাদের থিংকিং কুকবুক চেষ্টা করুন।

  • চিন্তা কভারেজ এখন আমাদের OpenAI সামঞ্জস্যতা নির্দেশিকাতে উপলব্ধ।

  • জেমিনি 2.5 প্রো প্রিভিউ এবং জেমিনি ফ্ল্যাশ 2.5 থিঙ্কিং সম্পর্কে আরও তথ্যের জন্য, মডেল পৃষ্ঠাটি দেখুন৷