অ্যাপলের ফাউন্ডেশন মডেলস ফ্রেমওয়ার্কের মাধ্যমে জেমিনি এপিআই অ্যাক্সেস করার সময় উপলব্ধ সক্ষমতাসমূহ


এই পৃষ্ঠার উদাহরণগুলো ধরে নেয় যে আপনি "শুরু করুন: অ্যাপলের ফাউন্ডেশন মডেলস ফ্রেমওয়ার্কের মাধ্যমে জেমিনি এপিআই অ্যাক্সেস করুন" সম্পন্ন করেছেন।


এই নির্দেশিকাটি আপনাকে দেখাবে কিভাবে অ্যাপল প্ল্যাটফর্মের জন্য ফায়ারবেস এআই লজিক এসডিকে ব্যবহার করে অ্যাপলের ফাউন্ডেশন মডেলস ফ্রেমওয়ার্কের মাধ্যমে জেমিনি এপিআই -তে বিভিন্ন ধরণের অনুরোধ পাঠাতে হয়।

এই পৃষ্ঠায় নিম্নলিখিত ধরনের অনুরোধগুলি কীভাবে পাঠাতে হয় তার উদাহরণ দেখানো হয়েছে:



টেক্সট তৈরি করুন

জেমিনি মডেলগুলো টেক্সট তৈরির জন্য নিম্নলিখিত সক্ষমতাগুলো সমর্থন করে:

যে মডেলগুলো এই সক্ষমতা সমর্থন করে

  • gemini-3.1-pro-preview
  • gemini-3.5-flash
  • gemini-3.1-flash-lite

শুধুমাত্র টেক্সট ইনপুট থেকে টেক্সট তৈরি করুন

এই পৃষ্ঠায় প্রদানকারী-নির্দিষ্ট বিষয়বস্তু এবং কোড দেখতে আপনার জেমিনি এপিআই প্রদানকারীর উপর ক্লিক করুন।

আপনি শুধুমাত্র টেক্সট ইনপুট দিয়ে একটি জেমিনি মডেলকে টেক্সট তৈরি করতে বলতে পারেন।

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")

// Provide a prompt that contains text.
let prompt = "Write a story about a magic backpack."

// Create a session by injecting the model into Apple's `LanguageModelSession`.
// For a single-turn interaction, create a new session each time you call the model.
let session = LanguageModelSession(model: model)

// Generate a text response to the prompt.
let response = try await session.respond(to: prompt)
print(response.content)

প্রতিক্রিয়াটি স্ট্রিম করুন

মডেল জেনারেশনের সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে, তার পরিবর্তে আংশিক ফলাফল হ্যান্ডেল করার জন্য স্ট্রিমিং ব্যবহার করে আপনি আরও দ্রুত ইন্টারঅ্যাকশন করতে পারেন। রেসপন্স স্ট্রিম করতে, respond(to:) streamResponse(to:) :) ব্যবহার করুন।

// imports
// initialization of Gemini API backend service and a `geminiLanguageModel`

// Provide a prompt that contains text.
let prompt = "Write a story about a magic backpack."

// Create a session by injecting the model into Apple's `LanguageModelSession`.
// For a single-turn interaction, create a new session each time you call the model.
let session = LanguageModelSession(model: model)

// Generate a text response to the prompt.
// To stream the response, use `streamResponse(to:)` instead of `respond(to:)`
let stream = session.streamResponse(to: "Write a story about a magic backpack.")
var response = ""
for try await snapshot in stream {
  // The snapshot contains *all* content generated so far.
  response = snapshot.content
}

একাধিক পালা সেশনের (চ্যাট) সময় টেক্সট তৈরি করুন

এই পৃষ্ঠায় প্রদানকারী-নির্দিষ্ট বিষয়বস্তু এবং কোড দেখতে আপনার জেমিনি এপিআই প্রদানকারীর উপর ক্লিক করুন।

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")

// Create a session by injecting the model into Apple's `LanguageModelSession`.
// The session maintains state between each request.
let session = LanguageModelSession(model: model)

// Generate a text response to an initial prompt.
let response = try await session.respond(to: "Hello! I'd like to learn more about Albert Einstein.")
print(response.content)  // Example response from model: "What would you like to know?"

// Continue using the existing session. Each prompt and response is added to the transcript.
let response2 = try await session.respond(to: "When was he born?")
print(response2.content)  // Example response from model: "March 14, 1879"

মাল্টিমোডাল ইনপুট (যেমন ছবি) থেকে টেক্সট তৈরি করুন

এই পৃষ্ঠায় প্রদানকারী-নির্দিষ্ট বিষয়বস্তু এবং কোড দেখতে আপনার জেমিনি এপিআই প্রদানকারীর উপর ক্লিক করুন।

আপনি টেক্সট এবং একটি ফাইল, যেমন একটি ছবি বা পিডিএফ, দিয়ে জেমিনি মডেলকে টেক্সট তৈরি করতে বলতে পারেন।

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")

// Create a session by injecting the model into Apple's `LanguageModelSession`.
// For a single-turn interaction, create a new session each time you call the model.
let session = LanguageModelSession(model: model)

let cgImage: CGImage = // ... fetch CGImage from your datasource.
let response = try await session.respond {
  "What are the dominant colors of this image, in order?"
  Attachment(cgImage)
}
print(response.content)

