Gemini API পাঠ্য, ছবি, ভিডিও এবং অডিও সহ বিভিন্ন ধরণের ইনপুট থেকে পাঠ্য আউটপুট তৈরি করতে পারে। আপনি বিভিন্ন অ্যাপ্লিকেশনের জন্য পাঠ্য প্রজন্ম ব্যবহার করতে পারেন, যার মধ্যে রয়েছে:
- সৃজনশীল লেখা
- মিডিয়া সম্পদের বর্ণনা বা ব্যাখ্যা করা
- পাঠ্য সমাপ্তি
- ফ্রি-ফর্ম টেক্সট সংক্ষিপ্ত করা
- ভাষার মধ্যে অনুবাদ
- চ্যাটবট
- আপনার নিজের উপন্যাস ব্যবহার ক্ষেত্রে
এই নির্দেশিকা আপনাকে দেখায় কিভাবে generateContent
এবং streamGenerateContent
API এবং আপনার পছন্দের সার্ভার-সাইড SDK ব্যবহার করে পাঠ্য তৈরি করতে হয়। ফোকাস শুধুমাত্র টেক্সট এবং টেক্সট এবং ইমেজ ইনপুট থেকে টেক্সট আউটপুট. ভিডিও এবং অডিও ফাইলগুলির সাথে মাল্টিমোডাল প্রম্পটিং সম্পর্কে আরও জানতে, মিডিয়া ফাইলগুলির সাথে প্রম্পটিং দেখুন৷
আপনি শুরু করার আগে: আপনার প্রকল্প এবং API কী সেট আপ করুন
Gemini API কল করার আগে, আপনাকে আপনার প্রকল্প সেট আপ করতে হবে এবং আপনার API কী কনফিগার করতে হবে।
আপনার API কী পান এবং সুরক্ষিত করুন
Gemini API কল করার জন্য আপনার একটি API কী প্রয়োজন। আপনার যদি ইতিমধ্যে একটি না থাকে তবে Google AI স্টুডিওতে একটি কী তৈরি করুন৷
এটি দৃঢ়ভাবে সুপারিশ করা হয় যে আপনি আপনার সংস্করণ নিয়ন্ত্রণ সিস্টেমে একটি API কী চেক করবেন না ৷ পরিবর্তে, আপনার API কী একটি গোপন দোকানে সংরক্ষণ করা উচিত (উদাহরণস্বরূপ, সিক্রেট ম্যানেজার )।
SDK প্যাকেজ ইনস্টল করুন এবং আপনার API কী কনফিগার করুন
Gemini API-এর জন্য Python SDK google-generativeai
প্যাকেজে রয়েছে।
পিপ ব্যবহার করে নির্ভরতা ইনস্টল করুন:
pip install -U google-generativeai
প্যাকেজটি আমদানি করুন এবং আপনার API কী দিয়ে পরিষেবাটি কনফিগার করুন:
import os import google.generativeai as genai genai.configure(api_key=os.environ['API_KEY'])
শুধুমাত্র পাঠ্য ইনপুট থেকে পাঠ্য তৈরি করুন
Gemini API ব্যবহার করে টেক্সট জেনারেট করার সবচেয়ে সহজ উপায় হল মডেলটিকে একটি মাত্র টেক্সট ইনপুট প্রদান করা, যেমন এই উদাহরণে দেখানো হয়েছে:
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)
এই ক্ষেত্রে, প্রম্পট ("একটি জাদু ব্যাকপ্যাক সম্পর্কে একটি গল্প লিখুন") কোনো আউটপুট উদাহরণ, সিস্টেম নির্দেশাবলী, বা ফর্ম্যাটিং তথ্য অন্তর্ভুক্ত করে না। এটি একটি শূন্য-শট পদ্ধতির। কিছু ব্যবহারের ক্ষেত্রে, একটি এক-শট বা কয়েক-শট প্রম্পট আউটপুট তৈরি করতে পারে যা ব্যবহারকারীর প্রত্যাশার সাথে আরও সারিবদ্ধ। কিছু ক্ষেত্রে, আপনি মডেলটিকে কাজ বুঝতে বা নির্দিষ্ট নির্দেশিকা অনুসরণ করতে সাহায্য করার জন্য সিস্টেম নির্দেশাবলী প্রদান করতে চাইতে পারেন।
টেক্সট এবং ইমেজ ইনপুট থেকে টেক্সট তৈরি করুন
Gemini API মাল্টিমোডাল ইনপুট সমর্থন করে যা মিডিয়া ফাইলের সাথে পাঠ্য একত্রিত করে। নিম্নলিখিত উদাহরণ দেখায় কিভাবে পাঠ্য-এবং-চিত্র ইনপুট থেকে পাঠ্য তৈরি করা যায়:
import PIL.Image
model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open(media / "organ.jpg")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)
টেক্সট-অনলি প্রম্পটিংয়ের মতো, মাল্টিমোডাল প্রম্পটিং বিভিন্ন পদ্ধতি এবং পরিমার্জনকে জড়িত করতে পারে। এই উদাহরণ থেকে আউটপুট উপর নির্ভর করে, আপনি প্রম্পটে পদক্ষেপ যোগ করতে বা আপনার নির্দেশাবলী আরো নির্দিষ্ট হতে চাইতে পারেন. আরও জানতে, ফাইল প্রম্পটিং কৌশলগুলি দেখুন।
একটি পাঠ্য স্ট্রীম তৈরি করুন
ডিফল্টরূপে, সম্পূর্ণ টেক্সট জেনারেশন প্রক্রিয়া সম্পন্ন করার পর মডেলটি একটি প্রতিক্রিয়া প্রদান করে। আপনি সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফলগুলি পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।
নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে একটি পাঠ্য-শুধু ইনপুট প্রম্পট থেকে পাঠ্য তৈরি করতে streamGenerateContent
পদ্ধতি ব্যবহার করে স্ট্রিমিং বাস্তবায়ন করতে হয়।
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.", stream=True)
for chunk in response:
print(chunk.text)
print("_" * 80)
একটি ইন্টারেক্টিভ চ্যাট তৈরি করুন
আপনি আপনার ব্যবহারকারীদের জন্য ইন্টারেক্টিভ চ্যাট অভিজ্ঞতা তৈরি করতে Gemini API ব্যবহার করতে পারেন। API-এর চ্যাট বৈশিষ্ট্য ব্যবহার করে আপনাকে একাধিক রাউন্ড প্রশ্ন এবং প্রতিক্রিয়া সংগ্রহ করতে দেয়, ব্যবহারকারীদের উত্তরের দিকে ক্রমবর্ধমানভাবে পদক্ষেপ নিতে বা বহুমুখী সমস্যায় সহায়তা পেতে দেয়। এই বৈশিষ্ট্যটি এমন অ্যাপ্লিকেশনগুলির জন্য আদর্শ যা চলমান যোগাযোগের প্রয়োজন, যেমন চ্যাটবট, ইন্টারেক্টিভ টিউটর বা গ্রাহক সহায়তা সহকারী।
নিম্নলিখিত কোড উদাহরণ একটি মৌলিক চ্যাট বাস্তবায়ন দেখায়:
model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
history=[
{"role": "user", "parts": "Hello"},
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)
পাঠ্য প্রজন্ম কনফিগার করুন
আপনি মডেলে পাঠানো প্রতিটি প্রম্পটে প্যারামিটার অন্তর্ভুক্ত থাকে যা মডেলটি কীভাবে প্রতিক্রিয়া তৈরি করে তা নিয়ন্ত্রণ করে। আপনি এই পরামিতিগুলি কনফিগার করতে GenerationConfig
ব্যবহার করতে পারেন। আপনি যদি প্যারামিটারগুলি কনফিগার না করেন তবে মডেলটি ডিফল্ট বিকল্পগুলি ব্যবহার করে, যা মডেল অনুসারে পরিবর্তিত হতে পারে।
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে উপলব্ধ বিকল্পগুলির কয়েকটি কনফিগার করতে হয়।
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
"Tell me a story about a magic backpack.",
generation_config=genai.types.GenerationConfig(
# Only one candidate for now.
candidate_count=1,
stop_sequences=["x"],
max_output_tokens=20,
temperature=1.0,
),
)
print(response.text)
candidateCount
প্রত্যাবর্তনের জন্য উত্পন্ন প্রতিক্রিয়ার সংখ্যা নির্দিষ্ট করে। বর্তমানে, এই মানটি শুধুমাত্র 1 তে সেট করা যেতে পারে৷ যদি সেট না করা হয় তবে এটি 1 এ ডিফল্ট হবে৷
stopSequences
ক্যারেক্টার সিকোয়েন্সের সেট নির্দিষ্ট করে (5 পর্যন্ত) যা আউটপুট জেনারেশন বন্ধ করবে। নির্দিষ্ট করা হলে, API একটি stop_sequence
এর প্রথম উপস্থিতিতে থেমে যাবে। প্রতিক্রিয়ার অংশ হিসেবে স্টপ সিকোয়েন্স অন্তর্ভুক্ত করা হবে না।
maxOutputTokens
একজন প্রার্থীকে অন্তর্ভুক্ত করার জন্য সর্বাধিক সংখ্যক টোকেন সেট করে।
temperature
আউটপুটের এলোমেলোতা নিয়ন্ত্রণ করে। আরো সৃজনশীল প্রতিক্রিয়ার জন্য উচ্চ মান ব্যবহার করুন, এবং আরো নির্ধারক প্রতিক্রিয়ার জন্য নিম্ন মান ব্যবহার করুন। মান [0.0, 2.0] থেকে পরিসীমা হতে পারে।
আপনি generateContent
করতে পৃথক কল কনফিগার করতে পারেন:
response = model.generate_content(
'Write a story about a magic backpack.',
generation_config = genai.GenerationConfig(
max_output_tokens=1000,
temperature=0.1,
)
)
মডেল কনস্ট্রাক্টরের পৃথক কল ওভাররাইড মানগুলিতে সেট করা যেকোনো মান।
এরপর কি
এই নির্দেশিকাটি দেখায় কিভাবে generateContent
এবং streamGenerateContent
ব্যবহার করতে হয় শুধুমাত্র-টেক্সট এবং টেক্সট-এবং-ইমেজ ইনপুট থেকে টেক্সট আউটপুট তৈরি করতে। Gemini API ব্যবহার করে টেক্সট তৈরি করার বিষয়ে আরও জানতে, নিম্নলিখিত সংস্থানগুলি দেখুন:
- মিডিয়া ফাইলের সাথে প্রম্পটিং : জেমিনি API টেক্সট, ইমেজ, অডিও এবং ভিডিও ডেটা সহ প্রম্পটিং সমর্থন করে, যা মাল্টিমডাল প্রম্পটিং নামেও পরিচিত।
- সিস্টেম নির্দেশাবলী : সিস্টেম নির্দেশাবলী আপনাকে আপনার নির্দিষ্ট প্রয়োজন এবং ব্যবহারের ক্ষেত্রের উপর ভিত্তি করে মডেলের আচরণ পরিচালনা করতে দেয়।
- নিরাপত্তা নির্দেশিকা : কখনও কখনও জেনারেটিভ এআই মডেলগুলি অপ্রত্যাশিত আউটপুট তৈরি করে, যেমন আউটপুটগুলি ভুল, পক্ষপাতদুষ্ট বা আপত্তিকর। এই ধরনের আউটপুট থেকে ক্ষতির ঝুঁকি সীমিত করার জন্য পোস্ট-প্রসেসিং এবং মানব মূল্যায়ন অপরিহার্য।