شما میتوانید برنامهها و ویژگیهای اپل مبتنی بر هوش مصنوعی را با استنتاج ترکیبی و با استفاده از منطق هوش مصنوعی فایربیس بسازید. استنتاج ترکیبی، اجرای استنتاج با استفاده از مدلهای روی دستگاه (بهویژه چارچوب مدلهای بنیادی اپل) را در صورت وجود امکانپذیر میکند و در غیر این صورت (و برعکس) به طور یکپارچه به مدلهای گوگل میزبانی شده توسط ابر بازمیگردد.
این صفحه نحوه شروع به کار با 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ها و منابع مورد نیاز پروژهتان کمک میکند، روی «شروع به کار» کلیک کنید.
در صورت درخواست، دستورالعملهای روی صفحه را دنبال کنید تا برنامه خود را ثبت کنید و پیکربندی Firebase خود را به برنامه خود اضافه کنید.
وقتی از شما خواسته میشود «ارائهدهندهی API Gemini» را انتخاب کنید، توصیه میکنیم API توسعهدهندهی Gemini را انتخاب کنید که به شما امکان میدهد بدون هیچ هزینهای و به سرعت شروع به کار کنید.
در هر زمانی بعد، همیشه میتوانید API مربوط به Vertex AI Gemini (و الزامات آن برای صدور صورتحساب) را تنظیم کنید .
در ادامه، APIهای مورد نیاز و سرویسهای مرتبط با Firebase AI Logic را تنظیم کنید.
از اوایل ژوئیه ۲۰۲۶، این مرحله از گردش کار به طور خودکار Firebase App Check برای منطق هوش مصنوعی اجرا میکند ، که یک سرویس حیاتی برای کمک به محافظت از API Gemini هنگام دسترسی مستقیم از برنامه شما است. به عنوان بخشی از شروع کار (به مراحل بعدی این راهنما مراجعه کنید)، باید ارائه دهنده اشکال زدایی App Check را برای توسعه محلی هنگام اجرای App Check پیکربندی کنید.
برای افزودن 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وFirebaseAppCheckرا انتخاب کنید.
پس از اتمام، Xcode به طور خودکار شروع به حل و دانلود وابستگیهای شما در پسزمینه میکند.
مرحله ۳ : پیکربندی ارائهدهنده اشکالزدایی App Check برای توسعه محلی
از اوایل ژوئیه ۲۰۲۶، به عنوان بخشی از گردش کار تنظیم هدایتشده برای منطق هوش مصنوعی در کنسول، Firebase App Check به طور خودکار برای محافظت از API Gemini اعمال میشود. برای توسعه محلی، باید ارائهدهنده اشکالزدایی App Check را طوری پیکربندی کنید که از گواهینامه عبور کند و در عین حال اجرای App Check را حفظ کند.
در اینجا نحوه استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه خود در یک شبیه ساز به صورت تعاملی (به عنوان مثال، در طول توسعه محلی) آورده شده است:
در پروژه Xcode خود،
FirebaseAppCheckرا وارد کنید و قبل از پیکربندیFirebaseApp Check با debug provider factory مقداردهی اولیه کنید.import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }توکن اشکالزدایی خود را دریافت کنید:
برنامه خود را در شبیهساز یا روی دستگاه آزمایشی خود اجرا کنید.
کنسول Xcode را باز کنید و به دنبال توکن اشکالزدایی App Check بگردید. برای مثال:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.توکن را کپی کنید (برای مثال،
123a4567-b89c-12d3-e456-789012345678).
توکن اشکالزدایی خود را با App Check ثبت کنید:
در کنسول Firebase ، به تب Security > App Check > Apps بروید.
برنامهی خود را پیدا کنید، روی منوی سرریز ( ) کلیک کنید و سپس مدیریت توکنهای اشکالزدایی (Manage debug tokens ) را انتخاب کنید.
برای ثبت توکن اشکالزدایی خود، دستورالعملهای روی صفحه را دنبال کنید.
برای جزئیات بیشتر در مورد ارائهدهنده اشکالزدایی (از جمله نحوه دریافت یک توکن اشکالزدایی جدید)، به اسناد رسمی App Check مراجعه کنید.
مرحله ۴ : سرویس را مقداردهی اولیه کنید و یک نمونه از جلسه مدل ایجاد کنید
برای مشاهده محتوا و کد مخصوص ارائهدهنده در این صفحه، روی ارائهدهنده 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 بازخورد دهید