প্রতিক্রিয়াটি স্ট্রিম করুন

মডেল জেনারেশনের সম্পূর্ণ ফলাফলের জন্য অপেক্ষা না করে, তার পরিবর্তে আংশিক ফলাফল হ্যান্ডেল করার জন্য স্ট্রিমিং ব্যবহার করে আপনি আরও দ্রুত ইন্টারঅ্যাকশন অর্জন করতে পারেন। রেসপন্স স্ট্রিম করতে, ` respond এর পরিবর্তে streamResponse ব্যবহার করুন।

// imports
// initialization of Gemini API backend service and a `geminiLanguageModel`

// Create a session by injecting the model into Apple's `LanguageModelSession`.
// For a single-turn interaction, create a new session each time you call the model.
let session = LanguageModelSession(model: model)

let cgImage: CGImage = // ... fetch CGImage from your datasource.
let stream = session.streamResponse {
  "What are the dominant colors of this image, in order?"
  Attachment(cgImage)
}

var response = ""
for try await snapshot in stream {
  // The snapshot contains *all* content generated so far.
  response = snapshot.content
}
print(response)



"ন্যানো ব্যানানা" মডেল ব্যবহার করে ছবি তৈরি করুন।

এই পৃষ্ঠায় প্রদানকারী-নির্দিষ্ট বিষয়বস্তু এবং কোড দেখতে আপনার জেমিনি এপিআই প্রদানকারীর উপর ক্লিক করুন।

যে মডেলগুলো এই সক্ষমতা সমর্থন করে

  • gemini-3-pro-image (ওরফে "ন্যানো বানানা প্রো")
  • gemini-3.1-flash-image (ওরফে "ন্যানো বানানা ২")

আপনি শুধুমাত্র টেক্সট ইনপুট দিয়ে একটি জেমিনি ইমেজ-জেনারেটিং মডেলকে (যেমন একটি 'ন্যানো ব্যানানা' মডেল) একটি ছবি তৈরি করতে বলতে পারেন।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে শুধুমাত্র একটি ছবি তৈরি করতে হয়, কিন্তু জেমিনি ছবি তৈরির মডেলগুলো ছবি এবং লেখা উভয়ই তৈরি করতে পারে।

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini image-generating model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.1-flash-image"
    options:
      GeminiGenerationOptions(responseModalities: .image)
)

let session = LanguageModelSession(model: model)
let response = try await session.respond(
          to: "Generate an image of the Eiffel tower with fireworks in the background."
        )

var generatedImage: CIImage?
// Find the image in the transcriptEntries.
for entry in response.transcriptEntries {
  if case let .response(response) = entry {
    for segment in response.segments {
      if case let .attachment(attachment) = segment,
          case let .image(image) = attachment.content {
        generatedImage = image.ciImage
      }
    }
  }
}



কাঠামোগত JSON আউটপুট তৈরি করুন

এই পৃষ্ঠায় প্রদানকারী-নির্দিষ্ট বিষয়বস্তু এবং কোড দেখতে আপনার জেমিনি এপিআই প্রদানকারীর উপর ক্লিক করুন।

যে মডেলগুলো এই সক্ষমতা সমর্থন করে

  • gemini-3.1-pro-preview
  • gemini-3.5-flash
  • gemini-3.1-flash-lite
  • gemini-3-pro-image

জেমিনি মডেলগুলো ডিফল্টরূপে প্রতিক্রিয়াগুলো অসংগঠিত টেক্সট হিসেবে ফেরত দেয়। তবে, কিছু ব্যবহারের ক্ষেত্রে JSON-এর মতো সংগঠিত টেক্সটের প্রয়োজন হয়। উদাহরণস্বরূপ, আপনি হয়তো প্রতিক্রিয়াটি এমন অন্যান্য পরবর্তী কাজের জন্য ব্যবহার করছেন, যেগুলোর জন্য একটি প্রতিষ্ঠিত ডেটা স্কিমা প্রয়োজন।

আপনার সরবরাহ করা একটি JSON স্কিমা অনুযায়ী মডেলটিকে তার প্রতিক্রিয়া ফরম্যাট করার জন্য আপনি কনফিগার করতে পারেন। স্ট্রাকচার্ড JSON আউটপুট তৈরির বিশদ বিবরণ, সর্বোত্তম অনুশীলন এবং ব্যবহারের ক্ষেত্রগুলির জন্য, সাধারণ 'স্ট্রাকচার্ড আউটপুট তৈরি করুন' নির্দেশিকাটি দেখুন।

import FoundationModels
import FirebaseCore
import FirebaseAILogic

@Generable(description: "Basic profile information about a cat")
struct CatProfile {
  var name: String
  @Guide(description: "The age of the cat", .range(0 ... 20))
  var age: Int
  @Guide(description: "A one sentence profile about the cat's personality")
  var profile: String
}

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")
let session = LanguageModelSession(model: model)

let response = try await session.respond(
  to: "Generate a cute rescue cat profile with an Elvish theme",
  generating: CatProfile.self
)
let cat = response.content


অ্যাপলের ফাউন্ডেশন মডেলস ফ্রেমওয়ার্কের মাধ্যমে জেমিনি এপিআই অ্যাক্সেস করার বিষয়ে মতামত দিন।