Gemini API এর সাথে মাল্টি-টার্ন কথোপকথন (চ্যাট) তৈরি করুন, Gemini API-এর সাথে মাল্টি-টার্ন কথোপকথন (চ্যাট) তৈরি করুন


Gemini API ব্যবহার করে, আপনি একাধিক বাঁক জুড়ে ফ্রিফর্ম কথোপকথন তৈরি করতে পারেন। Firebase SDK-এর Vertex AI কথোপকথনের অবস্থা পরিচালনা করে প্রক্রিয়াটিকে সহজ করে, তাই generateContentStream() বা generateContent() এর বিপরীতে, আপনাকে কথোপকথনের ইতিহাস নিজেকে সংরক্ষণ করতে হবে না।

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

আপনি যদি ইতিমধ্যেই না করে থাকেন, Firebase SDK-তে Vertex AI-এর জন্য শুরু করার নির্দেশিকাটি সম্পূর্ণ করুন। নিশ্চিত করুন যে আপনি নিম্নলিখিত সমস্ত কাজ করেছেন:

  1. ব্লেজ প্রাইসিং প্ল্যান ব্যবহার করা এবং প্রয়োজনীয় এপিআই সক্ষম করা সহ একটি নতুন বা বিদ্যমান ফায়ারবেস প্রকল্প সেট আপ করুন৷

  2. আপনার অ্যাপটি রেজিস্টার করা এবং আপনার অ্যাপে আপনার Firebase কনফিগার যোগ করা সহ আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করুন।

  3. 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- এর অন্যান্য ক্ষমতা ব্যবহার করে দেখুন

বিষয়বস্তু তৈরি নিয়ন্ত্রণ কিভাবে শিখুন

আপনি Vertex AI Studio ব্যবহার করে প্রম্পট এবং মডেল কনফিগারেশন নিয়ে পরীক্ষা করতে পারেন।

মিথুন মডেল সম্পর্কে আরও জানুন

বিভিন্ন ব্যবহারের ক্ষেত্রে উপলব্ধ মডেল এবং তাদের কোটা এবং মূল্য সম্পর্কে জানুন।


Firebase-এ Vertex AI-এর সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত দিন