درخواست هوش مصنوعی هیبریدی با Firebase AI Logic، درخواست هوش مصنوعی ترکیبی با Firebase AI Logic، درخواست هوش مصنوعی ترکیبی با Firebase AI Logic، درخواست هوش مصنوعی ترکیبی با Firebase AI Logic

منتشر شده: ۲۰ مه ۲۰۲۵

برای برآورده کردن نیازهای کاربرانتان، صرف نظر از پلتفرم یا سخت‌افزاری که استفاده می‌کنند، می‌توانید با استفاده از Firebase AI Logic برای Prompt API داخلی، یک پشتیبان ابری ایجاد کنید.

یک تجربه ترکیبی هوش مصنوعی بسازید

هوش مصنوعی داخلی مزایای متعددی دارد که مهمترین آنها عبارتند از:

  • Local processing of sensitive data: If you work with sensitive data, you can offer AI features to users with end-to-end encryption.
  • استفاده آفلاین از هوش مصنوعی: کاربران شما می‌توانند به ویژگی‌های هوش مصنوعی دسترسی داشته باشند، حتی زمانی که آفلاین هستند یا اتصالشان قطع شده است.

اگرچه این مزایا در مورد برنامه‌های ابری صدق نمی‌کند، اما می‌توانید برای کسانی که به هوش مصنوعی داخلی دسترسی ندارند، یک تجربه یکپارچه را تضمین کنید.

شروع کار با فایربیس

یاد بگیرید که چگونه یک پروژه Firebase ایجاد کنید و Firebase را به برنامه وب خود اضافه کنید .

پروژه‌های فایربیس، پروژه‌های گوگل کلود هستند که پیکربندی‌ها و سرویس‌های مخصوص فایربیس دارند. درباره گوگل کلود و فایربیس بیشتر بدانید.

SDK را نصب کنید

این گردش کار از npm استفاده می‌کند و به module bundlers یا ابزارهای چارچوب جاوا اسکریپت نیاز دارد. Firebase AI Logic برای کار با module bundlers بهینه شده است تا کدهای بلااستفاده را حذف کرده و اندازه SDK را کاهش دهد.

  1. Install the Firebase JS SDK:

    npm install firebase
    
  2. Firebase را در برنامه خود مقداردهی اولیه کنید.

راه‌اندازی و ایمن‌سازی منطق هوش مصنوعی فایربیس

  1. در کنسول فایربیس، به بخش سرویس‌های هوش مصنوعی > منطق هوش مصنوعی بروید.

  2. برای شروع گردش کار تنظیمات، روی شروع کار کلیک کنید.

  3. وقتی از شما خواسته می‌شود «ارائه‌دهنده‌ی API Gemini» را انتخاب کنید، توصیه می‌کنیم API توسعه‌دهنده‌ی Gemini را انتخاب کنید که به شما امکان می‌دهد بدون هیچ هزینه‌ای و به سرعت شروع به کار کنید.

    در هر زمانی بعد، همیشه می‌توانید API مربوط به Vertex AI Gemini (و الزامات آن برای صدور صورتحساب) را تنظیم کنید .

  4. برای تنظیم API های مورد نیاز و خدمات مرتبط با Firebase AI Logic، در گردش کار کنسول ادامه دهید.

    از اوایل ژوئیه ۲۰۲۶، این مرحله از گردش کار به طور خودکار Firebase App Check را برای منطق هوش مصنوعی اجرا می‌کند ، که یک سرویس حیاتی برای کمک به محافظت از API Gemini هنگام دسترسی مستقیم از برنامه شما است. به عنوان بخشی از شروع کار (به مراحل بعدی این راهنما مراجعه کنید)، باید ارائه دهنده اشکال زدایی App Check را برای توسعه محلی هنگام اجرای App Check پیکربندی کنید.

  5. برای پیکربندی ارائه‌دهنده اشکال‌زدایی App Check برای توسعه محلی، به بخش‌های بعدی این راهنما بروید و سپس اولین درخواست خود را به API Gemini ارسال کنید.

پیکربندی ارائه‌دهنده اشکال‌زدایی App Check برای توسعه محلی

در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود از localhost به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:

  1. در نسخه اشکال‌زدایی (debug build)، قبل از مقداردهی اولیه App Check، با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN به true ، حالت اشکال‌زدایی (debug mode) را فعال کنید. برای مثال:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    
  2. به صورت محلی از برنامه وب خود بازدید کنید و ابزارهای توسعه‌دهنده مرورگر را باز کنید. در کنسول اشکال‌زدایی، یک توکن اشکال‌زدایی مشاهده خواهید کرد:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. Register your debug token with App Check:

    1. در کنسول فایربیس، به تب Security > App Check > Apps بروید.

    2. برنامه‌ی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکن‌های اشکال‌زدایی (Manage debug tokens ) را انتخاب کنید.

    3. برای ثبت توکن اشکال‌زدایی خود، دستورالعمل‌های روی صفحه را دنبال کنید.

