Firebase রিমোট কনফিগারেশন সহ Firebase অ্যাপে আপনার Vertex AI গতিশীলভাবে আপডেট করুন

Vertex AI in Firebase ব্যবহার করে আপনার অ্যাপ থেকে Gemini API কল করার সময়, আপনার অনুরোধে অনেকগুলি প্যারামিটার থাকে যা জেনারেটিভ AI প্রতিক্রিয়া নিয়ন্ত্রণ করে। এর মধ্যে সাধারণত মডেলের নাম, মডেল জেনারেশন কনফিগারেশন (সর্বোচ্চ টোকেন, তাপমাত্রা ইত্যাদি), নিরাপত্তা সেটিংস, সিস্টেম নির্দেশাবলী এবং প্রম্পট ডেটা অন্তর্ভুক্ত থাকে।

বেশিরভাগ ক্ষেত্রে, আপনি চাহিদা অনুযায়ী বা বেশ কয়েকটি পরিস্থিতির জন্য প্রয়োজন অনুসারে এইগুলি পরিবর্তন করতে চাইবেন:

  • একটি নতুন অ্যাপ প্রকাশ না করেই আপনার জেনারেটিভ এআই মডেল আপডেট করুন। পূর্ববর্তী সংস্করণগুলি বাতিল হওয়ার আগে আপনি নতুন, স্থিতিশীল মডেল সংস্করণগুলিতে আপগ্রেড করতে পারেন, আপনার ব্যবহারকারীদের চাহিদা এবং বৈশিষ্ট্যগুলির উপর ভিত্তি করে কম খরচে বা উচ্চ কার্যক্ষমতার মডেলগুলিতে নামতে পারেন, বা শর্তসাপেক্ষে নির্দিষ্ট ব্যবহারকারী বিভাগে (যেমন বিটা পরীক্ষক) সর্বশেষ এবং সর্বশ্রেষ্ঠ মডেল স্থাপন করতে পারেন। .
  • আপনি মডেলটি যেখানে অ্যাক্সেস করবেন সেই অবস্থানটি সেট করুন যাতে এটি আপনার ব্যবহারকারীদের কাছাকাছি হয়।
  • A/B বিভিন্ন সিস্টেম নির্দেশাবলী এবং প্রম্পট পরীক্ষা করুন, তারপর ধীরে ধীরে আপনার ব্যবহারকারীদের কাছে বিজয়ী পরীক্ষার মানগুলি রোল আউট করুন।
  • আপনার অ্যাপে জেনারেটিভ AI বৈশিষ্ট্যগুলি দ্রুত প্রকাশ বা লুকানোর জন্য বৈশিষ্ট্য পতাকা ব্যবহার করুন।

Firebase Remote Config এই সমস্ত এবং আরও অনেক কিছু করে, আপনাকে আপনার অ্যাপের একটি নতুন সংস্করণ প্রকাশ না করেই, Firebase কনসোলে আপনার সেট করা বৈশিষ্ট্যগুলির সাথে মেলে এমন অ্যাপের উদাহরণগুলির জন্য প্রয়োজনীয় এবং শর্তসাপেক্ষে প্যারামিটার মান আপডেট করতে দেয়।

এই সমাধান নির্দেশিকা নির্দিষ্ট প্রস্তাবিত ব্যবহারের ক্ষেত্রে প্রদান করে এবং কীভাবে আপনার জেনারেটিভ এআই অ্যাপে Remote Config যোগ করতে হয় তা বর্ণনা করে।

কোড বাস্তবায়নে ঝাঁপ দাও

কেন আপনার অ্যাপের সাথে Firebase Remote Config ব্যবহার করবেন?

Firebase Remote Config আপনাকে অ্যাপ আপডেটের প্রয়োজন ছাড়াই আপনার অ্যাপের আচরণকে গতিশীলভাবে সামঞ্জস্য করতে দেয়। এটি বিশেষত এমন অ্যাপগুলির জন্য শক্তিশালী যেগুলি জেনারেটিভ এআই ব্যবহার করে, যেখানে দ্রুত পুনরাবৃত্তি এবং সূক্ষ্ম-টিউনিং অত্যন্ত গুরুত্বপূর্ণ।

