Este é um capítulo gratuito extraído do livro Apple Foundation Models, escrito por Bill Morefield. Leia, construa e se quiser o restante, haverá um link no final.
A inteligência artificial e outros sistemas de aprendizado de máquina passaram de curiosidades a ferramentas úteis nos últimos anos. Embora seus casos de uso frequentemente sejam exagerados, é claro que eles podem fornecer valor real para seu aplicativo em situações adequadas. Agora você pode executar tarefas no dispositivo que cabem na palma da mão que eram difíceis ou impossíveis mesmo em equipamentos empresariais. Apenas algumas dessas tecnologias ganharam a mesma atenção e controvérsia que os Modelos de Linguagem Grandes (LLMs). Um LLM tradicional requer uma quantidade massiva de poder computacional, memória e recursos para funcionar. Startups bem financiadas eram as únicas capazes de treinar e executar esses modelos e implantar enormes quantidades de memória, armazenamento e poder computacional.
Para atender a essas altas exigências do sistema, muitos programadores exploraram a implementação de modelos locais. Esses modelos são otimizados e simplificados para funcionar nos dispositivos e equipamentos dos usuários comuns. Começando com o iOS 26, iPadOS 26, macOS 26 e outras versões do sistema operacional 26, a Apple está fornecendo seu próprio modelo local, otimizado para uso em aplicativos, chamado Apple Foundation Models. Os Modelos de Fundação da Apple são modelos de IA da Apple projetados para proteger a privacidade enquanto ajudam com tarefas como escrita de texto, resumo de informações e organização de dados nos dispositivos compatíveis. Como todos os dados permanecem no dispositivo, você não precisa de uma conexão à internet, há menos latência e você evita os riscos de privacidade que surgem ao enviar dados para serviços terceirizados. Este livro explorará o uso dos Modelos de Fundação da Apple em seus aplicativos.
O que são Modelos de Fundação da Apple?
Vale a pena começar com a pergunta mais básica: O que é o Framework de Modelos de Fundação da Apple? A resposta curta é que é um modelo de linguagem grande (LLM) que a Apple otimizou para funcionar localmente em dispositivos do usuário final, como laptops, desktops e dispositivos móveis. Os LLMs tradicionais operam em centros de dados equipados com GPUs potentes, o que requer muita memória e energia. Levar essa funcionalidade a um dispositivo do usuário final exige mudanças significativas no modelo. No caso da Apple, as duas mudanças mais importantes para produzir Modelos de Fundação são reduzir o número de parâmetros e quantificar os valores que formam o modelo. Você aprenderá mais sobre como eles fizeram isso posteriormente.
Neste capítulo, você desenvolverá um aplicativo estilo chat que interage com Modelos de Fundação para explorar as possibilidades e limitações dessa estrutura. Um aplicativo de chat não é um caso de uso ideal para Modelos de Fundação devido ao tamanho pequeno do modelo em dispositivos, mas ele fornece uma aplicação bem compreendida para explorar a integração dos Modelos de Fundação da Apple em um aplicativo SwiftUI. A retroalimentação imediata também facilitará a exploração do uso e limitações do modelo.
Usando Modelos de Fundação
Abra o aplicativo inicial no Xcode 26 ou posterior. Execute o aplicativo e você verá que o inicial implementa uma interface estilo chat simples. A caixa de texto na parte inferior da visualização fornece ao usuário um lugar para inserir texto e “enviar”.

