ডিভাইসে ও ক্লাউড-হোস্ট করা মডেলের সাহায্যে Apple অ্যাপে হাইব্রিড অভিজ্ঞতা তৈরি করা

আপনি Firebase AI Logic ব্যবহার করে হাইব্রিড ইনফারেন্সের মাধ্যমে AI-পরিচালিত Apple অ্যাপ ও ফিচার তৈরি করতে পারবেন। হাইব্রিড ইনফারেন্স, উপলভ্য থাকলে অন-ডিভাইস মডেল (বিশেষত Apple-এর Foundation Models ফ্রেমওয়ার্ক) ব্যবহার করে ইনফারেন্স রান করার সুবিধা দেয় এবং অন্যথায় ক্লাউড-হোস্টেড Google মডেলে নির্বিঘ্নে ফিরে যায় (এবং এর উল্টোটাও হয়)।

এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে ক্লায়েন্ট SDK ব্যবহার করা শুরু করবেন, এর পাশাপাশি অতিরিক্ত কনফিগারেশন বিকল্প ও ক্ষমতা যেমন তাপমাত্রা দেখানো হয়েছে।

মনে রাখবেন, Firebase AI Logic-এর মাধ্যমে অন-ডিভাইস ইনফারেন্স Firebase AI Logic SDK v12.13.0+ ব্যবহার করে এবং Apple Intelligence চালু থাকা ডিভাইসে রান করা Apple অ্যাপের জন্য কাজ করে। এটি Apple-এর ফাউন্ডেশন মডেল ফ্রেমওয়ার্কের জন্য গ্রহণযোগ্য ব্যবহারের প্রয়োজনীয়তা দ্বারা পরিচালিত হয়।

সাজেস্ট করা ব্যবহারের ক্ষেত্র

  • অনুমানের জন্য অন-ডিভাইস মডেল ব্যবহার করলে এইসব সুবিধা পাওয়া যায়:

    • উন্নত গোপনীয়তা
    • কোনও খরচ ছাড়াই ইনফারেন্স
    • অফলাইন কার্যকারিতা
  • হাইব্রিড ফাংশনালিটি ব্যবহার করে এইসব সুবিধা পাওয়া যায়:

    • শেষ ব্যবহারকারীর ডিভাইস নির্বিশেষে সব গ্রাহককে একই ধরনের অ্যাপ অভিজ্ঞতা প্রদান করা
    • ইন্টারনেট কানেক্টিভিটি, কোটা সংক্রান্ত সীমাবদ্ধতা বা ডিভাইসের ক্ষমতা নির্বিশেষে জেনারেটিভ AI ফিচারের উপলভ্যতা উন্নত করা

কাজ করে এমন ফিচার, API ও ডিভাইস

Firebase AI Logic ব্যবহার করে হাইব্রিড ও অন-ডিভাইস ইনফারেন্স প্রয়োগ করার আগে, Apple অ্যাপের জন্য কী কী কাজ করে তা বুঝতে এই বিভাগ পর্যালোচনা করুন।

অন-ডিভাইস ইনফারেন্সের জন্য কাজ করে এমন ক্ষমতা ও ফিচার

অন-ডিভাইস ইনফারেন্স শুধুমাত্র টেক্সট জেনারেশন, বিশেষ করে নিম্নলিখিত টেক্সট-জেনারেশন ক্ষমতাকে সাপোর্ট করে:

এই পৃষ্ঠার নিচে এখনও কাজ করে না এমন হাইব্রিড বা অন-ডিভাইস ইনফারেন্স -এর বিস্তারিত তালিকা পর্যালোচনা করতে ভুলবেন না।

কাজ করে এমন API ও ডিভাইস

শুরু করুন

কাজ করে এমন ক্ষমতা, API ও ডিভাইস সম্পর্কে উপরে দেওয়া বিবরণ আপনি পড়েছেন কিনা তা নিশ্চিত করুন।

এই শুরু করার ধাপগুলি আপনি পাঠাতে চান এমন যেকোনও কাজ করে এমন প্রম্পট অনুরোধের জন্য প্রয়োজনীয় সাধারণ সেট-আপ বর্ণনা করে।

