Vertex AI in Firebase ব্যবহার করে আপনার অ্যাপ থেকে Gemini API কল করার সময়, আপনি একটি মাল্টিমডাল ইনপুটের উপর ভিত্তি করে টেক্সট তৈরি করতে জেমিনি মডেলকে অনুরোধ করতে পারেন। মাল্টিমোডাল প্রম্পটে একাধিক পদ্ধতি (বা ইনপুটের প্রকার) অন্তর্ভুক্ত থাকতে পারে, যেমন চিত্র সহ পাঠ্য, পিডিএফ, প্লেইন-টেক্সট ফাইল, ভিডিও এবং অডিও।
প্রতিটি মাল্টিমোডাল অনুরোধে, আপনাকে সর্বদা নিম্নলিখিতগুলি প্রদান করতে হবে:
ফাইলের
mimeType
. প্রতিটি ইনপুট ফাইলের সমর্থিত MIME প্রকারগুলি সম্পর্কে জানুন৷ফাইল। আপনি ফাইলটিকে ইনলাইন ডেটা হিসাবে প্রদান করতে পারেন (যেমন এই পৃষ্ঠায় দেখানো হয়েছে) অথবা এর URL বা URI ব্যবহার করে৷
মাল্টিমোডাল প্রম্পটে পরীক্ষা এবং পুনরাবৃত্তি করার জন্য, আমরা Vertex AI Studio ব্যবহার করার পরামর্শ দিই।
ঐচ্ছিকভাবে Gemini API এর একটি বিকল্প " Google AI " সংস্করণ নিয়ে পরীক্ষা করুন৷
Google AI Studio এবং Google AI ক্লায়েন্ট SDK ব্যবহার করে বিনামূল্যে অ্যাক্সেস পান (সীমার মধ্যে এবং যেখানে উপলব্ধ)। এই SDKগুলি শুধুমাত্র মোবাইল এবং ওয়েব অ্যাপে প্রোটোটাইপ করার জন্য ব্যবহার করা উচিত৷একটি Gemini API কীভাবে কাজ করে তার সাথে পরিচিত হওয়ার পরে, Vertex AI in Firebase তে স্থানান্তর করুন (এই ডকুমেন্টেশন), যেটিতে মোবাইল এবং ওয়েব অ্যাপের জন্য গুরুত্বপূর্ণ অনেক অতিরিক্ত বৈশিষ্ট্য রয়েছে, যেমন Firebase App Check ব্যবহার করে অপব্যবহার থেকে API রক্ষা করা এবং এর জন্য সমর্থন অনুরোধে বড় মিডিয়া ফাইল ।
ঐচ্ছিকভাবে Vertex AI Gemini API সার্ভার-সাইডে কল করুন (যেমন Python, Node.js, বা Go)
Gemini API এর Firebase Extensions সার্ভার-সাইড Vertex AI SDKs , Firebase Genkit বা Firebase এক্সটেনশনগুলি ব্যবহার করুন৷
আপনি শুরু করার আগে
আপনি যদি ইতিমধ্যেই না করে থাকেন, Vertex AI in Firebase জন্য শুরু করার নির্দেশিকাটি সম্পূর্ণ করুন। নিশ্চিত করুন যে আপনি নিম্নলিখিত সমস্ত কাজ করেছেন:
ব্লেজ প্রাইসিং প্ল্যান ব্যবহার করা এবং প্রয়োজনীয় এপিআই সক্ষম করা সহ একটি নতুন বা বিদ্যমান ফায়ারবেস প্রকল্প সেট আপ করুন৷
আপনার অ্যাপটি রেজিস্টার করা এবং আপনার অ্যাপে আপনার Firebase কনফিগার যোগ করা সহ আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করুন।
SDK যোগ করুন এবং আপনার অ্যাপে Vertex AI পরিষেবা এবং জেনারেটিভ মডেল শুরু করুন।
আপনি আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করার পরে, SDK যোগ করার পরে এবং Vertex AI পরিষেবা এবং জেনারেটিভ মডেল শুরু করার পরে, আপনি Gemini API কল করতে প্রস্তুত৷
পাঠ্য এবং একটি একক চিত্র থেকে পাঠ্য তৈরি করুন পাঠ্য এবং একাধিক চিত্র থেকে পাঠ্য তৈরি করুন পাঠ্য এবং একটি ভিডিও থেকে পাঠ্য তৈরি করুন
নমুনা মিডিয়া ফাইল
আপনার যদি ইতিমধ্যে মিডিয়া ফাইল না থাকে, তাহলে আপনি নিম্নলিখিত সর্বজনীনভাবে উপলব্ধ ফাইলগুলি ব্যবহার করতে পারেন:
ছবি :
gs://cloud-samples-data/generative-ai/image/scones.jpg
একটি MIME ধরনেরimage/jpeg
সহ।
এই ছবিটি দেখুন বা ডাউনলোড করুন।PDF :
gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf
একটি MIME ধরনেরapplication/pdf
সহ।
এই PDF দেখুন বা ডাউনলোড করুন.ভিডিও :
gs://cloud-samples-data/video/animals.mp4
একটি MIME ধরনেরvideo/mp4
সহ।
এই ভিডিওটি দেখুন বা ডাউনলোড করুন।অডিও :
gs://cloud-samples-data/generative-ai/audio/pixel.mp3
একটি MIME ধরনেরaudio/mp3
সহ।
এই অডিওটি শুনুন বা ডাউনলোড করুন।
পাঠ্য এবং একটি একক চিত্র থেকে পাঠ্য তৈরি করুন
এই নমুনা চেষ্টা করার আগে নিশ্চিত করুন যে আপনি এই গাইডের শুরু করার আগে বিভাগটি সম্পূর্ণ করেছেন।
আপনি মাল্টিমোডাল প্রম্পট সহ Gemini API কল করতে পারেন যাতে পাঠ্য এবং একটি একক ফাইল উভয়ই অন্তর্ভুক্ত থাকে (যেমন একটি চিত্র, যেমন এই উদাহরণে দেখানো হয়েছে)। এই কলগুলির জন্য, আপনাকে এমন একটি মডেল ব্যবহার করতে হবে যা প্রম্পটে মিডিয়া সমর্থন করে (যেমন জেমিনি 1.5 ফ্ল্যাশ)।
ইনপুট ফাইলের জন্য প্রয়োজনীয়তা এবং সুপারিশ পর্যালোচনা করতে ভুলবেন না।
আপনি প্রতিক্রিয়াটি স্ট্রিম করতে চান কিনা তা চয়ন করুন ( generateContentStream
) বা সম্পূর্ণ ফলাফল তৈরি না হওয়া পর্যন্ত প্রতিক্রিয়াটির জন্য অপেক্ষা করুন ( generateContent
)৷
স্ট্রিমিং
আপনি মডেল জেনারেশন থেকে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফল পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।
এই উদাহরণটি দেখায় কিভাবে generateContentStream()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে জেনারেট করা পাঠ্য স্ট্রিম করতে হয় যাতে পাঠ্য এবং একটি একক চিত্র অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
guard let image = UIImage(systemName: "bicycle") else { fatalError() }
// Provide a text prompt to include with the image
let prompt = "What's in this picture?"
// To stream generated text output, call generateContentStream and pass in the prompt
let contentStream = try model.generateContentStream(image, prompt)
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
স্ট্রিমিং ছাড়াই
বিকল্পভাবে, আপনি স্ট্রিমিংয়ের পরিবর্তে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা করতে পারেন; মডেলটি পুরো প্রজন্মের প্রক্রিয়াটি সম্পূর্ণ করার পরেই ফলাফলটি ফিরে আসে।
এই উদাহরণটি দেখায় কিভাবে generateContent()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে পাঠ্য তৈরি করতে যাতে পাঠ্য এবং একটি একক চিত্র অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
guard let image = UIImage(systemName: "bicycle") else { fatalError() }
// Provide a text prompt to include with the image
let prompt = "What's in this picture?"
// To generate text output, call generateContent and pass in the prompt
let response = try await model.generateContent(image, prompt)
print(response.text ?? "No text in response.")
কীভাবে একটি মিথুন মডেল এবং ঐচ্ছিকভাবে আপনার ব্যবহারের ক্ষেত্রে এবং অ্যাপের জন্য উপযুক্ত একটি অবস্থান চয়ন করবেন তা জানুন।
পাঠ্য এবং একাধিক চিত্র থেকে পাঠ্য তৈরি করুন
এই নমুনা চেষ্টা করার আগে নিশ্চিত করুন যে আপনি এই গাইডের শুরু করার আগে বিভাগটি সম্পূর্ণ করেছেন।
আপনি মাল্টিমোডাল প্রম্পট সহ Gemini API কল করতে পারেন যাতে পাঠ্য এবং একাধিক ফাইল উভয়ই অন্তর্ভুক্ত থাকে (যেমন চিত্রগুলি, যেমন এই উদাহরণে দেখানো হয়েছে)। এই কলগুলির জন্য, আপনাকে এমন একটি মডেল ব্যবহার করতে হবে যা প্রম্পটে মিডিয়া সমর্থন করে (যেমন জেমিনি 1.5 ফ্ল্যাশ)।
ইনপুট ফাইলের জন্য প্রয়োজনীয়তা এবং সুপারিশ পর্যালোচনা করতে ভুলবেন না।
আপনি প্রতিক্রিয়াটি স্ট্রিম করতে চান কিনা তা চয়ন করুন ( generateContentStream
) বা সম্পূর্ণ ফলাফল তৈরি না হওয়া পর্যন্ত প্রতিক্রিয়াটির জন্য অপেক্ষা করুন ( generateContent
)৷
স্ট্রিমিং
আপনি মডেল জেনারেশন থেকে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফল পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।
এই উদাহরণটি দেখায় কিভাবে generateContentStream()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে জেনারেট করা টেক্সট স্ট্রিম করতে হয় যাতে টেক্সট এবং একাধিক ছবি অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
guard let image1 = UIImage(systemName: "car") else { fatalError() }
guard let image2 = UIImage(systemName: "car.2") else { fatalError() }
// Provide a text prompt to include with the images
let prompt = "What's different between these pictures?"
// To stream generated text output, call generateContentStream and pass in the prompt
let contentStream = try model.generateContentStream(image1, image2, prompt)
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
স্ট্রিমিং ছাড়াই
বিকল্পভাবে, আপনি স্ট্রিমিংয়ের পরিবর্তে সম্পূর্ণ ফলাফলের জন্য বিকল্পভাবে অপেক্ষা করতে পারেন; মডেলটি পুরো প্রজন্মের প্রক্রিয়াটি সম্পূর্ণ করার পরেই ফলাফলটি ফিরে আসে।
এই উদাহরণটি দেখায় কিভাবে generateContent()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে পাঠ্য তৈরি করতে যাতে পাঠ্য এবং একাধিক চিত্র অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
guard let image1 = UIImage(systemName: "car") else { fatalError() }
guard let image2 = UIImage(systemName: "car.2") else { fatalError() }
// Provide a text prompt to include with the images
let prompt = "What's different between these pictures?"
// To generate text output, call generateContent and pass in the prompt
let response = try await model.generateContent(image1, image2, prompt)
print(response.text ?? "No text in response.")
কীভাবে একটি মিথুন মডেল এবং ঐচ্ছিকভাবে আপনার ব্যবহারের ক্ষেত্রে এবং অ্যাপের জন্য উপযুক্ত একটি অবস্থান চয়ন করবেন তা জানুন।
পাঠ্য এবং একটি ভিডিও থেকে পাঠ্য তৈরি করুন
এই নমুনা চেষ্টা করার আগে নিশ্চিত করুন যে আপনি এই গাইডের শুরু করার আগে বিভাগটি সম্পূর্ণ করেছেন।
আপনি মাল্টিমোডাল প্রম্পট সহ Gemini API কল করতে পারেন যাতে পাঠ্য এবং ভিডিও ফাইল(গুলি) উভয়ই অন্তর্ভুক্ত থাকে (যেমন এই উদাহরণে দেখানো হয়েছে)। এই কলগুলির জন্য, আপনাকে এমন একটি মডেল ব্যবহার করতে হবে যা প্রম্পটে মিডিয়া সমর্থন করে (যেমন জেমিনি 1.5 ফ্ল্যাশ)।
ইনপুট ফাইলের জন্য প্রয়োজনীয়তা এবং সুপারিশ পর্যালোচনা করতে ভুলবেন না।
আপনি প্রতিক্রিয়াটি স্ট্রিম করতে চান কিনা তা চয়ন করুন ( generateContentStream
) বা সম্পূর্ণ ফলাফল তৈরি না হওয়া পর্যন্ত প্রতিক্রিয়াটির জন্য অপেক্ষা করুন ( generateContent
)৷
স্ট্রিমিং
আপনি মডেল জেনারেশন থেকে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফল পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।
এই উদাহরণটি দেখায় কিভাবে generateContentStream()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে জেনারেট করা পাঠ্য স্ট্রীম করতে হয় যাতে পাঠ্য এবং একটি একক ভিডিও অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
// Provide the video as `Data` with the appropriate MIME type
let video = InlineDataPart(data: try Data(contentsOf: videoURL), mimeType: "video/mp4")
// Provide a text prompt to include with the video
let prompt = "What is in the video?"
// To stream generated text output, call generateContentStream with the text and video
let contentStream = try model.generateContentStream(video, prompt)
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
স্ট্রিমিং ছাড়াই
বিকল্পভাবে, আপনি স্ট্রিমিংয়ের পরিবর্তে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা করতে পারেন; মডেলটি পুরো প্রজন্মের প্রক্রিয়াটি সম্পূর্ণ করার পরেই ফলাফলটি ফিরে আসে।
এই উদাহরণটি দেখায় কিভাবে generateContent()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে পাঠ্য তৈরি করতে যাতে পাঠ্য এবং একটি একক ভিডিও অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
// Provide the video as `Data` with the appropriate MIME type.
let video = InlineDataPart(data: try Data(contentsOf: videoURL), mimeType: "video/mp4")
// Provide a text prompt to include with the video
let prompt = "What is in the video?"
// To generate text output, call generateContent with the text and video
let response = try await model.generateContent(video, prompt)
print(response.text ?? "No text in response.")
কীভাবে একটি মিথুন মডেল এবং ঐচ্ছিকভাবে আপনার ব্যবহারের ক্ষেত্রে এবং অ্যাপের জন্য উপযুক্ত একটি অবস্থান চয়ন করবেন তা জানুন।
ইনপুট ফাইলের জন্য প্রয়োজনীয়তা এবং সুপারিশ
নিম্নলিখিত বিষয়ে জানতে Vertex AI Gemini API এর জন্য সমর্থিত ইনপুট ফাইল এবং প্রয়োজনীয়তা দেখুন:
- একটি অনুরোধে একটি ফাইল প্রদানের জন্য বিভিন্ন বিকল্প
- সমর্থিত ফাইল প্রকার
- সমর্থিত MIME প্রকার এবং কিভাবে সেগুলি নির্দিষ্ট করতে হয়৷
- ফাইল এবং মাল্টিমোডাল অনুরোধের জন্য প্রয়োজনীয়তা এবং সর্বোত্তম অনুশীলন
আপনি আর কি করতে পারেন?
- মডেলে দীর্ঘ প্রম্পট পাঠানোর আগে কীভাবে টোকেন গণনা করবেন তা শিখুন।
- Cloud Storage for Firebase সেট আপ করুন যাতে আপনি আপনার মাল্টিমোডাল অনুরোধগুলিতে বড় ফাইলগুলি অন্তর্ভুক্ত করতে পারেন এবং প্রম্পটে ফাইলগুলি সরবরাহ করার জন্য আরও পরিচালিত সমাধান পেতে পারেন৷ ফাইলগুলিতে ছবি, পিডিএফ, ভিডিও এবং অডিও অন্তর্ভুক্ত থাকতে পারে।
- Gemini API অননুমোদিত ক্লায়েন্টদের অপব্যবহার থেকে রক্ষা করতে Firebase App Check সেট আপ সহ উত্পাদনের জন্য প্রস্তুতির বিষয়ে চিন্তা করা শুরু করুন৷
Gemini API এর অন্যান্য ক্ষমতা ব্যবহার করে দেখুন
- মাল্টি-টার্ন কথোপকথন তৈরি করুন (চ্যাট) ।
- শুধুমাত্র পাঠ্য প্রম্পট থেকে পাঠ্য তৈরি করুন।
- টেক্সট এবং মাল্টিমোডাল প্রম্পট উভয় থেকে কাঠামোগত আউটপুট (যেমন JSON) তৈরি করুন।
- বাহ্যিক সিস্টেম এবং তথ্যের সাথে জেনারেটিভ মডেল সংযোগ করতে ফাংশন কলিং ব্যবহার করুন।
বিষয়বস্তু তৈরি নিয়ন্ত্রণ কিভাবে শিখুন
- সর্বোত্তম অনুশীলন, কৌশল এবং উদাহরণ প্রম্পট সহ প্রম্পট ডিজাইন বুঝুন ।
- তাপমাত্রা এবং সর্বোচ্চ আউটপুট টোকেন মত মডেল প্যারামিটার কনফিগার করুন ।
- ক্ষতিকারক বলে বিবেচিত প্রতিক্রিয়া পাওয়ার সম্ভাবনা সামঞ্জস্য করতে নিরাপত্তা সেটিংস ব্যবহার করুন ।
মিথুন মডেল সম্পর্কে আরও জানুন
বিভিন্ন ব্যবহারের ক্ষেত্রে উপলব্ধ মডেল এবং তাদের কোটা এবং মূল্য সম্পর্কে জানুন।Vertex AI in Firebase এর সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত দিন
Vertex AI in Firebase ব্যবহার করে আপনার অ্যাপ থেকে Gemini API কল করার সময়, আপনি একটি মাল্টিমডাল ইনপুটের উপর ভিত্তি করে টেক্সট তৈরি করতে জেমিনি মডেলকে অনুরোধ করতে পারেন। মাল্টিমোডাল প্রম্পটে একাধিক পদ্ধতি (বা ইনপুটের প্রকার) অন্তর্ভুক্ত থাকতে পারে, যেমন চিত্র সহ পাঠ্য, পিডিএফ, প্লেইন-টেক্সট ফাইল, ভিডিও এবং অডিও।
প্রতিটি মাল্টিমোডাল অনুরোধে, আপনাকে সর্বদা নিম্নলিখিতগুলি প্রদান করতে হবে:
ফাইলের
mimeType
. প্রতিটি ইনপুট ফাইলের সমর্থিত MIME প্রকারগুলি সম্পর্কে জানুন৷ফাইল। আপনি ফাইলটিকে ইনলাইন ডেটা হিসাবে প্রদান করতে পারেন (যেমন এই পৃষ্ঠায় দেখানো হয়েছে) অথবা এর URL বা URI ব্যবহার করে৷
মাল্টিমোডাল প্রম্পটে পরীক্ষা এবং পুনরাবৃত্তি করার জন্য, আমরা Vertex AI Studio ব্যবহার করার পরামর্শ দিই।
ঐচ্ছিকভাবে Gemini API এর একটি বিকল্প " Google AI " সংস্করণ নিয়ে পরীক্ষা করুন৷
Google AI Studio এবং Google AI ক্লায়েন্ট SDK ব্যবহার করে বিনামূল্যে অ্যাক্সেস পান (সীমার মধ্যে এবং যেখানে উপলব্ধ)। এই SDKগুলি শুধুমাত্র মোবাইল এবং ওয়েব অ্যাপে প্রোটোটাইপ করার জন্য ব্যবহার করা উচিত৷একটি Gemini API কীভাবে কাজ করে তার সাথে পরিচিত হওয়ার পরে, Vertex AI in Firebase তে স্থানান্তর করুন (এই ডকুমেন্টেশন), যেটিতে মোবাইল এবং ওয়েব অ্যাপের জন্য গুরুত্বপূর্ণ অনেক অতিরিক্ত বৈশিষ্ট্য রয়েছে, যেমন Firebase App Check ব্যবহার করে অপব্যবহার থেকে API রক্ষা করা এবং এর জন্য সমর্থন অনুরোধে বড় মিডিয়া ফাইল ।
ঐচ্ছিকভাবে Vertex AI Gemini API সার্ভার-সাইডে কল করুন (যেমন Python, Node.js, বা Go)
Gemini API এর Firebase Extensions সার্ভার-সাইড Vertex AI SDKs , Firebase Genkit বা Firebase এক্সটেনশনগুলি ব্যবহার করুন৷
আপনি শুরু করার আগে
আপনি যদি ইতিমধ্যেই না করে থাকেন, Vertex AI in Firebase জন্য শুরু করার নির্দেশিকাটি সম্পূর্ণ করুন। নিশ্চিত করুন যে আপনি নিম্নলিখিত সমস্ত কাজ করেছেন:
ব্লেজ প্রাইসিং প্ল্যান ব্যবহার করা এবং প্রয়োজনীয় এপিআই সক্ষম করা সহ একটি নতুন বা বিদ্যমান ফায়ারবেস প্রকল্প সেট আপ করুন৷
আপনার অ্যাপটি রেজিস্টার করা এবং আপনার অ্যাপে আপনার Firebase কনফিগার যোগ করা সহ আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করুন।
SDK যোগ করুন এবং আপনার অ্যাপে Vertex AI পরিষেবা এবং জেনারেটিভ মডেল শুরু করুন।
আপনি আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করার পরে, SDK যোগ করার পরে এবং Vertex AI পরিষেবা এবং জেনারেটিভ মডেল শুরু করার পরে, আপনি Gemini API কল করতে প্রস্তুত৷
পাঠ্য এবং একটি একক চিত্র থেকে পাঠ্য তৈরি করুন পাঠ্য এবং একাধিক চিত্র থেকে পাঠ্য তৈরি করুন পাঠ্য এবং একটি ভিডিও থেকে পাঠ্য তৈরি করুন
নমুনা মিডিয়া ফাইল
আপনার যদি ইতিমধ্যে মিডিয়া ফাইল না থাকে, তাহলে আপনি নিম্নলিখিত সর্বজনীনভাবে উপলব্ধ ফাইলগুলি ব্যবহার করতে পারেন:
ছবি :
gs://cloud-samples-data/generative-ai/image/scones.jpg
একটি MIME ধরনেরimage/jpeg
সহ।
এই ছবিটি দেখুন বা ডাউনলোড করুন।PDF :
gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf
একটি MIME ধরনেরapplication/pdf
সহ।
এই PDF দেখুন বা ডাউনলোড করুন.ভিডিও :
gs://cloud-samples-data/video/animals.mp4
একটি MIME ধরনেরvideo/mp4
সহ।
এই ভিডিওটি দেখুন বা ডাউনলোড করুন।অডিও :
gs://cloud-samples-data/generative-ai/audio/pixel.mp3
একটি MIME ধরনেরaudio/mp3
সহ।
এই অডিওটি শুনুন বা ডাউনলোড করুন।
পাঠ্য এবং একটি একক চিত্র থেকে পাঠ্য তৈরি করুন
এই নমুনা চেষ্টা করার আগে নিশ্চিত করুন যে আপনি এই গাইডের শুরু করার আগে বিভাগটি সম্পূর্ণ করেছেন।
আপনি মাল্টিমোডাল প্রম্পট সহ Gemini API কল করতে পারেন যাতে পাঠ্য এবং একটি একক ফাইল উভয়ই অন্তর্ভুক্ত থাকে (যেমন একটি চিত্র, যেমন এই উদাহরণে দেখানো হয়েছে)। এই কলগুলির জন্য, আপনাকে এমন একটি মডেল ব্যবহার করতে হবে যা প্রম্পটে মিডিয়া সমর্থন করে (যেমন জেমিনি 1.5 ফ্ল্যাশ)।
ইনপুট ফাইলের জন্য প্রয়োজনীয়তা এবং সুপারিশ পর্যালোচনা করতে ভুলবেন না।
আপনি প্রতিক্রিয়াটি স্ট্রিম করতে চান কিনা তা চয়ন করুন ( generateContentStream
) বা সম্পূর্ণ ফলাফল তৈরি না হওয়া পর্যন্ত প্রতিক্রিয়াটির জন্য অপেক্ষা করুন ( generateContent
)৷
স্ট্রিমিং
আপনি মডেল জেনারেশন থেকে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফল পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।
এই উদাহরণটি দেখায় কিভাবে generateContentStream()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে জেনারেট করা পাঠ্য স্ট্রিম করতে হয় যাতে পাঠ্য এবং একটি একক চিত্র অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
guard let image = UIImage(systemName: "bicycle") else { fatalError() }
// Provide a text prompt to include with the image
let prompt = "What's in this picture?"
// To stream generated text output, call generateContentStream and pass in the prompt
let contentStream = try model.generateContentStream(image, prompt)
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
স্ট্রিমিং ছাড়াই
বিকল্পভাবে, আপনি স্ট্রিমিংয়ের পরিবর্তে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা করতে পারেন; মডেলটি পুরো প্রজন্মের প্রক্রিয়াটি সম্পূর্ণ করার পরেই ফলাফলটি ফিরে আসে।
এই উদাহরণটি দেখায় কিভাবে generateContent()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে পাঠ্য তৈরি করতে যাতে পাঠ্য এবং একটি একক চিত্র অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
guard let image = UIImage(systemName: "bicycle") else { fatalError() }
// Provide a text prompt to include with the image
let prompt = "What's in this picture?"
// To generate text output, call generateContent and pass in the prompt
let response = try await model.generateContent(image, prompt)
print(response.text ?? "No text in response.")
কীভাবে একটি মিথুন মডেল এবং ঐচ্ছিকভাবে আপনার ব্যবহারের ক্ষেত্রে এবং অ্যাপের জন্য উপযুক্ত একটি অবস্থান চয়ন করবেন তা জানুন।
পাঠ্য এবং একাধিক চিত্র থেকে পাঠ্য তৈরি করুন
এই নমুনা চেষ্টা করার আগে নিশ্চিত করুন যে আপনি এই গাইডের শুরু করার আগে বিভাগটি সম্পূর্ণ করেছেন।
আপনি মাল্টিমোডাল প্রম্পট সহ Gemini API কল করতে পারেন যাতে পাঠ্য এবং একাধিক ফাইল উভয়ই অন্তর্ভুক্ত থাকে (যেমন চিত্রগুলি, যেমন এই উদাহরণে দেখানো হয়েছে)। এই কলগুলির জন্য, আপনাকে এমন একটি মডেল ব্যবহার করতে হবে যা প্রম্পটে মিডিয়া সমর্থন করে (যেমন জেমিনি 1.5 ফ্ল্যাশ)।
ইনপুট ফাইলের জন্য প্রয়োজনীয়তা এবং সুপারিশ পর্যালোচনা করতে ভুলবেন না।
আপনি প্রতিক্রিয়াটি স্ট্রিম করতে চান কিনা তা চয়ন করুন ( generateContentStream
) বা সম্পূর্ণ ফলাফল তৈরি না হওয়া পর্যন্ত প্রতিক্রিয়াটির জন্য অপেক্ষা করুন ( generateContent
)৷
স্ট্রিমিং
আপনি মডেল জেনারেশন থেকে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফল পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।
এই উদাহরণটি দেখায় কিভাবে generateContentStream()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে জেনারেট করা টেক্সট স্ট্রিম করতে হয় যাতে টেক্সট এবং একাধিক ছবি অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
guard let image1 = UIImage(systemName: "car") else { fatalError() }
guard let image2 = UIImage(systemName: "car.2") else { fatalError() }
// Provide a text prompt to include with the images
let prompt = "What's different between these pictures?"
// To stream generated text output, call generateContentStream and pass in the prompt
let contentStream = try model.generateContentStream(image1, image2, prompt)
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
স্ট্রিমিং ছাড়াই
বিকল্পভাবে, আপনি স্ট্রিমিংয়ের পরিবর্তে সম্পূর্ণ ফলাফলের জন্য বিকল্পভাবে অপেক্ষা করতে পারেন; মডেলটি পুরো প্রজন্মের প্রক্রিয়াটি সম্পূর্ণ করার পরেই ফলাফলটি ফিরে আসে।
এই উদাহরণটি দেখায় কিভাবে generateContent()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে পাঠ্য তৈরি করতে যাতে পাঠ্য এবং একাধিক চিত্র অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
guard let image1 = UIImage(systemName: "car") else { fatalError() }
guard let image2 = UIImage(systemName: "car.2") else { fatalError() }
// Provide a text prompt to include with the images
let prompt = "What's different between these pictures?"
// To generate text output, call generateContent and pass in the prompt
let response = try await model.generateContent(image1, image2, prompt)
print(response.text ?? "No text in response.")
কীভাবে একটি মিথুন মডেল এবং ঐচ্ছিকভাবে আপনার ব্যবহারের ক্ষেত্রে এবং অ্যাপের জন্য উপযুক্ত একটি অবস্থান চয়ন করবেন তা জানুন।
পাঠ্য এবং একটি ভিডিও থেকে পাঠ্য তৈরি করুন
এই নমুনা চেষ্টা করার আগে নিশ্চিত করুন যে আপনি এই গাইডের শুরু করার আগে বিভাগটি সম্পূর্ণ করেছেন।
আপনি মাল্টিমোডাল প্রম্পট সহ Gemini API কল করতে পারেন যাতে পাঠ্য এবং ভিডিও ফাইল(গুলি) উভয়ই অন্তর্ভুক্ত থাকে (যেমন এই উদাহরণে দেখানো হয়েছে)। এই কলগুলির জন্য, আপনাকে এমন একটি মডেল ব্যবহার করতে হবে যা প্রম্পটে মিডিয়া সমর্থন করে (যেমন জেমিনি 1.5 ফ্ল্যাশ)।
ইনপুট ফাইলের জন্য প্রয়োজনীয়তা এবং সুপারিশ পর্যালোচনা করতে ভুলবেন না।
আপনি প্রতিক্রিয়াটি স্ট্রিম করতে চান কিনা তা চয়ন করুন ( generateContentStream
) বা সম্পূর্ণ ফলাফল তৈরি না হওয়া পর্যন্ত প্রতিক্রিয়াটির জন্য অপেক্ষা করুন ( generateContent
)৷
স্ট্রিমিং
আপনি মডেল জেনারেশন থেকে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে দ্রুত মিথস্ক্রিয়া অর্জন করতে পারেন এবং পরিবর্তে আংশিক ফলাফল পরিচালনা করতে স্ট্রিমিং ব্যবহার করতে পারেন।
এই উদাহরণটি দেখায় কিভাবে generateContentStream()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে জেনারেট করা পাঠ্য স্ট্রীম করতে হয় যাতে পাঠ্য এবং একটি একক ভিডিও অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
// Provide the video as `Data` with the appropriate MIME type
let video = InlineDataPart(data: try Data(contentsOf: videoURL), mimeType: "video/mp4")
// Provide a text prompt to include with the video
let prompt = "What is in the video?"
// To stream generated text output, call generateContentStream with the text and video
let contentStream = try model.generateContentStream(video, prompt)
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
স্ট্রিমিং ছাড়াই
বিকল্পভাবে, আপনি স্ট্রিমিংয়ের পরিবর্তে সম্পূর্ণ ফলাফলের জন্য অপেক্ষা করতে পারেন; মডেলটি পুরো প্রজন্মের প্রক্রিয়াটি সম্পূর্ণ করার পরেই ফলাফলটি ফিরে আসে।
এই উদাহরণটি দেখায় কিভাবে generateContent()
ব্যবহার করে একটি মাল্টিমোডাল প্রম্পট অনুরোধ থেকে পাঠ্য তৈরি করতে যাতে পাঠ্য এবং একটি একক ভিডিও অন্তর্ভুক্ত থাকে:
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
let model = vertex.generativeModel(modelName: "gemini-1.5-flash")
// Provide the video as `Data` with the appropriate MIME type.
let video = InlineDataPart(data: try Data(contentsOf: videoURL), mimeType: "video/mp4")
// Provide a text prompt to include with the video
let prompt = "What is in the video?"
// To generate text output, call generateContent with the text and video
let response = try await model.generateContent(video, prompt)
print(response.text ?? "No text in response.")
কীভাবে একটি মিথুন মডেল এবং ঐচ্ছিকভাবে আপনার ব্যবহারের ক্ষেত্রে এবং অ্যাপের জন্য উপযুক্ত একটি অবস্থান চয়ন করবেন তা জানুন।
ইনপুট ফাইলের জন্য প্রয়োজনীয়তা এবং সুপারিশ
নিম্নলিখিত বিষয়ে জানতে Vertex AI Gemini API এর জন্য সমর্থিত ইনপুট ফাইল এবং প্রয়োজনীয়তা দেখুন:
- একটি অনুরোধে একটি ফাইল প্রদানের জন্য বিভিন্ন বিকল্প
- সমর্থিত ফাইল প্রকার
- সমর্থিত MIME প্রকার এবং কিভাবে সেগুলি নির্দিষ্ট করতে হয়৷
- ফাইল এবং মাল্টিমোডাল অনুরোধের জন্য প্রয়োজনীয়তা এবং সর্বোত্তম অনুশীলন
আপনি আর কি করতে পারেন?
- মডেলে দীর্ঘ প্রম্পট পাঠানোর আগে কীভাবে টোকেন গণনা করবেন তা শিখুন।
- Cloud Storage for Firebase সেট আপ করুন যাতে আপনি আপনার মাল্টিমোডাল অনুরোধগুলিতে বড় ফাইলগুলি অন্তর্ভুক্ত করতে পারেন এবং প্রম্পটে ফাইলগুলি সরবরাহ করার জন্য আরও পরিচালিত সমাধান পেতে পারেন৷ ফাইলগুলিতে ছবি, পিডিএফ, ভিডিও এবং অডিও অন্তর্ভুক্ত থাকতে পারে।
- Gemini API অননুমোদিত ক্লায়েন্টদের অপব্যবহার থেকে রক্ষা করতে Firebase App Check সেট আপ সহ উত্পাদনের জন্য প্রস্তুতির বিষয়ে চিন্তা করা শুরু করুন৷
Gemini API এর অন্যান্য ক্ষমতা ব্যবহার করে দেখুন
- মাল্টি-টার্ন কথোপকথন তৈরি করুন (চ্যাট) ।
- শুধুমাত্র পাঠ্য প্রম্পট থেকে পাঠ্য তৈরি করুন।
- টেক্সট এবং মাল্টিমোডাল প্রম্পট উভয় থেকে কাঠামোগত আউটপুট (যেমন JSON) তৈরি করুন।
- বাহ্যিক সিস্টেম এবং তথ্যের সাথে জেনারেটিভ মডেল সংযোগ করতে ফাংশন কলিং ব্যবহার করুন।
বিষয়বস্তু তৈরি নিয়ন্ত্রণ কিভাবে শিখুন
- সর্বোত্তম অনুশীলন, কৌশল এবং উদাহরণ প্রম্পট সহ প্রম্পট ডিজাইন বুঝুন ।
- তাপমাত্রা এবং সর্বোচ্চ আউটপুট টোকেন মত মডেল প্যারামিটার কনফিগার করুন ।
- ক্ষতিকারক বলে বিবেচিত প্রতিক্রিয়া পাওয়ার সম্ভাবনা সামঞ্জস্য করতে নিরাপত্তা সেটিংস ব্যবহার করুন ।
মিথুন মডেল সম্পর্কে আরও জানুন
বিভিন্ন ব্যবহারের ক্ষেত্রে উপলব্ধ মডেল এবং তাদের কোটা এবং মূল্য সম্পর্কে জানুন।Vertex AI in Firebase এর সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত দিন