Nota: Ao executar aplicativos que usam Modelos de Fundação em um simulador, o simulador usa a inteligência da Apple subjacente do dispositivo. Isso significa que você deve rodar no macOS pelo menos a mesma versão que está usando Xcode e o simulador. Isso inclui versões beta. Você não pode executar um simulador com iOS 2.64 beta em macOS 26.3 e simular Modelos de Fundação. Se as versões não estiverem alinhadas, usar Modelos de Fundação resultará em erro.
Agora você atualizará este aplicativo para usá-los. O texto que você envia ao modelo é um prompt. Em seguida, o modelo fornecerá uma resposta, que o aplicativo exibirá ao usuário.
Antes de tentar usar os Models Foundation da Apple, verifique se eles estão disponíveis no dispositivo. O dispositivo deve suportar a Inteligência da Apple e o usuário deve ativar essa funcionalidade para seu dispositivo. Se qualquer uma dessas condições não for atendida, seu aplicativo precisará desabilitar ou contornar as características do modelo. Portanto, sua primeira etapa é garantir que os Models Foundation estejam disponíveis. Atualmente, o app exibe apenas a ChatView, mas você deve exibir uma mensagem se o dispositivo não suportar Models Foundation.
Abrir ContentView.swift e adicione o seguinte código como último import:
import FoundationModels
Para usar os Models Foundation em uma classe ou view, você deve incluir primeiro o framework. Agora adicione a propriedade abaixo à view:
private let model = SystemLanguageModel.default
SystemLanguageModel se refere ao modelo de texto baseado no dispositivo. A propriedade default acessa a versão padrão do modelo. Você usará isso para verificar o status dos Models Foundation. Substitua o body da view por:
switch model.availability {
case .available:
ChatView()
case .unavailable(let reason):
ModelUnavailableView(reason: reason)
}
ModelUnavailableView ainda não existe, mas você cuidará disso em seguida. A propriedade model.availability reflete o estado dos Models Foundation no dispositivo. Ele será ou available, significando que seu app pode acessar os Models Foundation, ou unavailable, também fornecendo um reason explicando por que os Models Foundation não estão disponíveis. Quando available, você mostra a existente ChatView como antes. Mas quando os Models Foundation não estiverem disponíveis, você exibirá o ModelUnavailableView para informar ao usuário.
Crie uma nova view SwiftUI chamada ModelUnavailableView na pasta Chat Views. Adicione o seguinte às importações no topo da nova view:
import FoundationModels
Novamente, você precisa dessa importação em qualquer código que interaja com os Models Foundation. Em seguida, adicione a propriedade reason abaixo para passar para a view:
var reason: SystemLanguageModel.Availability.UnavailableReason
Essa propriedade mantém um enumerável que explica por que o modelo não está disponível. Seu app pode usar isso para exibir uma mensagem adequada. Altere o body da view para:
Image(systemName: "apple.intelligence")
.font(.largeTitle)
switch reason {
case .deviceNotEligible:
Text("A Inteligência da Apple não está disponível neste dispositivo.")
case .appleIntelligenceNotEnabled:
Text("A Inteligência da Apple está disponível, mas não ativada neste dispositivo.")
case .modelNotReady:
Text("O modelo ainda não está pronto. Isso geralmente ocorre porque ele ainda está sendo baixado.")
@unknown default:
Text("Um erro desconhecido impede que a Inteligência da Apple funcione.")
}
Isso exibirá o símbolo SF Symbol da Inteligência da Apple junto com uma mensagem amigável para as razões mais comuns. Você também fornece um erro genérico para outros casos, usando @unknown default para garantir que seu app esteja preparado para novos valores de enum no futuro. Isso preparará seu app para quaisquer mudanças futuras no framework. Agora atualize o preview para:
ModelUnavailableView(reason: .appleIntelligenceNotEnabled)
Isso fornecerá uma razão para o preview. Visualizar a Canvas agora mostrará essa view padrão.
Agora, execute seu app. Se o dispositivo atender aos requisitos descritos anteriormente, você ainda deve ser capaz de ver o aplicativo de chat. Se o dispositivo não suportar a Inteligência da Apple, você verá a view informativa correspondente, junto com a razão. Claro, ao testar seu app, você desejará garantir que o usuário receba um fallback bem-sucedido ou uma mensagem informativa adequada para esses estados de erro. Para testar isso, você pode usar a opção scheme no XCode.
Nota: Se esta é a primeira vez que você está usando os modelos de fundo da Apple, pode levar 15 a 60 minutos para o modelo ser baixado no dispositivo. Certifique-se de que o dispositivo esteja conectado à internet durante o download.


