به صورت پویا Vertex AI خود را در برنامه Firebase با Firebase Remote Config به روز کنید

هنگام فراخوانی Gemini API از برنامه خود با استفاده از Vertex AI in Firebase SDK، درخواست شما حاوی تعدادی پارامتر است که پاسخ‌های هوش مصنوعی تولیدی را کنترل می‌کنند. اینها معمولاً شامل نام مدل، پیکربندی تولید مدل (حداکثر نشانه‌ها، دما، و غیره)، تنظیمات ایمنی، دستورالعمل‌های سیستم و داده‌های سریع است.

در بیشتر موارد، شما می خواهید این موارد را به صورت درخواستی یا در صورت نیاز برای تعدادی از سناریوها تغییر دهید:

  • مدل هوش مصنوعی مولد خود را بدون انتشار اپلیکیشن جدید به روز کنید. می‌توانید قبل از از کار انداختن نسخه‌های قبلی، به نسخه‌های مدل جدیدتر و پایدار ارتقا دهید، بر اساس نیازها و ویژگی‌های کاربرانتان به مدل‌های کم‌هزینه یا با کارایی بالاتر رها شوید، یا به‌طور مشروط جدیدترین و بهترین مدل‌ها را در بخش‌های کاربری خاص (مانند آزمایش‌کنندگان بتا) مستقر کنید. .
  • مکان دسترسی به مدل را طوری تنظیم کنید که به کاربران شما نزدیکتر باشد.
  • A/B دستورالعمل‌ها و درخواست‌های مختلف سیستم را آزمایش کنید، سپس به آرامی مقادیر آزمایشی برنده را در اختیار کاربران خود قرار دهید.
  • از پرچم‌های ویژگی برای افشای سریع یا پنهان کردن سریع ویژگی‌های هوش مصنوعی در برنامه خود استفاده کنید.

Firebase Remote Config همه اینها و موارد دیگر را انجام می دهد و به شما امکان می دهد مقادیر پارامترها را در صورت نیاز و به صورت مشروط برای نمونه های برنامه ای که با ویژگی هایی که در کنسول Firebase تنظیم کرده اید مطابقت دارد، بدون انتشار نسخه جدیدی از برنامه خود، به روز کنید.

این راهنمای راه حل موارد استفاده توصیه شده خاص را ارائه می دهد و نحوه اضافه کردن Remote Config را به برنامه هوش مصنوعی مولد خود توضیح می دهد.

پرش به اجرای کد

چرا از Firebase Remote Config با برنامه خود استفاده کنید؟

Firebase Remote Config به شما امکان می دهد به صورت پویا رفتار برنامه خود را بدون نیاز به به روز رسانی برنامه تنظیم کنید. این به ویژه برای برنامه‌هایی که از هوش مصنوعی مولد استفاده می‌کنند قدرتمند است، جایی که تکرار سریع و تنظیم دقیق بسیار مهم است.

موارد استفاده ضروری برای Remote Config با برنامه های هوش مصنوعی مولد

توصیه می کنیم از Remote Config با Vertex AI in Firebase برای موارد استفاده ضروری زیر استفاده کنید:

  • ارتقاء به آخرین نسخه مدل بدون به‌روزرسانی برنامه: از پارامترهای Remote Config برای تغییر نام مدل در صورت نیاز استفاده کنید، تا بتوانید به‌محض در دسترس شدن، آن را به آخرین نسخه مدل دلخواه Gemini خود ارتقا دهید.
  • دستورالعمل‌های سیستم و تنظیمات ایمنی را بدون به‌روزرسانی برنامه به‌روزرسانی کنید: دستورالعمل‌های سیستم و تنظیمات ایمنی را در پارامترهای Remote Config ذخیره کنید تا اطمینان حاصل کنید که اگر بعد از استقرار مشکلی پیدا کردید، می‌توانید آن‌ها را بر اساس درخواست تغییر دهید.
  • کاهش خطر و تقویت ایمنی هوش مصنوعی: از Remote Config Rollouts استفاده کنید تا به طور ایمن و تدریجی تغییرات مولد هوش مصنوعی را برای کاربران iOS و Android خود منتشر کنید.

