Hugging FaceVeröffentlichung der Quelle

AnyLanguageModel 1.0: Ein Jahr lokale Modelle auf Apple-Plattformen

Im November letzten Jahres haben wir vorgestellt AnyLanguageModel in diesem Blog: ein Drop-in-Ersatz für Apples Foundation Models framework, das es Ihnen ermöglicht, das Modell und den Anbieter zu wählen, den Ihre App verwendet. Wir haben von App-Entwicklern gehört, die an lokalen Modellen interessiert waren, sich aber nicht immer sicher waren, wie sie anfangen sollen.

Im November letzten Jahres haben wir vorgestellt AnyLanguageModel in diesem Blog: ein Drop-in-Ersatz für Apples Foundation Models framework, das es Ihnen ermöglicht, das Modell und den Anbieter zu wählen, den Ihre App verwendet. Wir haben von App-Entwicklern gehört, die an lokalen Modellen interessiert waren, sich aber nicht immer sicher waren, wie sie anfangen sollen. Sie wollten auch die zusätzliche Komplexität vermeiden, die mit der Unterstützung mehrerer Inferenz-Anbieter einhergeht. AnyLanguageModel ist aus diesem Feedback entstanden.

Lokale Inferenz und gehostete Inferenz haben jeweils ihre Stärken, und beide haben eine Rolle beim Aufbau dieser neuen Generation intelligenter Apps. Eine gemeinsame API erleichtert es, das richtige Modell für jede Aufgabe auszuwählen.

Ein Jahr und Dutzende Veröffentlichungen später, AnyLanguageModel 1.0 ist da, zusammen mit swift-huggingface 1.0 und swift-xet 1.0.

Hier ist, was sich geändert hat und was als Nächstes kommt:

Eine direkt kompatible API

Die Kernidee von AnyLanguageModel bleibt dieselbe: die Foundation Models API mit dem Modell zu verwenden, das zu Ihrer App passt. Um loszulegen, ändern Sie Ihre import -Anweisung:

- import FoundationModels
+ import AnyLanguageModel

Derselbe Session-Code funktioniert dann mit dem Systemmodell, mit Open-Weight-Modellen über llama.cpp, MLX und Core ML und mit den unten aufgeführten gehosteten Anbietern.

Im vergangenen Jahr haben wir mehrere große Funktionen hinzugefügt:

  • Tool calling funktioniert mit jedem Anbieter.
  • Guided generation funktioniert ebenfalls mit jedem Anbieter, einschließlich verschachtelter @Generable -Typen und Arrays davon.
  • Image support ermöglicht es Ihnen, Bilder mithilfe der Syntax von Foundation Models 27 an Prompts anzuhängen, einschließlich dann, wenn Sie das Systemmodell auf iOS, macOS und visionOS 27 verwenden.

Auf OS 27 funktioniert AnyLanguageModel auch mit jedem Modell, das Foundation Models' LanguageModel -Protokoll erfüllt, einschließlich Core AI -Modellen.

Neben AnyLanguageModel haben wir swift-huggingface ausgebaut und swift-xet um beschleunigte Modell-Downloads aus dem Hub in Swift-Apps zu bringen.

Gehostete Modelle ebenfalls

Die Unterstützung für gehostete Modelle wurde in diesem Jahr ebenfalls erweitert. AnyLanguageModel unterstützt nun:

  • OpenAIs Chat Completions- und Responses-APIs
  • Open Responses, für jeden Anbieter mit einem kompatiblen Endpunkt
  • Anthropics Messages API, mit adaptivem Thinking und Effort-Optionen
  • Googles Gemini API
  • Ollama
  • Private Cloud Compute, auf OS 27
  • Hugging Face Inference Providers, und andere OpenAI-kompatible Endpunkte wie OpenRouter, über eine benutzerdefinierte Basis-URL

