É possível criar apps e recursos da Apple com tecnologia de IA e inferência híbrida usando Firebase AI Logic. A inferência híbrida permite executar a inferência usando modelos no dispositivo (especificamente o framework Foundation Models da Apple) quando disponível e fazer fallback sem problemas para modelos do Google hospedados na nuvem caso contrário (e vice-versa).
Nesta página, descrevemos como começar a usar o SDK de cliente e mostramos outras opções e recursos de configuração, como temperatura.
A inferência no dispositivo via Firebase AI Logic é compatível com apps da Apple que usam o SDK do Firebase AI Logic v12.13.0+ e são executados em dispositivos com a Apple Intelligence ativada. Ele é regido pelos Requisitos de uso aceitável para o framework de modelos de fundação da Apple.
Casos de uso recomendados
Usar um modelo no dispositivo para inferência oferece:
- Privacidade reforçada
- Inferência sem custo financeiro
- Funcionalidade off-line
Usar a funcionalidade híbrida oferece:
- Oferecer a todos os clientes uma experiência de app semelhante, independente do dispositivo do usuário final
- Melhorar a disponibilidade dos recursos de IA generativa, independente da conectividade com a Internet, das limitações de cota ou dos recursos do dispositivo
Recursos, APIs e dispositivos compatíveis
Antes de implementar a inferência híbrida e no dispositivo usando o Firebase AI Logic, leia esta seção para entender o que é compatível com apps da Apple.
Recursos e funcionalidades compatíveis para inferência no dispositivo
A inferência no dispositivo só oferece suporte à geração de texto, especificamente os seguintes recursos de geração de texto:
Confira a lista detalhada de inferência híbrida ou no dispositivo ainda não compatível na parte de baixo desta página.
APIs e dispositivos compatíveis
A inferência na nuvem usa o provedor de Gemini API escolhido (Gemini Developer API ou Agent Platform Gemini API (formerly Vertex AI)).
A inferência no dispositivo usa o framework Foundation Models da Apple, que está disponível apenas em dispositivos com o Apple Intelligence ativado. O modelo no dispositivo é baixado automaticamente quando o Apple Intelligence é ativado.
Primeiros passos
Confira se você analisou a seção acima que descreve os recursos, APIs e dispositivos compatíveis.
Estas etapas iniciais descrevem a configuração geral necessária para qualquer solicitação de comando compatível que você queira enviar.
Etapa 1: configurar um projeto do Firebase e conectar seu app a ele
Faça login no console do Firebase e selecione seu projeto do Firebase.
No console do Firebase, acesse Serviços de IA > Lógica de IA.
Clique em Começar para iniciar um fluxo de trabalho guiado que ajuda a configurar as APIs necessárias e os recursos do projeto.
Se solicitado, siga as instruções na tela para registrar o app e adicionar a configuração do Firebase.
Quando for solicitado a escolher um "provedor da API Gemini", recomendamos selecionar a API Gemini Developer, que permite começar rapidamente sem custos financeiros.
A qualquer momento depois, você pode configurar o Agent Platform Gemini API (formerly Vertex AI) (e o requisito de faturamento dele).
Continue no fluxo de trabalho para configurar as APIs necessárias e os serviços associados para Firebase AI Logic.
A partir do início de julho de 2026, essa etapa do fluxo de trabalho vai aplicar Firebase App Check para AI Logic de forma automática. Esse é um serviço essencial para proteger o Gemini API quando ele é acessado diretamente do app. Como parte do processo de início (confira as etapas mais adiante neste guia), você precisará configurar o provedor de depuração App Check para o desenvolvimento local quando o App Check for aplicado.
Continue para a próxima etapa deste guia e adicione os SDKs necessários ao seu app.
Etapa 2: adicionar os SDKs necessários
Use o Swift Package Manager (SPM) para instalar e gerenciar as dependências do Xcode. O suporte híbrido só está disponível ao usar o SPM.
A biblioteca Firebase AI Logic oferece acesso às APIs para interagir
com modelos generativos. A biblioteca está incluída como parte do SDK do Firebase
para plataformas Apple (firebase-ios-sdk).
Se você já usa o Firebase, verifique se o pacote dele é a versão 12.13.0 ou mais recente.
No Xcode, com seu projeto de app aberto, navegue até File > Add Package Dependencies.
Quando solicitado, adicione o repositório do SDK do Firebase para as plataformas Apple:
https://github.com/firebase/firebase-ios-sdkSelecione a versão mais recente do SDK.
Selecione as bibliotecas
FirebaseAILogiceFirebaseAppCheck.
Quando terminar, o Xcode vai começar a resolver e fazer o download das dependências em segundo plano automaticamente.
Etapa 3: configurar o provedor de depuração App Check para desenvolvimento local
A partir do início de julho de 2026, como parte do fluxo de trabalho de configuração guiada para AI Logic no console, o Firebase App Check será aplicado automaticamente para proteger o Gemini API. Para desenvolvimento local, configure o provedor de depuração do App Check para ignorar o atestado, mas ainda manter a aplicação do App Check.
Confira como usar o provedor de depuração enquanto executa seu app em um simulador de forma interativa (por exemplo, durante o desenvolvimento local):
No projeto do Xcode, importe
FirebaseAppChecke inicialize App Check com a fábrica do provedor de depuração 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() } } } }Receba seu token de depuração:
Inicie o app no simulador ou no dispositivo de teste.
Abra o console do Xcode e procure o token de depuração App Check. Exemplo:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.Copie o token (por exemplo,
123a4567-b89c-12d3-e456-789012345678).
Registre seu token de depuração com App Check:
No console do Firebase, acesse a guia Segurança > App Check > Apps.
Encontre seu app, clique no menu flutuante () e selecione Gerenciar tokens de depuração.
Siga as instruções na tela para registrar seu token de depuração.
Para detalhes sobre o provedor de depuração, incluindo como receber um novo token de depuração, consulte a documentação oficial do App Check.
Etapa 4: inicializar o serviço e criar uma instância de sessão do modelo
|
Clique no seu provedor de Gemini API para conferir o conteúdo e o código específicos do provedor nesta página. |
Configure o seguinte antes de enviar uma solicitação de comando ao modelo.
Inicialize o serviço para o provedor Gemini API escolhido.
Crie uma instância
GenerativeModelSessioncom umHybridModel.Defina os modelos
primaryesecondarycom base nas suas preferências. Você pode definir a ordem da inferência tentada:Tente a inferência no dispositivo primeiro, mas permita o fallback para a nuvem: defina
primarycomo um modelo "system" esecondarycomo um modelo de nuvem.Tente primeiro a inferência na nuvem, mas permita o fallback para o dispositivo: defina
primarycomo um modelo de nuvem esecondarycomo um modelo "system".
Observação: o SDK permite definir apenas um único
model, o que significa que ele apenas tentará fazer inferências no dispositivo ou na nuvem. No entanto, para uma experiência híbrida, é necessário criar umHybridModele definir os modelosprimaryesecondary.Saiba mais sobre o comportamento dos "modos de inferência" (a ordem da inferência tentada) em Opções de configuração.
O exemplo a seguir mostra como tentar primeiro a inferência no dispositivo, mas permitir o retorno ao modelo hospedado na nuvem:
// 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,
)
Etapa 5: enviar uma solicitação de comando a um modelo
Nesta seção, mostramos como fazer o seguinte:
Gerar texto com base em entradas somente de texto
| Antes de testar esta amostra, confira se você concluiu a seção Começar deste guia. |
Para gerar texto com base em um comando que contém texto, use respond(to:) da seguinte maneira:
// 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)
Transmitir texto de uma entrada somente de texto
| Antes de testar esta amostra, confira se você concluiu a seção Começar deste guia. |
Para ter interações mais rápidas, não espere o resultado completo da
geração do modelo. Em vez disso, use o streaming para processar resultados parciais. Para
transmitir texto gerado de um comando que contém texto, use
streamResponse(to:) desta forma:
// 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)
}
O que mais você sabe fazer?
Você pode usar várias opções e recursos de configuração adicionais para suas experiências híbridas:
Determine se a inferência no dispositivo ou na nuvem foi usada.
Use a configuração do modelo para controlar as respostas (como a temperatura).
Recursos ainda não disponíveis para inferência híbrida ou no dispositivo
Como é uma versão experimental, nem todos os recursos do Firebase AI Logic ou dos modelos hospedados na nuvem são compatíveis.
Os seguintes itens não são compatíveis com implementações híbridas ou no dispositivo: os modelos de solicitação do Gemini Live API e do servidor. Além disso, não é recomendável confiar na contagem de tokens porque ela varia entre modelos hospedados na nuvem e no dispositivo. Portanto, não há um fallback intuitivo.
Os seguintes recursos ainda não são compatíveis com a inferência no dispositivo. Se você quiser usar algum desses recursos, recomendamos usar apenas um modelo hospedado na nuvem para ter uma experiência mais consistente.
Gerar texto com base em entradas multimodais, como imagens, áudio, vídeo e documentos (PDFs)
Gerar mídia, como imagens, áudio ou vídeo
Enviar solicitações que excedam 4.096 tokens (ou aproximadamente 3.000 palavras em inglês).
Fornecer ao modelo no dispositivo ferramentas integradas para ajudar a gerar a resposta (como execução de código, contexto de URL e embasamento com a Pesquisa Google)
O AI monitoring no console do Firebase não mostra dados de inferência no dispositivo (incluindo registros no dispositivo). No entanto, qualquer inferência que use um modelo hospedado na nuvem pode ser monitorada como outras inferências via Firebase AI Logic.
Outras limitações
Além disso, a inferência no dispositivo tem as seguintes limitações:
O usuário final do app precisa usar um dispositivo com o Apple Intelligence ativado.
O app só pode executar inferências no dispositivo quando está em primeiro plano.
Enviar feedback sobre sua experiência com Firebase AI Logic