জেনারেটিভ এআই অ্যাপের সাথে Remote Config জন্য প্রয়োজনীয় ব্যবহারের ক্ষেত্রে

আমরা নিম্নলিখিত প্রয়োজনীয় ব্যবহারের ক্ষেত্রে Vertex AI in Firebase সাথে Remote Config ব্যবহার করার পরামর্শ দিই:

  • একটি অ্যাপ আপডেট ছাড়াই সর্বশেষ মডেল সংস্করণে আপগ্রেড করুন: প্রয়োজন অনুসারে মডেলের নাম পরিবর্তন করতে Remote Config প্যারামিটার ব্যবহার করুন, যাতে আপনি আপনার পছন্দের Gemini মডেলের সর্বশেষ সংস্করণে এটি উপলব্ধ হওয়ার সাথে সাথে আপগ্রেড করতে পারেন।
  • অ্যাপ আপডেট ছাড়াই সিস্টেমের নির্দেশাবলী এবং নিরাপত্তা সেটিংস আপডেট করুন: Remote Config প্যারামিটারের মধ্যে সিস্টেম নির্দেশাবলী এবং নিরাপত্তা সেটিংস সংরক্ষণ করুন যাতে আপনি স্থাপনের পরে সমস্যাগুলি আবিষ্কার করলে আপনি সেগুলি অন-ডিমান্ড পরিবর্তন করতে পারেন।
  • ঝুঁকি হ্রাস করুন এবং AI সুরক্ষা প্রয়োগ করুন: আপনার iOS এবং Android ব্যবহারকারীদের জন্য নিরাপদে এবং ধীরে ধীরে জেনারেটিভ AI পরিবর্তনগুলি প্রকাশ করতে Remote Config রোলআউটগুলি ব্যবহার করুন৷

জেনারেটিভ এআই অ্যাপের সাথে Remote Config জন্য উন্নত এবং প্রস্তাবিত ব্যবহারের ক্ষেত্রে

Remote Config এবং Google Analytics সাথে আপনার অ্যাপকে ইনস্ট্রুমেন্ট করার পরে, আপনি উন্নত ব্যবহারের ক্ষেত্রে অন্বেষণ করতে পারেন:

  • ক্লায়েন্ট অবস্থানের উপর ভিত্তি করে অবস্থান সেট করুন: ক্লায়েন্টের সনাক্তকৃত অবস্থানের উপর ভিত্তি করে মডেলের অবস্থান সেট করতে Remote Config শর্তগুলি ব্যবহার করুন।
  • বিভিন্ন মডেলের সাথে পরীক্ষা করুন : দ্রুত পরীক্ষা করুন এবং বিভিন্ন জেনারেটিভ AI মডেলের মধ্যে স্যুইচ করুন, অথবা এমনকি আপনার নির্দিষ্ট ব্যবহারের ক্ষেত্রে সর্বোত্তম উপযুক্ত খুঁজে পেতে বিভিন্ন ব্যবহারকারী বিভাগে বিভিন্ন মডেল স্থাপন করুন।
  • মডেলের কর্মক্ষমতা অপ্টিমাইজ করুন : ফাইন-টিউন মডেল প্যারামিটার, যেমন সিস্টেম প্রম্পট, সর্বোচ্চ আউটপুট টোকেন, তাপমাত্রা এবং অন্যান্য সেটিংস।
  • ক্লায়েন্ট অ্যাট্রিবিউটের উপর ভিত্তি করে বিভিন্ন সিস্টেম নির্দেশাবলী, প্রম্পট এবং মডেল কনফিগারেশন ব্যবহার করুন: Google Analytics সাথে Remote Config ব্যবহার করার সময়, আপনি ক্লায়েন্ট অ্যাট্রিবিউট বা কাস্টম অডিয়েন্সের উপর ভিত্তি করে শর্ত তৈরি করতে পারেন এবং এই অ্যাট্রিবিউটের উপর ভিত্তি করে বিভিন্ন প্যারামিটার সেট করতে পারেন।

    উদাহরণস্বরূপ, আপনি যদি আপনার অ্যাপে প্রযুক্তিগত সহায়তা প্রদানের জন্য জেনারেটিভ AI ব্যবহার করেন, তাহলে আপনার Android, iOS এবং ওয়েব প্ল্যাটফর্ম ব্যবহারকারীদের সঠিক নির্দেশাবলী প্রদান করা হয়েছে তা নিশ্চিত করতে আপনি অ্যাপ প্ল্যাটফর্মের জন্য নির্দিষ্ট সিস্টেম নির্দেশাবলী সেট করতে চাইতে পারেন।

  • প্রতিটি ব্যবহারকারীর জন্য অভিজ্ঞতা ব্যক্তিগতকৃত করুন: প্রতিটি ব্যবহারকারীর জন্য সর্বোত্তম জেনারেটিভ AI সেটিংস স্বয়ংক্রিয়ভাবে নির্ধারণ করতে Remote Config ব্যক্তিগতকরণ ব্যবহার করুন।

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

  • অ্যাপের অভিজ্ঞতা এবং ফলাফলগুলি অপ্টিমাইজ করুন: আপনার iOS, Android এবং Flutter অ্যাপগুলির সাথে Remote Config সাথে A/B Testing ব্যবহার করুন বিভিন্ন ব্যবহারকারীর সেগমেন্ট জুড়ে জেনারেটিভ AI প্যারামিটারে পরিবর্তনগুলি কীভাবে ধারণ এবং আয়ের মতো মূল মেট্রিকগুলিকে প্রভাবিত করে তা দেখতে৷