موارد استفاده پیشرفته و توصیه شده برای Remote Config با برنامه‌های هوش مصنوعی مولد

پس از تنظیم برنامه خود با Remote Config و Google Analytics ، می توانید موارد استفاده پیشرفته را کاوش کنید:

  • تنظیم مکان بر اساس مکان مشتری: از شرایط Remote Config برای تنظیم مکان مدل بر اساس مکان شناسایی شده مشتری استفاده کنید.
  • مدل‌های مختلف را آزمایش کنید : به سرعت بین مدل‌های هوش مصنوعی مولد مختلف آزمایش کنید و جابه‌جا شوید، یا حتی مدل‌های مختلف را در بخش‌های مختلف کاربر مستقر کنید تا بهترین مناسب را برای مورد خاص خود پیدا کنید.
  • بهینه‌سازی عملکرد مدل : پارامترهای مدل، مانند اعلان سیستم، حداکثر نشانه‌های خروجی، دما و تنظیمات دیگر را دقیق تنظیم کنید.
  • استفاده از دستورالعمل‌های مختلف سیستم، درخواست‌ها و پیکربندی مدل بر اساس ویژگی‌های مشتری: هنگام استفاده از Remote Config با Google Analytics ، می‌توانید شرایطی را بر اساس ویژگی‌های مشتری یا مخاطبان سفارشی ایجاد کنید و پارامترهای مختلفی را بر اساس این ویژگی‌ها تنظیم کنید.

    برای مثال، اگر از هوش مصنوعی مولد برای ارائه پشتیبانی فنی در برنامه خود استفاده می‌کنید، ممکن است بخواهید دستورالعمل‌های سیستم را مختص پلتفرم برنامه تنظیم کنید تا اطمینان حاصل کنید که دستورالعمل‌های دقیق به کاربران Android، iOS و پلت فرم وب شما ارائه می‌شود.

  • شخصی سازی تجربیات برای هر کاربر: از شخصی سازی Remote Config برای تعیین خودکار تنظیمات بهینه هوش مصنوعی مولد برای هر کاربر استفاده کنید.

  • کنترل هزینه ها: از راه دور تنظیم کنید که کدام مدل های هوش مصنوعی مولد نامیده می شوند، تعداد دفعات استفاده از آنها و پیکربندی پویا حداکثر مقادیر نشانه خروجی بر اساس مخاطبان کاربر برای کاهش هزینه های غیر ضروری.

  • تجربه و نتایج برنامه را بهینه کنید: از A/B Testing با Remote Config با برنامه‌های iOS، Android و Flutter خود استفاده کنید تا تغییرات پارامترهای هوش مصنوعی را در بخش‌های مختلف کاربر آزمایش کنید تا ببینید چگونه بر معیارهای کلیدی مانند حفظ و درآمد تأثیر می‌گذارد.

با استفاده از برنامه هوش مصنوعی مولد خود با Firebase Remote Config ، می توانید برنامه های کاربردی مبتنی بر هوش مصنوعی انعطاف پذیر، ایمن و مقرون به صرفه بسازید و در عین حال تجربیات لذت بخشی را برای کاربران خود ایجاد کنید.

Firebase Remote Config به برنامه خود اضافه کنید

