![]() | ![]() | ![]() | | ![]() |
টেক্সট তৈরি করা, সারসংক্ষেপ করা এবং বিষয়বস্তু বিশ্লেষণ করা হল এমন কিছু কাজ যা আপনি জেমা ওপেন মডেলের মাধ্যমে সম্পন্ন করতে পারেন। এই টিউটোরিয়ালটি আপনাকে দেখায় কিভাবে টেক্সট বিষয়বস্তু তৈরি করতে টেক্সট এবং ইমেজ ইনপুট উভয় ব্যবহার করে আলিঙ্গন ফেস ট্রান্সফরমার ব্যবহার করে জেমা চালানো শুরু করবেন। ট্রান্সফর্মার পাইথন লাইব্রেরি জেমা সহ প্রাক-প্রশিক্ষিত জেনারেটিভ এআই মডেল অ্যাক্সেস করার জন্য একটি API প্রদান করে। আরও তথ্যের জন্য, ট্রান্সফরমার ডকুমেন্টেশন দেখুন।
সেটআপ
এই টিউটোরিয়ালটি শুরু করার আগে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
- Hugging Face- এ লগ ইন করে Gemma মডেলের জন্য Acknowledge লাইসেন্স নির্বাচন করে Gemma-এ অ্যাক্সেস পান।
- আপনি যে Gemma মডেল সাইজ চালাতে চান তা চালানোর জন্য পর্যাপ্ত সম্পদ সহ একটি Colab রানটাইম বেছে নিন। আরও জানুন
- একটি আলিঙ্গন ফেস অ্যাক্সেস টোকেন তৈরি করুন এবং এটি আপনার Colab পরিবেশে যোগ করুন।
অ্যাক্সেস টোকেন কনফিগার করুন
Hugging Face ওয়েব সাইট থেকে Gemma মডেল ডাউনলোড করতে Colab-এ আপনার অ্যাক্সেস টোকেন যোগ করুন। আপনার কাজের কোডে যোগ না করে আপনার টোকেন নিরাপদে সেভ করতে Colab সিক্রেট ফিচার ব্যবহার করুন।
একটি গোপন হিসাবে আপনার আলিঙ্গন মুখ অ্যাক্সেস টোকেন যোগ করতে:
- ইন্টারফেসের বাম দিকের কী আইকনটি নির্বাচন করে সিক্রেটস ট্যাবটি খুলুন, বা টুলস > কমান্ড প্যালেট নির্বাচন করুন,
secrets
টাইপ করুন এবং এন্টার টিপুন। - একটি নতুন গোপন এন্ট্রি যোগ করতে নতুন গোপন যোগ করুন নির্বাচন করুন।
- নাম ক্ষেত্রে,
HF_TOKEN
লিখুন। - মান ক্ষেত্রে, আপনার আলিঙ্গন মুখ অ্যাক্সেস টোকেনের পাঠ্য লিখুন।
- নোটবুক অ্যাক্সেস ক্ষেত্রে, অ্যাক্সেস সক্ষম করতে সুইচটি নির্বাচন করুন।
একবার আপনি আপনার অ্যাক্সেস টোকেন HF_TOKEN
এবং মান হিসাবে প্রবেশ করালে, আপনি নিম্নলিখিত কোড ব্যবহার করে আপনার Colab নোটবুকের পরিবেশে এটি অ্যাক্সেস করতে এবং সেট করতে পারেন:
from google.colab import userdata
from huggingface_hub import login
# Login into Hugging Face Hub
hf_token = userdata.get('HF_TOKEN') # If you are running inside a Google Colab
login(hf_token)
পাইথন প্যাকেজ ইনস্টল করুন
জেমা মডেল চালানো এবং অনুরোধ করার জন্য প্রয়োজনীয় আলিঙ্গন মুখ লাইব্রেরি ইনস্টল করুন।
# Install Pytorch & other libraries
%pip install "torch>=2.4.0"
# Install a transformers version that supports Gemma 3 (>= 4.51.3)
%pip install "transformers>=4.51.3"
পাঠ্য থেকে পাঠ্য তৈরি করুন
একটি টেক্সট প্রতিক্রিয়া পাওয়ার জন্য টেক্সট সহ একটি জেমা মডেলকে প্রম্পট করা হল জেমা ব্যবহার করার সবচেয়ে সহজ উপায় এবং প্রায় সমস্ত জেমা ভেরিয়েন্টের সাথে কাজ করে৷ এই বিভাগটি দেখায় কিভাবে Hugging Face Transformers লাইব্রেরি লোড ব্যবহার করতে হয় এবং টেক্সট থেকে টেক্সট জেনারেশনের জন্য একটি জেমা মডেল কনফিগার করতে হয়।
লোড মডেল
torch
এবং transformers
লাইব্রেরি ব্যবহার করে জেমার সাথে একটি মডেল এক্সিকিউশন pipeline
ক্লাসের একটি উদাহরণ তৈরি করুন। আউটপুট তৈরি বা নির্দেশাবলী অনুসরণ করার জন্য একটি মডেল ব্যবহার করার সময়, একটি নির্দেশ টিউন করা (IT) মডেল নির্বাচন করুন, যা সাধারণত মডেল আইডি স্ট্রিং-এ it
৷ pipeline
অবজেক্ট ব্যবহার করে, আপনি Gemma ভেরিয়েন্টটি ব্যবহার করতে চান, আপনি যে ধরনের টাস্ক করতে চান তা নির্দিষ্ট করুন, বিশেষ করে টেক্সট-টু-টেক্সট জেনারেশনের জন্য "text-generation"
, যেমনটি নিম্নলিখিত কোড উদাহরণে দেখানো হয়েছে:
import torch
from transformers import pipeline
pipeline = pipeline(
task="text-generation",
model="google/gemma-3-4b-it",
device=0, # "cuda" for Colab, "msu" for iOS devices
torch_dtype=torch.bfloat16
)
জেমা প্রজন্মের জন্য শুধুমাত্র কয়েকটি task
সেটিংস সমর্থন করে। উপলব্ধ task
সেটিংস সম্পর্কে আরও তথ্যের জন্য, আলিঙ্গন ফেস পাইপলাইন টাস্ক() ডকুমেন্টেশন দেখুন। মডেলের আউটপুট গুণমানকে উল্লেখযোগ্যভাবে প্রভাবিত না করে মডেলের নির্ভুলতা কমাতে এবং প্রয়োজনীয় সংস্থান গণনা করতে টর্চ ডেটা টাইপ torch.bfloat16
ব্যবহার করুন৷ device
সেটিং এর জন্য, আপনি Colab-এর জন্য "cuda"
বা iOS ডিভাইসের জন্য "msu"
ব্যবহার করতে পারেন অথবা আপনার সিস্টেমে প্রথম GPU নির্দিষ্ট করতে এটিকে 0
(শূন্য) এ সেট করতে পারেন। পাইপলাইন ক্লাস ব্যবহার সম্পর্কে আরও তথ্যের জন্য, আলিঙ্গন ফেস পাইপলাইন ডকুমেন্টেশন দেখুন।
পাঠ্য প্রজন্ম চালান
একবার আপনি একটি pipeline
অবজেক্টে জেমা মডেল লোড এবং কনফিগার করার পরে, আপনি মডেলটিতে প্রম্পট পাঠাতে পারেন। নিম্নলিখিত উদাহরণ কোডটি text_inputs
প্যারামিটার ব্যবহার করে একটি মৌলিক অনুরোধ দেখায়:
pipeline(text_inputs="roses are red")
[{'generated_text': 'roses are red, violets are blue, \ni love you more than you ever knew.\n\n**Explanation'}]
একটি প্রম্পট টেমপ্লেট ব্যবহার করুন
আরও জটিল প্রম্পটিংয়ের সাথে সামগ্রী তৈরি করার সময়, আপনার অনুরোধ গঠন করতে একটি প্রম্পট টেমপ্লেট ব্যবহার করুন। একটি প্রম্পট টেমপ্লেট আপনাকে নির্দিষ্ট ভূমিকা থেকে ইনপুট নির্দিষ্ট করতে দেয়, যেমন user
বা model
, এবং জেমা মডেলগুলির সাথে বহু-পালা চ্যাট ইন্টারঅ্যাকশন পরিচালনা করার জন্য একটি প্রয়োজনীয় বিন্যাস। নিম্নলিখিত উদাহরণ কোডটি দেখায় কিভাবে জেমার জন্য একটি প্রম্পট টেমপ্লেট তৈরি করতে হয়:
messages = [
[
{
"role": "system",
"content": [{"type": "text", "text": "You are a helpful assistant."},]
},
{
"role": "user",
"content": [{"type": "text", "text": "Roses are red..."},]
},
],
]
pipeline(messages, max_new_tokens=50)
ইমেজ ডেটা থেকে পাঠ্য তৈরি করুন
Gemma 3 দিয়ে শুরু করে, মডেলের আকার 4B এবং উচ্চতর জন্য, আপনি আপনার প্রম্পটের অংশ হিসাবে চিত্র ডেটা ব্যবহার করতে পারেন। এই বিভাগটি দেখায় কিভাবে ট্রান্সফর্মার লাইব্রেরি ব্যবহার করে টেক্সট আউটপুট তৈরি করতে ইমেজ ডেটা এবং টেক্সট ইনপুট ব্যবহার করার জন্য একটি জেমা মডেল লোড এবং কনফিগার করতে হয়।
লোড মডেল
ইমেজ ডেটার সাথে ব্যবহারের জন্য একটি জেমা মডেল লোড করার সময়, আপনি চিত্রগুলির সাথে ব্যবহারের জন্য বিশেষভাবে ট্রান্সফরমার pipeline
ইন্সট্যান্স কনফিগার করেন। বিশেষ করে, আপনাকে অবশ্যই একটি পাইপলাইন কনফিগারেশন নির্বাচন করতে হবে যা task
প্যারামিটারটিকে "image-text-to-text"
এ সেট করে ভিজ্যুয়াল ডেটা পরিচালনা করতে পারে, যেমনটি নিম্নলিখিত কোড উদাহরণে দেখানো হয়েছে:
import torch
from transformers import pipeline
pipeline = pipeline(
task="image-text-to-text", # required for image input
model="google/gemma-3-4b-it",
device=0,
torch_dtype=torch.bfloat16
)
পাঠ্য প্রজন্ম চালান
pipeline
ইন্সট্যান্স সহ ইমেজ ইনপুট পরিচালনা করার জন্য আপনার জেমা মডেল কনফিগার করা হয়ে গেলে, আপনি মডেলটিতে ইমেজ সহ প্রম্পট পাঠাতে পারেন। আপনার প্রম্পটের পাঠ্যে ছবি যোগ করতে <start_of_image>
টোকেন ব্যবহার করুন। নিম্নলিখিত উদাহরণ কোড pipeline
প্যারামিটার ব্যবহার করে একটি মৌলিক অনুরোধ দেখায়:
pipeline(
"https://ai.google.dev/static/gemma/docs/images/thali-indian-plate.jpg",
text="<start_of_image> What is shown in this image?"
)
[{'input_text': '<start_of_image> What is shown in this image?', 'generated_text': '<start_of_image> What is shown in this image?\n\nThis image showcases a traditional Indian Thali. A Thali is a platter that contains a variety'}]
একটি প্রম্পট টেমপ্লেট ব্যবহার করুন
আরও জটিল প্রম্পটিংয়ের সাথে সামগ্রী তৈরি করার সময়, আপনার অনুরোধ গঠন করতে একটি প্রম্পট টেমপ্লেট ব্যবহার করুন। একটি প্রম্পট টেমপ্লেট আপনাকে নির্দিষ্ট ভূমিকা থেকে ইনপুট নির্দিষ্ট করতে দেয়, যেমন user
বা model
, এবং জেমা মডেলগুলির সাথে বহু-পালা চ্যাট ইন্টারঅ্যাকশন পরিচালনা করার জন্য একটি প্রয়োজনীয় বিন্যাস। নিম্নলিখিত উদাহরণ কোডটি দেখায় কিভাবে জেমার জন্য একটি প্রম্পট টেমপ্লেট তৈরি করতে হয়:
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": "https://ai.google.dev/static/gemma/docs/images/thali-indian-plate.jpg"},
{"type": "text", "text": "What is shown in this image?"},
]
},
{
"role": "assistant",
"content": [
{"type": "text", "text": "This image shows"},
],
},
]
pipeline(text=messages, max_new_tokens=50, return_full_text=False)
আপনি অতিরিক্ত "type": "image",
content
তালিকায় এন্ট্রিগুলি অন্তর্ভুক্ত করে আপনার প্রম্পটে একাধিক ছবি অন্তর্ভুক্ত করতে পারেন।
অডিও ডেটা থেকে পাঠ্য তৈরি করুন
Gemma 3n এর সাথে, আপনি আপনার প্রম্পটের অংশ হিসাবে অডিও ডেটা ব্যবহার করতে পারেন। এই বিভাগটি দেখায় কিভাবে ট্রান্সফর্মার লাইব্রেরি ব্যবহার করে টেক্সট আউটপুট তৈরি করতে অডিও ডেটা এবং টেক্সট ইনপুট ব্যবহার করার জন্য একটি জেমা মডেল লোড এবং কনফিগার করতে হয়।
পাইথন প্যাকেজ ইনস্টল করুন
Gemma-এর সাথে অডিও ইনপুট ব্যবহার করার জন্য ট্রান্সফরমার লাইব্রেরির একটি সাম্প্রতিক সংস্করণ প্রয়োজন। নীচে দেখানো হিসাবে জেমা মডেল চালানো এবং অডিও ডেটা সহ অনুরোধ করার জন্য আলিঙ্গন মুখের লাইব্রেরিগুলি ইনস্টল করুন৷
# Install Pytorch & other libraries
%pip install "torch>=2.4.0"
# Install a transformers version that supports Gemma 3n (>= 4.53)
%pip install "transformers>=4.53.0"
লোড মডেল
অডিও ডেটার সাথে ব্যবহারের জন্য একটি জেমা মডেল লোড করার সময়, আপনি অডিও ডেটার সাথে ব্যবহারের জন্য বিশেষভাবে ট্রান্সফরমার উদাহরণটি কনফিগার করেন। বিশেষ করে, আপনাকে অবশ্যই AutoProcessor
এবং AutoModelForImageTextToText
ক্লাস ব্যবহার করে একটি processor
এবং model
অবজেক্ট নির্ধারণ করতে হবে, যেমনটি নিম্নলিখিত কোড উদাহরণে দেখানো হয়েছে:
import torch
from transformers import AutoProcessor, AutoModelForImageTextToText
GEMMA_MODEL_ID = "google/gemma-3n-E4B-it"
processor = AutoProcessor.from_pretrained(GEMMA_MODEL_ID, device_map="auto")
model = AutoModelForImageTextToText.from_pretrained(
GEMMA_MODEL_ID, torch_dtype="auto", device_map="auto")
একটি প্রম্পট টেমপ্লেট ব্যবহার করুন
অডিও সহ বিষয়বস্তু তৈরি করার সময়, আপনার অনুরোধ গঠন করতে একটি প্রম্পট টেমপ্লেট ব্যবহার করুন। একটি প্রম্পট টেমপ্লেট আপনাকে নির্দিষ্ট ভূমিকা থেকে ইনপুট নির্দিষ্ট করতে দেয়, যেমন user
বা model
, এবং জেমা মডেলগুলির সাথে বহু-পালা চ্যাট ইন্টারঅ্যাকশন পরিচালনা করার জন্য একটি প্রয়োজনীয় বিন্যাস। নিম্নলিখিত উদাহরণ কোডটি দেখায় কিভাবে অডিও ডেটা ইনপুট সহ জেমার জন্য একটি প্রম্পট টেমপ্লেট তৈরি করা যায়:
messages = [
{
"role": "user",
"content": [
{"type": "audio", "audio": "https://ai.google.dev/gemma/docs/audio/roses-are.wav"},
{"type": "text", "text": "Transcribe this audio and complete the statement"},
]
}
]
আপনি অতিরিক্ত "type": "audio",
content
তালিকায় এন্ট্রিগুলি অন্তর্ভুক্ত করে আপনার প্রম্পটে একাধিক অডিও ফাইল অন্তর্ভুক্ত করতে পারেন। আপনি যদি অডিও ডেটা দিয়ে প্রম্পট করেন তবে টেমপ্লেট ছাড়াই, আপনার প্রম্পটের পাঠ্যে <audio_soft_token>
সিনট্যাক্স ব্যবহার করুন।
পাঠ্য প্রজন্ম চালান
একবার আপনি একটি processor
এবং model
অবজেক্টের সাথে Gemma মডেল কনফিগার করে নিলে এবং একটি প্রম্পট টেমপ্লেট ব্যবহার করে অডিও ডেটা সহ একটি প্রম্পট তৈরি করলে, আপনি আউটপুট তৈরি করতে প্রম্পট পাঠাতে পারেন। নিম্নলিখিত উদাহরণ কোডটি একটি চ্যাট টেমপ্লেট, আউটপুট জেনারেশন, প্রতিক্রিয়ার ডিকোডিং ব্যবহার করে একটি অনুরোধ দেখায়:
input_ids = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True, return_dict=True,
return_tensors="pt",
)
input_ids = input_ids.to(model.device, dtype=model.dtype)
# Generate output from the model
outputs = model.generate(**input_ids, max_new_tokens=128)
# decode and print the output as text
text = processor.batch_decode(
outputs,
skip_special_tokens=False,
clean_up_tokenization_spaces=False
)
print(text[0])
পরবর্তী পদক্ষেপ
জেমা মডেলগুলির সাথে আরও তৈরি করুন এবং অন্বেষণ করুন:
- আলিঙ্গন ফেস ট্রান্সফরমার ব্যবহার করে টেক্সট টাস্কের জন্য ফাইন-টিউন জেমা
- আলিঙ্গন ফেস ট্রান্সফরমার ব্যবহার করে দৃষ্টি কার্যের জন্য ফাইন-টিউন জেমা
- জেমা মডেলগুলিতে বিতরণকৃত সূক্ষ্ম-টিউনিং এবং অনুমান সম্পাদন করুন
- Vertex AI এর সাথে জেমা ওপেন মডেল ব্যবহার করুন
- কেরাস ব্যবহার করে Gemma ফাইন-টিউন করুন এবং Vertex AI-তে স্থাপন করুন