返回 Skill 列表
extension
分类: 内容与媒体无需 API Key

"foundation-models"

使用Apple的FoundationModels框架进行设备端AI:文本生成、流式响应、带有@Generable的结构化输出。在添加设备端AI功能、文本生成或基于机器学习的内容创建时使用。触发词:FoundationModels, @Generable, LanguageModelSession, 设备端AI, 文本生成。

person作者: jakexiaohubgithub

Foundation Models

APPLE ON-DEVICE AI (FoundationModels — iOS 26+): FRAMEWORK: import FoundationModels

AVAILABILITY CHECK (MANDATORY — model may not be available on all devices): guard case .available = SystemLanguageModel.default.availability else { // Show "This feature requires Apple Intelligence" message return }

BASIC TEXT GENERATION: let session = LanguageModelSession() let response = try await session.respond(to: "Summarize this text: (userText)") print(response.content)

STREAMING GENERATION: let stream = session.streamResponse(to: prompt) for try await partial in stream { displayText += partial.text }

STRUCTURED OUTPUT with @Generable: @Generable struct RecipeSuggestion { @Guide(description: "Name of the dish") var name: String @Guide(description: "Estimated prep time in minutes") var prepTime: Int @Guide(description: "Main ingredients") var ingredients: [String] }

let session = LanguageModelSession() let recipe: RecipeSuggestion = try await session.respond( to: "Suggest a quick pasta dish", generating: RecipeSuggestion.self )

SESSION INSTRUCTIONS (system prompt): let session = LanguageModelSession(instructions: "You are a helpful cooking assistant. Keep responses concise.")

GUARDRAILS:

  • Model output is filtered by Apple's safety system
  • No internet required — fully on-device
  • Context window is limited (~4K tokens typical) — keep prompts concise
  • Use session.respond() for single turns, keep session for multi-turn conversations