Gemini API ব্যবহার করে, আপনি একাধিক বাঁক জুড়ে ফ্রিফর্ম কথোপকথন তৈরি করতে পারেন। Firebase SDK-এর Vertex AI কথোপকথনের অবস্থা পরিচালনা করে প্রক্রিয়াটিকে সহজ করে, তাই generateContentStream()
বা generateContent()
এর বিপরীতে, আপনাকে কথোপকথনের ইতিহাস নিজেকে সংরক্ষণ করতে হবে না।
ঐচ্ছিকভাবে Gemini API- এর একটি বিকল্প " Google AI " সংস্করণ নিয়ে পরীক্ষা করুন৷
Google AI স্টুডিও এবং Google AI ক্লায়েন্ট SDK ব্যবহার করে বিনামূল্যে অ্যাক্সেস পান (সীমার মধ্যে এবং যেখানে উপলব্ধ)। এই SDKগুলি শুধুমাত্র মোবাইল এবং ওয়েব অ্যাপে প্রোটোটাইপ করার জন্য ব্যবহার করা উচিত৷একটি Gemini API কীভাবে কাজ করে সে সম্পর্কে আপনি পরিচিত হওয়ার পরে, Firebase SDK-এ আমাদের Vertex AI- তে স্থানান্তর করুন (এই ডকুমেন্টেশন), যেটিতে মোবাইল এবং ওয়েব অ্যাপের জন্য গুরুত্বপূর্ণ অনেক অতিরিক্ত বৈশিষ্ট্য রয়েছে, যেমন Firebase App Check ব্যবহার করে API-কে অপব্যবহার থেকে রক্ষা করা এবং অনুরোধে বড় মিডিয়া ফাইলগুলির জন্য সমর্থন।
ঐচ্ছিকভাবে Vertex AI Gemini API সার্ভার-সাইডে কল করুন (যেমন Python, Node.js, বা Go)
Gemini API-এর Firebase Extensions সার্ভার-সাইড Vertex AI SDKs , Firebase Genkit বা Firebase এক্সটেনশনগুলি ব্যবহার করুন৷
আপনি শুরু করার আগে
আপনি যদি ইতিমধ্যেই না করে থাকেন, Firebase SDK-তে Vertex AI-এর জন্য শুরু করার নির্দেশিকাটি সম্পূর্ণ করুন। নিশ্চিত করুন যে আপনি নিম্নলিখিত সমস্ত কাজ করেছেন:
ব্লেজ প্রাইসিং প্ল্যান ব্যবহার করা এবং প্রয়োজনীয় এপিআই সক্ষম করা সহ একটি নতুন বা বিদ্যমান ফায়ারবেস প্রকল্প সেট আপ করুন৷
আপনার অ্যাপটি রেজিস্টার করা এবং আপনার অ্যাপে আপনার Firebase কনফিগার যোগ করা সহ আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করুন।
SDK যোগ করুন এবং আপনার অ্যাপে Vertex AI পরিষেবা এবং জেনারেটিভ মডেল শুরু করুন।
আপনি আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করার পরে, SDK যোগ করার পরে এবং Vertex AI পরিষেবা এবং জেনারেটিভ মডেল শুরু করার পরে, আপনি Gemini API কল করতে প্রস্তুত৷
একটি চ্যাট প্রম্পট অনুরোধ পাঠান
একটি মাল্টি-টার্ন কথোপকথন তৈরি করতে (চ্যাটের মতো), startChat()
কল করে চ্যাট শুরু করে শুরু করুন। তারপর একটি নতুন ব্যবহারকারীর বার্তা পাঠাতে sendMessageStream()
(বা sendMessage()
) ব্যবহার করুন, যা চ্যাট ইতিহাসে বার্তা এবং প্রতিক্রিয়াও যুক্ত করবে।
কথোপকথনে বিষয়বস্তুর সাথে যুক্ত role
জন্য দুটি সম্ভাব্য বিকল্প রয়েছে:
user
: ভূমিকা যা প্রম্পট প্রদান করে। এই মানটিsendMessageStream()
(অথবাsendMessage()
) এ কলের জন্য ডিফল্ট এবং একটি ভিন্ন ভূমিকা পাস করা হলে ফাংশনটি একটি ব্যতিক্রম থ্রো করে।model
: ভূমিকা যা প্রতিক্রিয়া প্রদান করে। বিদ্যমানhistory
সহstartChat()
কল করার সময় এই ভূমিকাটি ব্যবহার করা যেতে পারে।
আপনি প্রতিক্রিয়াটি স্ট্রিম করতে চান কিনা তা চয়ন করুন ( sendMessageStream
) বা সম্পূর্ণ ফলাফল তৈরি না হওয়া পর্যন্ত প্রতিক্রিয়াটির জন্য অপেক্ষা করুন ( sendMessage
)৷
স্ট্রিমিং
আপনি মডেল জেনারেশন থেকে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফল পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।
মডেল থেকে প্রতিক্রিয়া স্ট্রিম করতে startChat()
এবং sendMessageStream()
কীভাবে ব্যবহার করবেন এই উদাহরণটি দেখায়:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")
// Optionally specify existing chat history
let history = [
ModelContent(role: "user", parts: "Hello, I have 2 dogs in my house."),
ModelContent(role: "model", parts: "Great to meet you. What would you like to know?"),
]
// Initialize the chat with optional chat history
let chat = model.startChat(history: history)
// To stream generated text output, call sendMessageStream and pass in the message
let contentStream = try chat.sendMessageStream("How many paws are in my house?")
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
স্ট্রিমিং ছাড়াই
বিকল্পভাবে, আপনি স্ট্রিমিংয়ের পরিবর্তে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা করতে পারেন; মডেলটি পুরো প্রজন্মের প্রক্রিয়াটি সম্পূর্ণ করার পরেই ফলাফলটি ফিরে আসে।
এই উদাহরণটি দেখায় কিভাবে একটি নতুন ব্যবহারকারীর বার্তা পাঠাতে startChat()
এবং sendMessage()
ব্যবহার করতে হয়:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")
// Optionally specify existing chat history
let history = [
ModelContent(role: "user", parts: "Hello, I have 2 dogs in my house."),
ModelContent(role: "model", parts: "Great to meet you. What would you like to know?"),
]
// Initialize the chat with optional chat history
let chat = model.startChat(history: history)
// To generate text output, call sendMessage and pass in the message
let response = try await chat.sendMessage("How many paws are in my house?")
print(response.text ?? "No text in response.")
কীভাবে একটি মিথুন মডেল এবং ঐচ্ছিকভাবে আপনার ব্যবহারের ক্ষেত্রে এবং অ্যাপের জন্য উপযুক্ত একটি অবস্থান চয়ন করবেন তা জানুন।
আপনি আর কি করতে পারেন?
- মডেলে দীর্ঘ প্রম্পট পাঠানোর আগে কীভাবে টোকেন গণনা করবেন তা শিখুন।
- Cloud Storage for Firebase সেট আপ করুন যাতে আপনি আপনার মাল্টিমোডাল অনুরোধগুলিতে বড় ফাইলগুলি অন্তর্ভুক্ত করতে পারেন এবং প্রম্পটে ফাইলগুলি সরবরাহ করার জন্য আরও পরিচালিত সমাধান পেতে পারেন৷ ফাইলগুলিতে ছবি, পিডিএফ, ভিডিও এবং অডিও অন্তর্ভুক্ত থাকতে পারে।
- জেমিনি API কে অননুমোদিত ক্লায়েন্টদের অপব্যবহার থেকে রক্ষা করতে Firebase App Check সেট আপ সহ উত্পাদনের জন্য প্রস্তুতির বিষয়ে চিন্তা করা শুরু করুন৷
Gemini API- এর অন্যান্য ক্ষমতা ব্যবহার করে দেখুন
- শুধুমাত্র পাঠ্য প্রম্পট থেকে পাঠ্য তৈরি করুন।
- মাল্টিমোডাল প্রম্পট থেকে পাঠ্য তৈরি করুন (পাঠ্য, চিত্র, পিডিএফ, ভিডিও এবং অডিও সহ)।
- টেক্সট এবং মাল্টিমোডাল প্রম্পট উভয় থেকে কাঠামোগত আউটপুট (যেমন JSON) তৈরি করুন।
- বাহ্যিক সিস্টেম এবং তথ্যের সাথে জেনারেটিভ মডেল সংযোগ করতে ফাংশন কলিং ব্যবহার করুন।
বিষয়বস্তু তৈরি নিয়ন্ত্রণ কিভাবে শিখুন
- সর্বোত্তম অনুশীলন, কৌশল এবং উদাহরণ প্রম্পট সহ প্রম্পট ডিজাইন বুঝুন ।
- তাপমাত্রা এবং সর্বোচ্চ আউটপুট টোকেন মত মডেল প্যারামিটার কনফিগার করুন ।
- ক্ষতিকারক বলে বিবেচিত প্রতিক্রিয়া পাওয়ার সম্ভাবনা সামঞ্জস্য করতে নিরাপত্তা সেটিংস ব্যবহার করুন ।
মিথুন মডেল সম্পর্কে আরও জানুন
বিভিন্ন ব্যবহারের ক্ষেত্রে উপলব্ধ মডেল এবং তাদের কোটা এবং মূল্য সম্পর্কে জানুন।Firebase-এ Vertex AI-এর সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত দিন