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