ধাপ ১: Firebase প্রোজেক্ট সেট-আপ করুন এবং Firebase-এর সাথে আপনার অ্যাপ কানেক্ট করুন

  1. Firebase কনসোলে সাইন-ইন করুন, এবং তারপর আপনার Firebase প্রোজেক্ট বেছে নিন।

  2. Firebase কনসোলে, AI পরিষেবা > AI লজিক বিকল্পে যান।

  3. আপনার প্রোজেক্টের জন্য প্রয়োজনীয় API ও রিসোর্স সেট-আপ করতে সাহায্য করে এমন নির্দেশিত ওয়ার্কফ্লো লঞ্চ করতে, শুরু করুন বিকল্পে ক্লিক করুন।

  4. প্রম্পট করা হলে, আপনার অ্যাপ রেজিস্টার করতে এবং অ্যাপে Firebase কনফিগারেশন যোগ করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।

  5. "Gemini API প্রদানকারী" বেছে নিতে বলা হলে, আমরা Gemini Developer API বেছে নেওয়ার সাজেশন দিই, এটি আপনাকে কোনও খরচ ছাড়াই দ্রুত শুরু করতে দেয়।

    পরে যেকোনও সময়, আপনি সবসময় Agent Platform Gemini API (formerly Vertex AI) সেট-আপ করতে পারবেন (এবং বিলিংয়ের জন্য এর প্রয়োজনীয়তা)।

  6. Firebase AI Logic-এর জন্য প্রয়োজনীয় API ও সংশ্লিষ্ট পরিষেবা সেট-আপ করতে ওয়ার্কফ্লোতে চালিয়ে যান।

    ২০২৬ সালের জুলাই মাসের শুরু থেকে, ওয়ার্কফ্লোয়ের এই পর্যায়ে AI Logic-এর জন্য অটোমেটিক এনফোর্সমেন্ট Firebase App Check প্রয়োগ করা হবে, যা Gemini API সুরক্ষিত রাখার জন্য একটি গুরুত্বপূর্ণ পরিষেবা, যখন এটি আপনার অ্যাপ থেকে সরাসরি অ্যাক্সেস করা হয়। শুরু করার অংশ হিসেবে (এই গাইডে পরে ধাপগুলি দেখুন), App Check এনফোর্স করা হলে, লোকাল ডেভেলপমেন্টের জন্য আপনাকে App Check ডিবাগ প্রোভাইডার কনফিগার করতে হবে।

  7. আপনার অ্যাপে প্রয়োজনীয় SDK যোগ করতে, এই গাইডের পরবর্তী ধাপ অনুসরণ করুন।

ধাপ ২: প্রয়োজনীয় SDK যোগ করুন

Xcode-এর নির্ভরতা ইনস্টল ও ম্যানেজ করতে Swift Package Manager (SPM) ব্যবহার করুন। SPM ব্যবহার করলেই শুধুমাত্র হাইব্রিড সাপোর্ট উপলভ্য হয়।

Firebase AI Logic লাইব্রেরি জেনারেটিভ মডেলের সাথে ইন্টার‍্যাক্ট করার জন্য API-তে অ্যাক্সেস প্রদান করে। লাইব্রেরিটি Apple প্ল্যাটফর্মের (firebase-ios-sdk) জন্য Firebase SDK-এর অংশ হিসেবে অন্তর্ভুক্ত করা হয়েছে।

আপনি আগে থেকেই Firebase ব্যবহার করলে, Firebase প্যাকেজ v12.13.0 বা তার পরের ভার্সন কিনা তা দেখে নিন।

  1. Xcode-এ, আপনার অ্যাপ প্রোজেক্ট খোলা থাকা অবস্থায়, ফাইল > প্যাকেজ ডিপেন্ডেন্সি যোগ করুন বিকল্পে নেভিগেট করুন।

  2. প্রম্পট করা হলে, Firebase Apple প্ল্যাটফর্ম SDK রিপোজিটরি যোগ করুন:

    https://github.com/firebase/firebase-ios-sdk
    
  3. লেটেস্ট SDK ভার্সন বেছে নিন।

  4. FirebaseAILogic ও FirebaseAppCheck লাইব্রেরি বেছে নিন।

সম্পূর্ণ হয়ে গেলে, Xcode অটোমেটিক আপনার ডিপেন্ডেন্সি সমাধান করা ও ডাউনলোড করা শুরু করবে।

ধাপ ৩: লোকাল ডেভেলপমেন্টের জন্য App Check ডিবাগ প্রোভাইডার কনফিগার করুন

