Pular para o conteúdo
Skillpedia
Agentes280 mil · #56

foundation-models-on-device

Permite que seu agente use modelos de linguagem no próprio dispositivo Apple. Ele gera texto, usa ferramentas e faz streaming de dados em tempo real em apps iOS.

O que ela faz

Esta ferramenta permite que aplicativos no seu iPhone (versão 26 ou superior) usem inteligência artificial diretamente no dispositivo. Ela pode gerar textos, entender comandos para realizar ações específicas e até mesmo criar respostas com informações organizadas, tudo isso sem precisar de internet e mantendo seus dados privados.

Quando usar

  • ✓Criar um resumo de um texto longo.
  • ✓Pedir sugestões de receitas com base nos ingredientes que você tem.
  • ✓Gerar uma descrição organizada sobre um animal de estimação.

Exemplo do que pedir para a IA

“Resuma este artigo para mim em três pontos principais.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/affaan-m/ECC/blob/main/pi/core/skills/foundation-models-on-device/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/affaan-m/ECC/blob/main/pi/core/skills/foundation-models-on-device/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O aplicativo verifica se o seu iPhone é compatível e, em seguida, usa um modelo de inteligência artificial que já está no seu aparelho. Você pode dar instruções para ele gerar texto, criar dados estruturados ou até chamar funções específicas do aplicativo.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add affaan-m/ECC --skill foundation-models-on-device

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/foundation-models-on-device/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

FoundationModels: LLM no Dispositivo (iOS 26)

Padrões para integrar o modelo de linguagem no dispositivo da Apple em aplicativos usando o framework FoundationModels. Abrange geração de texto, saída estruturada com @Generable, chamadas de ferramentas personalizadas e streaming de snapshots — tudo rodando no dispositivo para privacidade e suporte offline.

Quando Ativar

  • Construindo recursos com IA usando Apple Intelligence no dispositivo
  • Gerando ou resumindo texto sem dependência da nuvem
  • Extraindo dados estruturados de entrada em linguagem natural
  • Implementando chamadas de ferramentas personalizadas para ações de IA específicas do domínio
  • Transmitindo respostas estruturadas para atualizações de UI em tempo real
  • Necessidade de IA que preserve a privacidade (nenhum dado sai do dispositivo)

Padrão Principal — Verificação de Disponibilidade

Sempre verifique a disponibilidade do modelo antes de criar uma sessão:

struct GenerativeView: View {
    private var model = SystemLanguageModel.default

    var body: some View {
        switch model.availability {
        case .available:
            ContentView()
        case .unavailable(.deviceNotEligible):
            Text("Device not eligible for Apple Intelligence")
        case .unavailable(.appleIntelligenceNotEnabled):
            Text("Please enable Apple Intelligence in Settings")
        case .unavailable(.modelNotReady):
            Text("Model is downloading or not ready")
        case .unavailable(let other):
            Text("Model unavailable: \(other)")
        }
    }
}

Padrão Principal — Sessão Básica

// Single-turn: create a new session each time
let session = LanguageModelSession()
let response = try await session.respond(to: "What's a good month to visit Paris?")
print(response.content)

// Multi-turn: reuse session for conversation context
let session = LanguageModelSession(instructions: """
    You are a cooking assistant.
    Provide recipe suggestions based on ingredients.
    Keep suggestions brief and practical.
    """)

let first = try await session.respond(to: "I have chicken and rice")
let followUp = try await session.respond(to: "What about a vegetarian option?")

Pontos chave para instruções:

  • Defina o papel do modelo ("Você é um mentor")
  • Especifique o que fazer ("Ajude a extrair eventos de calendário")
  • Defina preferências de estilo ("Responda o mais brevemente possível")
  • Adicione medidas de segurança ("Responda com 'Não posso ajudar com isso' para solicitações perigosas")

Padrão Principal — Geração Guiada com @Generable

Gere tipos Swift estruturados em vez de strings brutas:

1. Defina um Tipo Generable

@Generable(description: "Basic profile information about a cat")
struct CatProfile {
    var name: String

    @Guide(description: "The age of the cat", .range(0...20))
    var age: Int

    @Guide(description: "A one sentence profile about the cat's personality")
    var profile: String
}

2. Solicite Saída Estruturada

let response = try await session.respond(
    to: "Generate a cute rescue cat",
    generating: CatProfile.self
)

// Access structured fields directly
print("Name: \(response.content.name)")
print("Age: \(response.content.age)")
print("Profile: \(response.content.profile)")

Restrições @Guide Suportadas

  • .range(0...20) — intervalo numérico
  • .count(3) — contagem de elementos de array
  • description: — orientação semântica para geração

Padrão Principal — Chamada de Ferramentas

Permita que o modelo invoque código personalizado para tarefas específicas do domínio:

1. Defina uma Ferramenta

struct RecipeSearchTool: Tool {
    let name = "recipe_search"
    let description = "Search for recipes matching a given term and return a list of results."

    @Generable
    struct Arguments {
        var searchTerm: String
        var numberOfResults: Int
    }

    func call(arguments: Arguments) async throws -> ToolOutput {
        let recipes = await searchRecipes(
            term: arguments.searchTerm,
            limit: arguments.numberOfResults
        )
        return .string(recipes.map { "- \($0.name): \($0.description)" }.joined(separator: "\n"))
    }
}

2. Crie Sessão com Ferramentas

let session = LanguageModelSession(tools: [RecipeSearchTool()])
let response = try await session.respond(to: "Find me some pasta recipes")

3. Lide com Erros de Ferramenta

do {
    let answer = try await session.respond(to: "Find a recipe for tomato soup.")
} catch let error as LanguageModelSession.ToolCallError {
    print(error.tool.name)
    if case .databaseIsEmpty = error.underlyingError as? RecipeSearchToolError {
        // Handle specific tool error

…
Perguntas frequentes

Preciso de internet para usar?

Não, a principal vantagem é que tudo roda no seu dispositivo, funcionando mesmo sem conexão.

Meus dados ficam seguros?

Sim, como a inteligência artificial roda no seu aparelho, nenhuma informação sai dele, garantindo sua privacidade.

Meu celular precisa ser muito novo?

Sim, esta funcionalidade está disponível apenas em dispositivos mais recentes (iOS 26 e superior) que suportam a inteligência artificial no dispositivo.

Detalhes

Descrição original do autor

Apple FoundationModels framework for on-device LLM — text generation, guided generation with @Generable, tool calling, and snapshot streaming in iOS 26+. Use when adding on-device LLM features with Apple FoundationModels on iOS 26+.

repo: affaan-m/ECC

Popularidade

Estrelas no GitHub
280 mil
Posição no ranking
#56
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas