Puedes compilar apps y funciones de Apple potenciadas por IA con inferencia híbrida usando Firebase AI Logic. La inferencia híbrida permite ejecutar la inferencia con modelos integrados en el dispositivo (específicamente, el framework de modelos de base de Apple) cuando están disponibles y recurrir sin problemas a los modelos de Google alojados en la nube en otros casos (y viceversa).
En esta página, se describe cómo comenzar a usar el SDK del cliente y se muestran opciones y capacidades de configuración adicionales, como la temperatura.
Ten en cuenta que la inferencia integrada en el dispositivo a través de Firebase AI Logic es compatible con las apps de Apple que usan el SDK de Firebase AI Logic v12.13.0 o versiones posteriores y que se ejecutan en dispositivos con Apple Intelligence habilitado. Se rige por los Requisitos de uso aceptable del framework de modelos de base de Apple.
Casos de uso recomendados
Usar un modelo en el dispositivo para la inferencia ofrece las siguientes ventajas:
- Privacidad mejorada
- Inferencia sin costo
- Funcionalidad sin conexión
El uso de la funcionalidad híbrida ofrece lo siguiente:
- Brindar a todos los clientes una experiencia similar en la app, independientemente del dispositivo del usuario final
- Mejorar la disponibilidad de las funciones potenciadas por IA generativa, independientemente de la conectividad a Internet, las limitaciones de cuota o las capacidades del dispositivo
Funciones, APIs y dispositivos compatibles
Antes de implementar la inferencia híbrida y en el dispositivo con Firebase AI Logic, revisa esta sección para comprender qué se admite en las apps para Apple.
Funciones y capacidades compatibles con la inferencia integrada en el dispositivo
La inferencia en el dispositivo solo admite la generación de texto, específicamente las siguientes capacidades de generación de texto:
Asegúrate de revisar la lista detallada de la inferencia híbrida o en el dispositivo que aún no se admite en la parte inferior de esta página.
APIs y dispositivos compatibles
La inferencia en la nube usa el proveedor de Gemini API que elijas (Gemini Developer API o Vertex AI Gemini API).
La inferencia en el dispositivo usa el framework de modelos de base de Apple, que solo está disponible en dispositivos con Apple Intelligence habilitado. El modelo integrado en el dispositivo se descarga automáticamente cuando se habilita Apple Intelligence.
Comenzar
Asegúrate de haber revisado la sección anterior en la que se describen las capacidades, las APIs y los dispositivos compatibles.
En estos pasos para comenzar, se describe la configuración general necesaria para cualquier solicitud de instrucción admitida que desees enviar.
Paso 1: Configura un proyecto de Firebase y conecta tu app a Firebase
Accede a la consola de Firebase y, luego, selecciona tu proyecto de Firebase.
En la consola de Firebase, ve a Servicios de IA > Lógica de IA.
Haz clic en Comenzar para iniciar un flujo de trabajo guiado que te ayudará a configurar las APIs requeridas y los recursos para tu proyecto.
Si se te solicita, sigue las instrucciones en pantalla para registrar tu app y agregarle la configuración de Firebase.
Cuando se te solicite que elijas un "proveedor de la API de Gemini", te recomendamos que selecciones la API de Gemini Developer, que te permite comenzar rápidamente sin costo.
En cualquier momento posterior, puedes configurar Vertex AI Gemini API (y su requisito de facturación).
Continúa con el flujo de trabajo para configurar las APIs requeridas y los servicios asociados para Firebase AI Logic.
A partir de principios de julio de 2026, esta etapa del flujo de trabajo aplicará Firebase App Check automáticamente para AI Logic, que es un servicio fundamental para ayudar a proteger el Gemini API cuando se accede a él directamente desde tu app. Como parte de los primeros pasos (consulta los pasos más adelante en esta guía), deberás configurar el proveedor de depuración de App Check para el desarrollo local cuando se aplique App Check.
Continúa con el siguiente paso de esta guía para agregar los SDKs necesarios a tu app.
Paso 2: Agrega los SDKs requeridos
Usa Swift Package Manager (SPM) para instalar y administrar las dependencias de Xcode. La compatibilidad híbrida solo está disponible cuando se usa el SPM.
La biblioteca de Firebase AI Logic proporciona acceso a las APIs para interactuar con los modelos generativos. La biblioteca se incluye como parte del SDK de Firebase para plataformas de Apple (firebase-ios-sdk).
Si ya usas Firebase, asegúrate de que tu paquete de Firebase sea la versión 12.13.0 o posterior.
En Xcode, con tu proyecto de app abierto, navega a File > Add Package Dependencies.
Cuando se te solicite, agrega el repositorio del SDK de Firebase para plataformas de Apple:
https://github.com/firebase/firebase-ios-sdkSelecciona la versión más reciente del SDK.
Selecciona las bibliotecas
FirebaseAILogicyFirebaseAppCheck.
Cuando termines, Xcode comenzará a resolver y descargar automáticamente tus dependencias en segundo plano.
Paso 3: Configura el proveedor de depuración de App Check para el desarrollo local
A partir de principios de julio de 2026, como parte del flujo de trabajo de configuración guiada para AI Logic en la consola, se aplicará automáticamente Firebase App Check para proteger el Gemini API. Para el desarrollo local, debes configurar el proveedor de depuración de App Check para omitir la certificación y, al mismo tiempo, mantener la aplicación de App Check.
Sigue estos pasos para usar el proveedor de depuración mientras ejecutas la app en un simulador de manera interactiva (por ejemplo, durante el desarrollo local):
En tu proyecto de Xcode, importa
FirebaseAppChecky, luego, inicializa App Check con la fábrica del proveedor de depuración antes de configurarFirebase.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() } } } }Obtén tu token de depuración:
Inicia la app en el simulador o en tu dispositivo de prueba.
Abre la consola de Xcode y busca el token de depuración de App Check. Por ejemplo:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.Copia el token (por ejemplo,
123a4567-b89c-12d3-e456-789012345678).
Registra tu token de depuración en App Check:
En la consola de Firebase, ve a la pestaña Apps de Seguridad > App Check.
Busca tu app, haz clic en el menú ampliado () y, luego, selecciona Administrar tokens de depuración.
Sigue las instrucciones en pantalla para registrar tu token de depuración.
Para obtener detalles sobre el proveedor de depuración (incluido cómo obtener un token de depuración nuevo), consulta la documentación oficial de App Check.
Paso 4: Inicializa el servicio y crea una instancia de sesión del modelo
|
Haz clic en tu proveedor de Gemini API para ver el contenido y el código específicos del proveedor en esta página. |
Configura lo siguiente antes de enviar una solicitud de instrucción al modelo.
Inicializa el servicio para el proveedor de Gemini API que elegiste.
Crea una instancia de
GenerativeModelSessioncon unHybridModel.Establece los modelos
primaryysecondarysegún tus preferencias. Puedes establecer el orden de la inferencia intentada:Intenta primero la inferencia en el dispositivo, pero permite la reversión a la nube: Establece
primaryen un modelo "del sistema" ysecondaryen un modelo en la nube.Intenta primero la inferencia en la nube, pero permite la reversión al dispositivo: Establece
primaryen un modelo en la nube ysecondaryen un modelo "del sistema".
Ten en cuenta que el SDK admite la configuración de solo un
model, lo que significa que el SDK solo intentará la inferencia en el dispositivo o en la nube. Sin embargo, para una experiencia híbrida, debes crear unHybridModely establecer los modelosprimaryysecondary.Obtén más información sobre el comportamiento de los "modos de inferencia" (el orden de la inferencia intentada) en Opciones de configuración.
En el siguiente ejemplo, se muestra cómo intentar primero la inferencia en el dispositivo, pero permitir la reversión al modelo alojado en la nube:
// 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,
)
Paso 5: Envía una solicitud de instrucción a un modelo
En esta sección, se muestra cómo hacer lo siguiente:
Generar texto a partir de entrada de solo texto
| Antes de probar este ejemplo, asegúrate de haber completado la sección Comienza ahora de esta guía. |
Para generar texto a partir de una instrucción que contiene texto, usa respond(to:) de la siguiente manera:
// 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)
Transmite texto desde una entrada de solo texto
| Antes de probar este ejemplo, asegúrate de haber completado la sección Comienza ahora de esta guía. |
Puedes lograr interacciones más rápidas si no esperas el resultado completo de la generación del modelo y, en cambio, usas la transmisión para controlar los resultados parciales. Para transmitir texto generado a partir de una instrucción que contiene texto, usa streamResponse(to:) de la siguiente manera:
// 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)
}
¿Qué más puedes hacer?
Puedes usar varias opciones y capacidades de configuración adicionales para tus experiencias híbridas:
Verifica si el modelo integrado en el dispositivo está disponible.
Determina si se usó la inferencia en el dispositivo o en la nube.
Usa la configuración del modelo para controlar las respuestas (como la temperatura).
Funciones que aún no son compatibles con la inferencia híbrida o en el dispositivo
Como se trata de una versión experimental, no se admiten todas las capacidades de Firebase AI Logic ni de los modelos alojados en la nube.
Las siguientes opciones no son compatibles con las implementaciones híbridas o integradas en el dispositivo: los modelos de Imagen, la API de Gemini Live y las plantillas de instrucciones. Además, no se debe confiar en el recuento de tokens, ya que este diferirá entre los modelos alojados en la nube y los modelos integrados en el dispositivo, por lo que no hay una alternativa intuitiva.
Las siguientes funciones aún no son compatibles con la inferencia en el dispositivo. Si quieres usar alguna de estas funciones, te recomendamos que solo uses un modelo alojado en la nube para obtener una experiencia más coherente.
Generar texto a partir de entradas multimodales, como imágenes, audio, video y documentos (PDFs)
Generar contenido multimedia, como imágenes, audio o video
Enviar solicitudes que superen los 4,096 tokens (o aproximadamente 3,000 palabras en inglés)
Proporcionar al modelo integrado en el dispositivo herramientas integradas para ayudarlo a generar su respuesta (como ejecución de código, contexto de URL y fundamentación con la Búsqueda de Google)
El monitoreo de IA en la consola de Firebase no muestra ningún dato sobre la inferencia en el dispositivo (incluidos los registros en el dispositivo). Sin embargo, cualquier inferencia que use un modelo alojado en la nube se puede supervisar como cualquier otra inferencia a través de Firebase AI Logic.
Limitaciones adicionales
Además de lo anterior, la inferencia en el dispositivo tiene las siguientes limitaciones:
El usuario final de tu app debe usar un dispositivo con Apple Intelligence habilitado.
Tu app puede ejecutar la inferencia en el dispositivo solo cuando está en primer plano.
Envía comentarios sobre tu experiencia con Firebase AI Logic