২০২৬ সালের জুলাই মাসের শুরু থেকে, কনসোলে AI Logic-এর জন্য গাইডেড সেট-আপ ওয়ার্কফ্লোর অংশ হিসেবে, Gemini API সুরক্ষিত রাখতে Firebase App Check অটোমেটিক এনফোর্স করা হয়। লোকাল ডেভেলপমেন্টের জন্য, আপনাকে App Check ডিবাগ প্রোভাইডার কনফিগার করতে হবে যাতে App Check-এর এনফোর্সমেন্ট বজায় রেখেই অ্যাটেস্টেশন বাইপাস করা যায়।

সিমুলেটরে ইন্টার‍্যাক্টিভভাবে (যেমন, লোকাল ডেভেলপমেন্টের সময়) আপনার অ্যাপ চালানোর সময় কীভাবে ডিবাগ প্রোভাইডার ব্যবহার করবেন তা এখানে দেওয়া হল:

  1. আপনার Xcode প্রোজেক্টে, FirebaseAppCheck ইমপোর্ট করুন এবং Firebase কনফিগার করার আগে ডিবাগ প্রোভাইডার ফ্যাক্টরির সাথে App Check ইনিশিয়ালাইজ করুন।

    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct YourApp: App {
      init() {
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    
  2. আপনার ডিবাগ টোকেন পান:

    1. সিমুলেটর বা আপনার টেস্ট ডিভাইসে অ্যাপ লঞ্চ করুন।

    2. Xcode কনসোল খুলুন এবং App Check ডিবাগ টোকেন খুঁজুন। যেমন:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. টোকেন কপি করুন (যেমন, 123a4567-b89c-12d3-e456-789012345678)।

  3. App Check-এর সাথে আপনার ডিবাগ টোকেন রেজিস্টার করুন:

    1. Firebase কনসোলে, সুরক্ষা > অ্যাপ চেক > অ্যাপ ট্যাব বিকল্পে যান।

    2. আপনার অ্যাপ খুঁজে নিন, ওভারফ্লো মেনুতে () ক্লিক করুন এবং তারপরে ডিবাগ টোকেন ম্যানেজ করুন বিকল্প বেছে নিন।

    3. আপনার ডিবাগ টোকেন রেজিস্টার করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।

ডিবাগ প্রদানকারী সম্পর্কে আরও তথ্য (নতুন ডিবাগ টোকেন কীভাবে পাবেন তা সহ) পেতে, অফিসিয়াল App Check ডকুমেন্ট দেখুন।

ধাপ ৪: পরিষেবা চালু করুন এবং মডেল সেশন ইনস্ট্যান্স তৈরি করুন

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

মডেলকে প্রম্পট অনুরোধ পাঠানোর আগে নিম্নলিখিত বিষয়গুলি সেট-আপ করুন।

  1. আপনার বেছে নেওয়া Gemini API প্রদানকারীর জন্য পরিষেবা শুরু করুন।

  2. HybridModel-এর সাথে GenerativeModelSession ইনস্ট্যান্স তৈরি করুন।

  3. আপনার পছন্দ অনুযায়ী primary ও secondary মডেল সেট করুন। আপনি অনুমান করার চেষ্টার ক্রম সেট করতে পারবেন:

    • প্রথমে অন-ডিভাইস ইনফারেন্সের চেষ্টা করুন, তবে ক্লাউডে ফলব্যাক করার অনুমতি দিন: primary-কে "সিস্টেম" মডেল এবং secondary-কে ক্লাউড মডেলে সেট করুন।

    • প্রথমে ইন-ক্লাউড ইনফারেন্স করার চেষ্টা করো, তবে ফলব্যাক হিসেবে অন-ডিভাইস করার অনুমতি দাও: primary-কে ক্লাউড মডেল এবং secondary-কে "সিস্টেম" মডেল হিসেবে সেট করো।

    মনে রাখবেন, SDK শুধুমাত্র একটি model সেট করার সুবিধা দেয়, যার অর্থ হল SDK শুধুমাত্র ডিভাইসে বা ক্লাউডে ইনফারেন্স করার চেষ্টা করবে। তবে, হাইব্রিড অভিজ্ঞতার জন্য, আপনাকে একটি HybridModel তৈরি করতে হবে এবং primary ও secondary উভয় মডেল সেট করতে হবে।

    "ইনফারেন্স মোড" (চেষ্টা করা ইনফারেন্সের ক্রম) কীভাবে কাজ করে সেই সম্পর্কে কনফিগারেশন বিকল্প থেকে আরও জানুন।

নিচের উদাহরণে দেখানো হয়েছে যে কীভাবে প্রথমে ডিভাইসে ইনফারেন্স করার চেষ্টা করতে হয়, কিন্তু ক্লাউড-হোস্টেড মডেলে ফল ব্যাক করার অনুমতি দিতে হয়:

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Initialize a cloud model that supports your use case.
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case.
let systemModel = FirebaseAI.SystemLanguageModel.default

// Create a Hybrid Model.
// Provide your preferred model as `primary` and your fallback model as `secondary`.
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
  primary: systemModel,
  secondary: cloudModel
)

// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
  model: hybridModel,
)