Firebase Remote Config সাথে আপনার জেনারেটিভ AI অ্যাপটিকে ইনস্ট্রুমেন্ট করে, আপনি আপনার ব্যবহারকারীদের জন্য আনন্দদায়ক অভিজ্ঞতা তৈরি করার সাথে সাথে নমনীয়, নিরাপদ এবং সাশ্রয়ী AI-চালিত অ্যাপ্লিকেশন তৈরি করতে পারেন।

আপনার অ্যাপে Firebase Remote Config যোগ করুন

এই সমাধান নির্দেশিকাতে, আপনি Firebase Remote Config ব্যবহার করবেন আপনার Android অ্যাপের পরামিতিগুলিকে গতিশীলভাবে আপডেট করতে যা Vertex AI in Firebase ব্যবহার করে। আপনি শিখবেন কিভাবে:

  • Firebase Remote Config থেকে মডেলের নাম এবং সিস্টেম নির্দেশের মতো প্যারামিটারগুলি আনুন এবং সক্রিয় করুন।
  • গতিশীলভাবে পুনরুদ্ধার করা প্যারামিটারগুলি ব্যবহার করতে আপনার Gemini API কলগুলি আপডেট করুন, আপনাকে বিভিন্ন মডেলের মধ্যে স্যুইচ করতে বা কোনও অ্যাপ আপডেট ছাড়াই সিস্টেম নির্দেশাবলী পরিবর্তন করতে দেয়৷
  • প্রয়োজন অনুযায়ী মডেল আচরণ এবং ক্ষমতা সামঞ্জস্য, দূরবর্তীভাবে পরামিতি নিয়ন্ত্রণ.

পূর্বশর্ত

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

  • Vertex AI in Firebase এর জন্য শুরু করুন নির্দেশিকাটি সম্পূর্ণ করুন। নিশ্চিত করুন যে আপনি নিম্নলিখিত সমস্ত কাজ করেছেন:

    1. ব্লেজ প্রাইসিং প্ল্যান ব্যবহার করা এবং প্রয়োজনীয় এপিআই সক্ষম করা সহ একটি নতুন বা বিদ্যমান ফায়ারবেস প্রকল্প সেট আপ করুন৷
    2. আপনার অ্যাপটি রেজিস্টার করা এবং আপনার অ্যাপে আপনার Firebase কনফিগার যোগ করা সহ আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করুন।
    3. SDK যোগ করুন এবং আপনার অ্যাপে Vertex AI পরিষেবা এবং জেনারেটিভ মডেল শুরু করুন।
  • আপনার প্রোজেক্টে Google Analytics সক্ষম করুন এবং আপনার অ্যাপে এর SDK যোগ করুন (কন্ডিশনাল টার্গেটিংয়ের জন্য প্রয়োজনীয়, যেমন ক্লায়েন্ট ডিভাইসের অবস্থানের উপর ভিত্তি করে পরিষেবা এবং মডেলের অবস্থান সেট করা)।