برای جزئیات بیشتر در مورد ارائه‌دهنده اشکال‌زدایی (از جمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

ارسال درخواست به API جمینی

  1. مقداردهی اولیه و ایجاد یک نمونه.

  2. مدل را با ورودی متنی یا چندوجهی فعال کنید. مثال‌ها را در بخش‌های بعدی این راهنما ببینید.

پیام‌های متنی

شما می‌توانید از متن ساده برای دستورالعمل‌های خود به مدل استفاده کنید. برای مثال، می‌توانید از مدل بخواهید که برای شما یک جوک تعریف کند.

شما چند گزینه برای نحوه‌ی مسیریابی درخواست دارید:

  • با تنظیم mode 'prefer_on_device' در تابع getGenerativeModel() ، می‌توانید به طور پیش‌فرض از هوش مصنوعی داخلی در صورت موجود بودن استفاده کنید. اگر مدل داخلی در دسترس نباشد، درخواست به طور یکپارچه برای استفاده از مدل ابری (در صورت آنلاین بودن) به عقب برمی‌گردد.

  • با تنظیم mode 'prefer_in_cloud' در تابع getGenerativeModel() ، وقتی آنلاین هستید، به طور پیش‌فرض از مدل ابری استفاده کنید. اگر آفلاین باشید، درخواست به طور یکپارچه به عقب برمی‌گردد تا در صورت امکان از هوش مصنوعی داخلی استفاده کند.

// Initialize the Google AI service.
const googleAI = getAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(googleAI, { mode: 'prefer_on_device' });

const prompt = 'Tell me a joke';

const result = await model.generateContentStream(prompt);

for await (const chunk of result.stream) {
  const chunkText = chunk.text();
  console.log(chunkText);
}
console.log('Complete response', await result.response);

Multimodal prompts

شما همچنین می‌توانید علاوه بر متن، با تصویر یا صدا نیز درخواست دهید. می‌توانید به مدل بگویید که محتوای یک تصویر را توصیف کند یا یک فایل صوتی را رونویسی کند.

تصاویر باید به صورت یک رشته کدگذاری شده با base64 به عنوان یک شیء Firebase FileDataPart ارسال شوند، که می‌توانید این کار را با تابع کمکی fileToGenerativePart() انجام دهید.

// Converts a File object to a `FileDataPart` object.
// https://firebase.google.com/docs/reference/js/vertexai.filedatapart
async function fileToGenerativePart(file) {
    const base64EncodedDataPromise = new Promise((resolve) => {
      const reader = new FileReader();
      reader.onload = () => resolve(reader.result.split(',')[1]);
      reader.readAsDataURL(file);
    });

    return {
      inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
    };
  }

  const fileInputEl = document.querySelector('input[type=file]');

  fileInputEl.addEventListener('change', async () => {
    const prompt = 'Describe the contents of this image.';

    const imagePart = await fileToGenerativePart(fileInputEl.files[0]);

    // To generate text output, call generateContent with the text and image
    const result = await model.generateContentStream([prompt, imagePart]);

    for await (const chunk of result.stream) {
      const chunkText = chunk.text();
      console.log(chunkText);
    }
    console.log(Complete response: ', await result.response);
  });

نسخه آزمایشی

از نسخه آزمایشی Firebase AI Logic در دستگاه‌ها و مرورگرهای مختلف دیدن کنید. می‌توانید ببینید که چگونه پاسخ مدل از مدل هوش مصنوعی داخلی یا ابری حاصل می‌شود.

وقتی روی سخت‌افزار پشتیبانی‌شده در کروم اجرا می‌شود، نسخه آزمایشی از Prompt API و Gemini Nano استفاده می‌کند. فقط ۳ درخواست برای سند اصلی، فایل جاوا اسکریپت و فایل CSS ارسال می‌شود.

منطق هوش مصنوعی فایربیس که در کروم اجرا می‌شود، با استفاده از APIهای هوش مصنوعی داخلی.

وقتی در مرورگر یا سیستم عامل دیگری بدون پشتیبانی داخلی از هوش مصنوعی هستید، یک درخواست اضافی به نقطه پایانی Firebase، https://firebasevertexai.googleapis.com ، ارسال می‌شود.

Firebase AI logic running in Safari, making a request to Firebase servers.

مشارکت کنید و نظرات خود را به اشتراک بگذارید

منطق هوش مصنوعی فایربیس می‌تواند گزینه بسیار خوبی برای ادغام قابلیت‌های هوش مصنوعی در برنامه‌های وب شما باشد. با ارائه یک پشتیبان ابری در مواقعی که API Prompt در دسترس نیست، SDK دسترسی گسترده‌تر و قابلیت اطمینان ویژگی‌های هوش مصنوعی را تضمین می‌کند.

به یاد داشته باشید که برنامه‌های ابری انتظارات جدیدی را برای حریم خصوصی و عملکرد ایجاد می‌کنند، بنابراین مهم است که کاربران خود را از محل پردازش داده‌هایشان مطلع کنید.