ধাপ ৫: কোনও মডেলে প্রম্পট অনুরোধ পাঠান

এই বিভাগে আপনি নিম্নলিখিত কাজগুলি কীভাবে করবেন তা দেখানো হয়েছে:

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

এই নমুনা চেষ্টা করার আগে, নিশ্চিত করুন যে আপনি এই নির্দেশিকার শুরু করা যাক বিভাগটি সম্পূর্ণ করেছেন।

টেক্সট আছে এমন প্রম্পট থেকে টেক্সট তৈরি করতে, respond(to:) এইভাবে ব্যবহার করুন:

// Imports + initialization of Gemini API backend service + creation of model session

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

// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)

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

এই নমুনা চেষ্টা করার আগে, নিশ্চিত করুন যে আপনি এই নির্দেশিকার শুরু করা যাক বিভাগটি সম্পূর্ণ করেছেন।

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

// Imports + initialization of Gemini API backend service + creation of model session

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

// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
  print(snapshot.content)
}

তুমি আর কী কী করতে পারো?

আপনার হাইব্রিড অভিজ্ঞতার জন্য আপনি বিভিন্ন অতিরিক্ত কনফিগারেশন বিকল্প ও ক্ষমতা ব্যবহার করতে পারবেন:

হাইব্রিড বা অন-ডিভাইস ইনফারেন্সের জন্য এখনও কাজ করে না এমন ফিচার

পরীক্ষামূলক রিলিজ হিসেবে, Firebase AI Logic-এর সব ক্ষমতা বা ক্লাউড-হোস্ট করা মডেল কাজ করে না।

  • নিম্নলিখিতগুলি হাইব্রিড বা অন-ডিভাইস ইমপ্লিমেন্টেশনের জন্য কাজ করে না: Gemini Live API এবং সার্ভার প্রম্পট টেমপ্লেট। এছাড়াও, টোকেন গণনার উপর নির্ভর করা উচিত নয় কারণ ক্লাউড-হোস্টেড এবং অন-ডিভাইস মডেলের মধ্যে গণনা আলাদা হবে, তাই কোনও স্বজ্ঞাত ফল ব্যাক নেই।

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

    • ছবি, অডিও, ভিডিও ও ডকুমেন্টের (PDF) মতো মাল্টিমোডাল ইনপুট থেকে টেক্সট জেনারেট করা

    • ছবি, অডিও বা ভিডিওর মতো মিডিয়া তৈরি করা

    • ৪০৯৬ টোকেন (বা প্রায় ৩০০০ ইংরেজি শব্দ) অতিক্রম করে এমন অনুরোধ পাঠানো।

    • উত্তর জেনারেট করতে সাহায্য করার জন্য বিল্ট-ইন টুল সহ অন-ডিভাইস মডেল প্রদান করা (যেমন, কোড এক্সিকিউশন, URL প্রসঙ্গ এবং Google Search-এর সাথে গ্রাউন্ডিং)

  • Firebase কনসোলে AI মনিটরিং অন-ডিভাইস ইনফারেন্সের (অন-ডিভাইস লগ সহ) জন্য কোনও ডেটা দেখায় না। তবে, ক্লাউড-হোস্টেড মডেল ব্যবহার করে এমন যেকোনও ইনফারেন্সকে Firebase AI Logic-এর মাধ্যমে অন্যান্য ইনফারেন্সের মতো মনিটর করা যেতে পারে।

অতিরিক্ত সীমাবদ্ধতা

উপরে উল্লিখিত বিষয়গুলি ছাড়াও, ডিভাইসে ইনফারেন্সের নিম্নলিখিত সীমাবদ্ধতা আছে:

  • আপনার অ্যাপের এন্ড-ইউজারকে অবশ্যই Apple Intelligence চালু থাকা ডিভাইস ব্যবহার করতে হবে।

  • আপনার অ্যাপ ফোরগ্রাউন্ডে থাকলে তবেই সেটি অন-ডিভাইস ইনফারেন্স চালাতে পারবে।


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