ধাপ 1 : Firebase কনসোলে প্যারামিটার মান সেট করুন

একটি ক্লায়েন্ট Remote Config টেমপ্লেট তৈরি করুন এবং অ্যাপে আনতে এবং ব্যবহার করার জন্য প্যারামিটার এবং মান কনফিগার করুন।

  1. Firebase কনসোল খুলুন এবং, নেভিগেশন মেনু থেকে, রান প্রসারিত করুন এবং Remote Config নির্বাচন করুন।
  2. Remote Config পৃষ্ঠার শীর্ষে থাকা ক্লায়েন্ট/সার্ভার নির্বাচক থেকে ক্লায়েন্ট নির্বাচন করা হয়েছে তা নিশ্চিত করুন।
    • যদি এটি আপনার প্রথমবার Remote Config ক্লায়েন্ট টেমপ্লেট ব্যবহার করে, কনফিগারেশন তৈরি করুন ক্লিক করুন। আপনার প্রথম প্যারামিটার তৈরি করুন ফলকটি প্রদর্শিত হবে।
    • যদি এটি আপনার প্রথমবার Remote Config টেমপ্লেটগুলি ব্যবহার না করে থাকে তবে প্যারামিটার যোগ করুন ক্লিক করুন।
  3. নিম্নলিখিত Remote Config পরামিতি সংজ্ঞায়িত করুন:

    পরামিতি নাম বর্ণনা টাইপ ডিফল্ট মান
    model_name মডেলের নাম। আপনার কোডে ব্যবহার করার জন্য মডেল নামের আপ-টু-ডেট তালিকার জন্য, উপলব্ধ মডেলের নামগুলি দেখুন। স্ট্রিং gemini-1.5-flash
    system_instructions সিস্টেম নির্দেশাবলী হল একটি "প্রস্তাবনা" এর মত যা আপনি মডেলটিকে নির্দিষ্ট প্রয়োজন এবং ব্যবহারের ক্ষেত্রে মডেল আচরণকে প্রভাবিত করার জন্য শেষ ব্যবহারকারীর কাছ থেকে অন্য কোনো নির্দেশাবলীর সামনে আসার আগে যোগ করেন। স্ট্রিং You are a helpful assistant who knows everything there is to know about Firebase!
    prompt আপনার জেনারেটিভ এআই বৈশিষ্ট্যের সাথে ব্যবহার করার জন্য ডিফল্ট প্রম্পট। স্ট্রিং I am a developer who wants to know more about Firebase!
    vertex_location Vertex AI পরিষেবা চালানোর জন্য ঐচ্ছিকভাবে অবস্থান নিয়ন্ত্রণ করুন এবং একটি মডেল অ্যাক্সেস করুন। আপনি Google Analytics দ্বারা সনাক্ত করা ক্লায়েন্ট অবস্থানের উপর ভিত্তি করে এই বিকল্পটি কনফিগার করার শর্ত সেট করতে পারেন। স্ট্রিং us-central1
  4. প্যারামিটার যোগ করা শেষ হলে, পরিবর্তনগুলি প্রকাশ করুন এ ক্লিক করুন। যদি এটি একটি নতুন Remote Config টেমপ্লেট না হয় তবে পরিবর্তনগুলি পর্যালোচনা করুন এবং পরিবর্তনগুলি প্রকাশ করুন ক্লিক করুন৷

ধাপ 2 : Remote Config SDK যোগ করুন এবং শুরু করুন

Remote Config SDK যোগ করুন এবং আরম্ভ করুন:

  1. একটি পাঠ্য সম্পাদকে আপনার কোড খুলুন এবং Remote Config আমদানি করুন:

    import { getRemoteConfig } from 'firebase/remote-config';
    
  2. আপনার প্রাথমিক ফাংশনের ভিতরে এবং Vertex AI in Firebase জন্য Firebase অ্যাপ চালু হওয়ার পরে, Remote Config শুরু করুন:

      // Initialize Remote Config and get a reference to the service
      const remoteConfig = getRemoteConfig(app);
    
  3. একটি সর্বনিম্ন আনার ব্যবধান সেট করুন। এই উদাহরণে, ডিফল্ট আনয়ন ব্যবধান হল 3600 সেকেন্ড, কিন্তু আমরা সুপারিশ করি যে আপনি বিকাশের সময় আপনার কোডের ভিতরে একটি অপেক্ষাকৃত কম ন্যূনতম আনয়ন ব্যবধান সেট করুন৷

    remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
    