Mit Inference Providers können Sie offene Gewichtsmodelle, die zu groß sind, um auf dem Gerät zu laufen, mit demselben Session-Code verwenden:

let model = OpenAILanguageModel(
    baseURL: URL(string: "https://router.huggingface.co/v1/")!,
    apiKey: ProcessInfo.processInfo.environment["HF_TOKEN"]!,
    model: "openai/gpt-oss-120b",
    apiVariant: .chatCompletions
)

Gehostete Anbieter erhalten dieselben Funktionen wie lokale Modelle: geführte Generierung, Tool-Aufrufe mit Streaming und Token-Nutzung in den Antworten.

Reasoning ist nun ebenfalls Teil des Transcripts. Wenn Sie den Anbieter wechseln, werden Reasoning-Blöcke automatisch aus Anfragen weggelassen, wenn der neue Anbieter sie nicht wiedergeben kann.

API-Schlüssel kommen von einem Closure statt von einem String, damit Ihre App kurzlebige Tokens von Ihrem eigenen Server abrufen kann. Das README erklärt, wann man Nutzer eigene Schlüssel mitbringen lassen sollte und wann Anfragen über einen Proxy geleitet werden sollten.

AnyLanguageModel läuft auch auf Linux, sodass derselbe Code auf einem Server funktionieren kann.

Open-Weight-Modelle wurden besser

Während wir lokale Modelle einfacher zu benutzen gemacht haben, sind die Modelle selbst leistungsfähiger geworden, wodurch die kleinen Modelle ein guter Ausgangspunkt sind. Hier sind einige der derzeit am häufigsten heruntergeladenen Modelle auf dem Hub:

  • Gemma 4 E2B von Google, als GGUF, etwa 3.4 GB bei Q4_0 mit quantisierungsbewussttem Training.
  • LFM2.5 2.6B von Liquid AI, in GGUF, etwa 1,7 GB bei Q4_K_M.
  • Qwen3.8 27B für MLX von Alibaba, etwa 16 GB bei 4 Bit.

Die ersten beiden passen auf ein iPhone, und Qwen3.8 27B läuft auf einem Mac mit 32 GB Arbeitsspeicher oder mehr. Die Auswahl des MLX-Modells erfordert eine Zeile:

let model = MLXLanguageModel(modelId: "mlx-community/Qwen3.8-27B-4bit")

Und falls Sie vier voll ausgestattete Mac Studios zur Hand haben, GLM-5.3 von Z.ai benötigt etwa 1,5 TB in BF16. Für alle anderen ist es über Inference Providers verfügbar.

Upgrade auf 1.0

dependencies: [
    .package(
        url: "https://github.com/huggingface/AnyLanguageModel",
        from: "1.0.0",
        traits: ["MLX"]
    )
]

Wenn Sie eine bestehende App aktualisieren, finden Sie Migrationshinweise in den AnyLanguageModel, swift-huggingfaceund swift-xet Release Notes zur Hilfe bei der Aktualisierung Ihres Codes.

Community-Feedback und Beiträge haben mehrere unserer wichtigsten Funktionen geprägt. Danke an alle, die beigetragen haben dafür, dass Sie AnyLanguageModel für App-Entwickler nützlicher gemacht haben.

Was kommt als Nächstes

Sprachmodelle haben sich als leistungsfähiges Werkzeug erwiesen, um Intelligenz in Produkte zu integrieren. Sie sind zudem nur eine von vielen Modellarten, die Entwickler einsetzen können. Wir freuen uns, denselben Ansatz auf weitere Fähigkeiten auszuweiten: bekannte Swift-APIs mit einer Auswahl von Modellen, die auf dem Gerät laufen. Bald verfügbar: Modelle, die entscheiden, und Modelle, die zuhören.

Links

Originalquelle

Hugging Face

Hinweise zum Inhalt

Originalveröffentlichung und Rechte liegen bei der Quelle.

Maschinelle Übersetzung · Original beachten