অন-ডিভাইস এবং ক্লাউড-হোস্টেড মডেল ব্যবহার করে অ্যাপল অ্যাপে হাইব্রিড অভিজ্ঞতা তৈরি করুন।

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

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

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

সুপারিশকৃত ব্যবহারের ক্ষেত্রসমূহ

  • ইনফারেন্সের জন্য অন-ডিভাইস মডেল ব্যবহারের সুবিধাগুলো হলো:

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

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

সমর্থিত সক্ষমতা, এপিআই এবং ডিভাইস

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

অন-ডিভাইস ইনফারেন্সের জন্য সমর্থিত ক্ষমতা এবং বৈশিষ্ট্যসমূহ

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

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

সমর্থিত এপিআই এবং ডিভাইস

শুরু করুন

সমর্থিত সক্ষমতা, এপিআই এবং ডিভাইস সম্পর্কিত উপরের অংশটি আপনি পর্যালোচনা করেছেন কিনা তা নিশ্চিত করুন।

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

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

  1. Firebase কনসোলে সাইন ইন করুন এবং তারপরে আপনার ফায়ারবেস প্রজেক্টটি নির্বাচন করুন।

  2. Firebase কনসোলে, AI Services > AI Logic- এ যান।

  3. আপনার প্রোজেক্টের জন্য প্রয়োজনীয় এপিআই ও রিসোর্স সেট আপ করতে সাহায্যকারী একটি নির্দেশিত ওয়ার্কফ্লো চালু করতে 'Get started'- এ ক্লিক করুন।

  4. আপনার প্রজেক্টটি একটি ' Gemini API ' প্রোভাইডার ব্যবহার করার জন্য সেট আপ করুন।

    আমরা জেমিনি ডেভেলপার এপিআই (Gemini Developer API) ব্যবহার করে কাজ শুরু করার পরামর্শ দিই। আপনি যেকোনো সময়ে ভার্টেক্স এআই জেমিনি এপিআই ( Vertex AI Gemini API) (এবং বিলিংয়ের জন্য এর প্রয়োজনীয়তা) সেট আপ করে নিতে পারেন।

    জেমিনি ডেভেলপার এপিআই- এর জন্য, কনসোলটি প্রয়োজনীয় এপিআইগুলো সক্রিয় করবে এবং আপনার প্রোজেক্টে একটি জেমিনি এপিআই কী তৈরি করবে।
    এই জেমিনি এপিআই কী-টি আপনার অ্যাপের কোডবেসে যোগ করবেন না আরও জানুন।

  5. কনসোলের ওয়ার্কফ্লোতে নির্দেশ দেওয়া হলে, আপনার অ্যাপটি রেজিস্টার করতে এবং ফায়ারবেসের সাথে সংযুক্ত করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

  6. আপনার অ্যাপে SDK যোগ করতে এই নির্দেশিকার পরবর্তী ধাপে যান।

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

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

ফায়ারবেস এআই লজিক লাইব্রেরিটি জেনারেটিভ মডেলের সাথে ইন্টারঅ্যাক্ট করার জন্য এপিআই-গুলোতে অ্যাক্সেস প্রদান করে। এই লাইব্রেরিটি অ্যাপল প্ল্যাটফর্মের জন্য ফায়ারবেস এসডিকে ( firebase-ios-sdk )-এর অংশ হিসেবে অন্তর্ভুক্ত রয়েছে।

আপনি যদি ইতিমধ্যেই Firebase ব্যবহার করে থাকেন, তাহলে নিশ্চিত করুন যে আপনার Firebase প্যাকেজটি v12.13.0 বা তার পরবর্তী সংস্করণ।

  1. Xcode-এ আপনার অ্যাপ প্রজেক্টটি খুলে, File > Add Package Dependencies -এ যান।

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

    https://github.com/firebase/firebase-ios-sdk
    
  3. সর্বশেষ SDK সংস্করণটি নির্বাচন করুন।

  4. FirebaseAILogic লাইব্রেরিটি নির্বাচন করুন।

কাজ শেষ হলে, Xcode স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে আপনার ডিপেন্ডেন্সিগুলো রিজলভ ও ডাউনলোড করা শুরু করবে।

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

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

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

  1. আপনার নির্বাচিত জেমিনি এপিআই প্রদানকারীর জন্য পরিষেবাটি চালু করুন।

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

  3. আপনার পছন্দ অনুযায়ী primarysecondary মডেল নির্ধারণ করুন। আপনি অনুমানের চেষ্টার ক্রম নির্ধারণ করতে পারেন:

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

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

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

    কনফিগারেশন অপশন -এ ‘ইনফারেন্স মোড’ (ইনফারেন্স চেষ্টার ক্রম)-এর আচরণ সম্পর্কে আরও জানুন।

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

// 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 বা ক্লাউড-হোস্টেড মডেলের সব কার্যকারিতা এতে সমর্থিত নয়।

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

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

    • ছবি, অডিও, ভিডিও এবং ডকুমেন্ট (পিডিএফ)-এর মতো মাল্টিমোডাল ইনপুট থেকে টেক্সট তৈরি করা।

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

    • ৪০৯৬ টোকেনের (বা প্রায় ৩০০০ ইংরেজি শব্দের) বেশি দৈর্ঘ্যের অনুরোধ পাঠানো হচ্ছে।

    • ডিভাইস-ভিত্তিক মডেলটিকে তার প্রতিক্রিয়া তৈরি করতে সাহায্য করার জন্য অন্তর্নির্মিত সরঞ্জাম সরবরাহ করা (যেমন কোড এক্সিকিউশন, ইউআরএল কনটেক্সট, এবং গুগল সার্চের মাধ্যমে গ্রাউন্ডিং)।

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

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

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


Firebase AI Logic ব্যবহারের অভিজ্ঞতা সম্পর্কে মতামত দিন।