ধাপ 3 : অ্যাপ-মধ্যস্থ প্যারামিটার মান সেট করুন

আপনার Remote Config অবজেক্টে অ্যাপ-মধ্যস্থ ডিফল্ট প্যারামিটার মান সেট করা উচিত, যাতে আপনার অ্যাপটি Remote Config ব্যাকএন্ডের সাথে সংযোগ করার আগে কার্যকরী হয়, যদি ক্লায়েন্ট নেটওয়ার্ক অ্যাক্সেস বাধাগ্রস্ত হয় এবং/অথবা ব্যাকএন্ডে কোনো মান কনফিগার করা না থাকে।

এই উদাহরণে, আপনি ম্যানুয়ালি মডেলের নাম, সিস্টেম নির্দেশাবলী, ব্যবহারকারীর প্রম্পট এবং Vertex AI অবস্থানের জন্য ডিফল্ট মান সেট করেছেন:

// Set default Remote Config parameter values
remoteConfig.defaultConfig = {
  model_name: 'gemini-1.5-flash',
  system_instructions:
    'You are a helpful assistant who knows everything there is to know about Firebase!',
  prompt: 'I am a developer who wants to know more about Firebase!',
  vertex_location: 'us-central1',
};

ধাপ 4 : মান আনুন এবং সক্রিয় করুন

  1. আপনার আমদানিতে getValue এবং fetchAndActivate যোগ করুন:

    import { getValue, fetchAndActivate } from 'firebase/remote-config';
    
  2. আপনি ডিফল্ট Remote Config মান কনফিগার করতে যে কোডটি যোগ করেছেন তার পরে, কনফিগার আনুন এবং সক্রিয় করুন, তারপর modelName , systemInstructions , prompt , এবং vertexLocation ধ্রুবকগুলিতে মান নির্ধারণ করুন৷

    // Fetch and activate Remote Config.
    try {
      await fetchAndActivate(remoteConfig);
    } catch(err) {
      console.error('Remote Config fetch failed', err);
    }
    
    console.log('Remote Config fetched.');
    
    // Assign Remote Config values.
    const modelName = getValue(remoteConfig, 'model_name').asString();
    const systemInstructions = getValue(remoteConfig, 'system_instructions').asString();
    const prompt = getValue(remoteConfig, 'prompt').asString();
    const vertexLocation = getValue(remoteConfig, 'vertex_location').asString();
    

ধাপ 5 : Remote Config মান ব্যবহার করতে Vertex AI কল আপডেট করুন

এখন যেহেতু Remote Config সম্পূর্ণরূপে কনফিগার করা হয়েছে, Remote Config থেকে উৎসারিত মানগুলির সাথে হার্ড-কোডেড মানগুলি প্রতিস্থাপন করতে আপনার কোড আপডেট করুন৷ উদাহরণস্বরূপ, আপনি যদি Firebase SDK-তে Vertex AI ব্যবহার করে Gemini API-এর সাথে Get start- এ ব্যবহৃত উদাহরণটি ব্যবহার করেন, তাহলে আপনি এটিকে নিম্নরূপ আপডেট করবেন:

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Vertex AI service
// Optionally specify a location in which to run the service and access the model
const vertexAI = getVertexAI(firebaseApp, { location: vertexLocation });

// 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
const model = getGenerativeModel(vertexAI, {
  model: modelName,
  systemInstruction: systemInstruction
});

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const userPrompt = prompt;

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(userPrompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

ধাপ 6 : অ্যাপটি চালান

অ্যাপটি চালান এবং যাচাই করুন যে এটি কাজ করে। Firebase কনসোলে Remote Config পৃষ্ঠা থেকে আপনার কনফিগারেশনে পরিবর্তন করুন, পরিবর্তনগুলি প্রকাশ করুন এবং ফলাফল যাচাই করুন।

পরবর্তী পদক্ষেপ

  • Remote Config সম্পর্কে আরও জানুন।
  • টার্গেটিং সক্ষম করতে আপনার কোডে Google Analytics যোগ করুন।