در این راهنمای راه‌حل، از Firebase Remote Config برای به‌روزرسانی پویا پارامترهای برنامه Android خود که از Vertex AI in Firebase SDK استفاده می‌کنند، استفاده می‌کنید. شما یاد خواهید گرفت که چگونه:

  • پارامترهایی مانند نام مدل ها و دستورالعمل های سیستم را از Firebase Remote Config واکشی و فعال کنید.
  • تماس‌های Gemini API خود را به‌روزرسانی کنید تا از پارامترهای بازیابی شده به صورت پویا استفاده کنید و به شما امکان می‌دهد بین مدل‌های مختلف جابجا شوید یا دستورالعمل‌های سیستم را بدون به‌روزرسانی برنامه تغییر دهید.
  • کنترل پارامترها از راه دور، تنظیم رفتار و قابلیت های مدل در صورت نیاز.

پیش نیازها

این راهنما فرض می کند که شما با استفاده از جاوا اسکریپت برای توسعه برنامه های وب آشنا هستید. این راهنما مستقل از چارچوب است. قبل از شروع، مطمئن شوید که موارد زیر را انجام داده اید:

  • راهنمای شروع برای Vertex AI in Firebase SDK را کامل کنید. مطمئن شوید که تمام کارهای زیر را انجام داده اید:

    1. یک پروژه Firebase جدید یا موجود راه اندازی کنید، از جمله استفاده از طرح قیمت گذاری Blaze و فعال کردن API های مورد نیاز.
    2. برنامه خود را به Firebase وصل کنید، از جمله ثبت برنامه خود و افزودن پیکربندی Firebase به برنامه خود.
    3. SDK را اضافه کنید و سرویس Vertex AI و مدل تولیدی را در برنامه خود راه اندازی کنید.
  • Google Analytics در پروژه خود فعال کنید و SDK آن را به برنامه خود اضافه کنید (برای هدف گیری مشروط، مانند تنظیم مکان سرویس و مدل بر اساس مکان دستگاه مشتری، لازم است).

مرحله 1 : مقادیر پارامتر را در کنسول Firebase تنظیم کنید

یک الگوی Remote Config مشتری ایجاد کنید و پارامترها و مقادیر را برای واکشی و استفاده در برنامه پیکربندی کنید.

  1. کنسول Firebase را باز کرده و از منوی پیمایش، Run را باز کرده و Remote Config انتخاب کنید.
  2. اطمینان حاصل کنید که Client از انتخابگر Client/Server در بالای صفحه Remote Config انتخاب شده است.
    • اگر این اولین باری است که از الگوهای سرویس گیرنده Remote Config استفاده می کنید، روی ایجاد پیکربندی کلیک کنید. پنجره Create your first parameter ظاهر می شود.
    • اگر این اولین بار نیست که از الگوهای 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. در داخل تابع اصلی خود و پس از اینکه برنامه Firebase برای Vertex AI in Firebase SDK مقداردهی اولیه شد، 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 ، اگر دسترسی به شبکه مشتری قطع شد و/یا اگر هیچ مقداری در backend پیکربندی نشده باشد، کاربردی باشد.

در این مثال، شما به صورت دستی مقادیر پیش فرض را برای نام مدل، دستورالعمل های سیستم، درخواست کاربر و مکان 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 : تماس‌های Vertex AI را برای استفاده از مقادیر Remote Config به‌روزرسانی کنید

اکنون که Remote Config به طور کامل پیکربندی شده است، کد خود را به‌روزرسانی کنید تا مقادیر سخت‌کد شده را با مقادیر منبع‌شده از Remote Config جایگزین کنید. به عنوان مثال، اگر از مثال استفاده شده در Get start with Gemini API با استفاده از Vertex AI در Firebase SDK استفاده می‌کردید، آن را به صورت زیر به‌روزرسانی می‌کنید:

// 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 : برنامه را اجرا کنید

برنامه را اجرا کنید و بررسی کنید که کار می کند. از صفحه Remote Config در کنسول Firebase تغییراتی را در پیکربندی خود ایجاد کنید، تغییرات را منتشر کنید و نتیجه را تأیید کنید.

مراحل بعدی

  • درباره Remote Config بیشتر بیاموزید.
  • Google Analytics به کد خود اضافه کنید تا هدف گذاری فعال شود.