شما میتوانید برنامهها و ویژگیهای اپل مبتنی بر هوش مصنوعی را با استنتاج ترکیبی و با استفاده از منطق هوش مصنوعی فایربیس بسازید. استنتاج ترکیبی، اجرای استنتاج با استفاده از مدلهای روی دستگاه (بهویژه چارچوب مدلهای بنیادی اپل) را در صورت وجود امکانپذیر میکند و در غیر این صورت (و برعکس) به طور یکپارچه به مدلهای گوگل میزبانی شده توسط ابر بازمیگردد.
این صفحه نحوه شروع به کار با SDK کلاینت و همچنین نمایش گزینهها و قابلیتهای پیکربندی اضافی ، مانند دما، را شرح میدهد.
توجه داشته باشید که استنتاج روی دستگاه از طریق Firebase AI Logic برای برنامههای اپل که از Firebase AI Logic SDK نسخه ۱۲.۱۳.۰+ استفاده میکنند و روی دستگاههایی با Apple Intelligence فعال اجرا میشوند، پشتیبانی میشود. این امر تابع الزامات استفاده قابل قبول برای چارچوب Foundation Models اپل است.
موارد استفاده توصیه شده
استفاده از یک مدل روی دستگاه برای استنتاج، موارد زیر را ارائه میدهد:
- حریم خصوصی پیشرفته
- استنتاج بدون هزینه
- قابلیت آفلاین
استفاده از قابلیتهای ترکیبی موارد زیر را ارائه میدهد:
- صرف نظر از دستگاه کاربر نهایی، به همه مشتریان یک تجربه برنامه مشابه ارائه دهید
- بهبود دسترسی به ویژگیهای هوش مصنوعی مولد، صرف نظر از اتصال اینترنت، محدودیتهای سهمیهبندی یا قابلیتهای دستگاه
قابلیتها، APIها و دستگاههای پشتیبانیشده
قبل از اینکه استنتاج ترکیبی و درون دستگاهی را با استفاده از منطق هوش مصنوعی فایربیس پیادهسازی کنید، این بخش را مرور کنید تا بفهمید چه چیزهایی برای برنامههای اپل پشتیبانی میشود.
قابلیتها و ویژگیهای پشتیبانیشده برای استنتاج روی دستگاه
استنتاج روی دستگاه فقط از تولید متن ، به ویژه قابلیتهای تولید متن زیر، پشتیبانی میکند:
حتماً لیست کامل مربوط به استنتاج ترکیبی یا درون دستگاهی که هنوز پشتیبانی نمیشوند را در پایین این صفحه بررسی کنید.
APIها و دستگاههای پشتیبانیشده
استنتاج درون ابری از ارائهدهنده API Gemini انتخابی شما (یا API توسعهدهنده Gemini یا API Vertex AI Gemini ) استفاده میکند.
استنتاج روی دستگاه از چارچوب مدلهای بنیادی اپل استفاده میکند که فقط در دستگاههایی که Apple Intelligence در آنها فعال است، در دسترس است. مدل روی دستگاه هنگام فعال بودن Apple Intelligence به طور خودکار دانلود میشود.
شروع کنید
مطمئن شوید که بخش بالا که قابلیتها، APIها و دستگاههای پشتیبانیشده را شرح میدهد، مرور کردهاید.
این مراحل شروع، تنظیمات کلی مورد نیاز برای هر درخواست پشتیبانیشدهای که میخواهید ارسال کنید را شرح میدهند.
مرحله ۱ : یک پروژه Firebase راهاندازی کنید و برنامه خود را به Firebase متصل کنید
وارد کنسول Firebase شوید و سپس پروژه Firebase خود را انتخاب کنید.
اگر از قبل پروژه Firebase ندارید، روی دکمه کلیک کنید تا یک پروژه Firebase جدید ایجاد شود و سپس از یکی از گزینههای زیر استفاده کنید:
گزینه ۱ : با وارد کردن نام پروژه جدید در اولین مرحله از گردش کار، یک پروژه Firebase کاملاً جدید (و پروژه Google Cloud زیربنایی آن به طور خودکار) ایجاد کنید.
گزینه ۲ : با کلیک روی «افزودن فایربیس به پروژه گوگل Google Cloud » (در پایین صفحه)، « افزودن فایربیس» را به یک پروژه گوگل کلود موجود اضافه کنید. در اولین مرحله از گردش کار، نام پروژه موجود را وارد کنید و سپس پروژه را از لیست نمایش داده شده انتخاب کنید.
مراحل باقیمانده از گردش کار روی صفحه را برای ایجاد یک پروژه Firebase تکمیل کنید. توجه داشته باشید که در صورت درخواست، نیازی به تنظیم Google Analytics برای استفاده از Firebase AI Logic SDKs ندارید .
در کنسول Firebase ، به بخش سرویسهای هوش مصنوعی > منطق هوش مصنوعی بروید.
برای شروع یک گردش کار هدایتشده که به شما در تنظیم APIها و منابع مورد نیاز پروژهتان کمک میکند، روی «شروع به کار» کلیک کنید.
پروژه خود را طوری تنظیم کنید که از یک ارائهدهنده « Gemini API » استفاده کند.
توصیه میکنیم برای شروع از رابط برنامهنویسی نرمافزار Gemini Developer API استفاده کنید. در هر مرحله، میتوانید رابط برنامهنویسی نرمافزار Vertex AI Gemini (و الزامات آن برای صدور صورتحساب) را تنظیم کنید .
برای Gemini Developer API ، کنسول APIهای مورد نیاز را فعال کرده و یک کلید API Gemini در پروژه شما ایجاد میکند.
این کلید API مربوط به Gemini را به کدبیس برنامه خود اضافه نکنید . اطلاعات بیشتر.اگر در گردش کار کنسول از شما خواسته شد، دستورالعملهای روی صفحه را برای ثبت برنامه خود و اتصال آن به Firebase دنبال کنید.
برای افزودن SDK به برنامه خود، به مرحله بعدی این راهنما بروید.
مرحله ۲ : اضافه کردن SDK های مورد نیاز
برای نصب و مدیریت وابستگیهای Xcode از Swift Package Manager (SPM) استفاده کنید. پشتیبانی ترکیبی فقط هنگام استفاده از SPM در دسترس است.
کتابخانه Firebase AI Logic دسترسی به APIها را برای تعامل با مدلهای مولد فراهم میکند. این کتابخانه به عنوان بخشی از Firebase SDK برای پلتفرمهای اپل ( firebase-ios-sdk ) گنجانده شده است.
اگر از قبل از Firebase استفاده میکنید، مطمئن شوید که بسته Firebase شما نسخه ۱۲.۱۳.۰ یا بالاتر است.
در Xcode، با باز کردن پروژه برنامه خود، به File > Add Package Dependencies بروید.
وقتی از شما خواسته شد، مخزن SDK پلتفرمهای اپل فایربیس را اضافه کنید:
https://github.com/firebase/firebase-ios-sdkآخرین نسخه SDK را انتخاب کنید.
کتابخانه
FirebaseAILogicرا انتخاب کنید.
پس از اتمام، Xcode به طور خودکار شروع به حل و دانلود وابستگیهای شما در پسزمینه میکند.
مرحله ۳ : سرویس را مقداردهی اولیه کنید و یک نمونه از جلسه مدل ایجاد کنید
برای مشاهده محتوا و کد مخصوص ارائهدهنده در این صفحه، روی ارائهدهنده API Gemini خود کلیک کنید. |
قبل از ارسال درخواست سریع به مدل، موارد زیر را تنظیم کنید.
سرویس را برای ارائهدهنده API انتخابی Gemini خود راهاندازی کنید.
یک نمونه
GenerativeModelSessionباHybridModelایجاد کنید.مدلهای
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)
متن را از ورودی فقط متنی پخش کنید
| قبل از امتحان کردن این نمونه، مطمئن شوید که بخش « شروع به کار » این راهنما را تکمیل کردهاید. |
شما میتوانید با منتظر نماندن برای کل نتیجه حاصل از تولید مدل، به تعاملات سریعتری دست یابید و در عوض از streaming برای مدیریت نتایج جزئی استفاده کنید. برای پخش متن تولید شده از یک prompt که حاوی متن است، از 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 یا مدلهای میزبانی شده توسط ابر پشتیبانی نمیشود.
موارد زیر برای پیادهسازیهای ترکیبی یا روی دستگاه پشتیبانی نمیشوند : مدلهای Imagen، رابط برنامهنویسی Gemini Live و قالبهای اعلان. همچنین، نباید به تعداد توکنها اعتماد کرد زیرا تعداد آنها بین مدلهای میزبانی ابری و روی دستگاه متفاوت خواهد بود، بنابراین هیچ راه حل جایگزین شهودی وجود ندارد.
ویژگیهای زیر هنوز برای استنتاج روی دستگاه پشتیبانی نمیشوند. اگر میخواهید از هر یک از این ویژگیها استفاده کنید، توصیه میکنیم برای تجربهای پایدارتر، فقط از یک مدل میزبانی ابری استفاده کنید.
تولید متن از ورودیهای چندوجهی، مانند تصاویر، صدا، ویدئو و اسناد (PDF)
تولید رسانه، مانند تصاویر، صدا یا ویدیو
ارسال درخواستهایی که بیش از ۴۰۹۶ توکن (یا تقریباً ۳۰۰۰ کلمه انگلیسی) باشند.
ارائه ابزارهای داخلی به مدل روی دستگاه برای کمک به تولید پاسخ (مانند اجرای کد، زمینه URL و اتصال به زمین با جستجوی گوگل)
نظارت بر هوش مصنوعی در کنسول Firebase هیچ دادهای برای استنتاج روی دستگاه (از جمله گزارشهای روی دستگاه) نشان نمیدهد . با این حال، هر استنتاجی که از یک مدل میزبانی ابری استفاده میکند، میتواند درست مانند سایر استنتاجها از طریق Firebase AI Logic نظارت شود.
محدودیتهای اضافی
علاوه بر موارد فوق، استنتاج روی دستگاه محدودیتهای زیر را نیز دارد:
کاربر نهایی برنامه شما باید از دستگاهی استفاده کند که Apple Intelligence در آن فعال باشد .
برنامه شما فقط زمانی میتواند استنتاج روی دستگاه را اجرا کند که در پیشزمینه باشد.
درباره تجربه خود با Firebase AI Logic بازخورد دهید