昨年11月、私たちはこのブログで AnyLanguageModel を紹介しました。 これはAppleのFoundation Modelsフレームワークのドロップイン代替であり、アプリが使用するモデルとプロバイダを選択できるようにするものです。 ローカルモデルに興味はあるものの、始め方がいつも分かるとは限らないアプリ開発者から声を聞きました。 また、複数の推論プロバイダをサポートする複雑さの増加も避けたいと考えていました。 AnyLanguageModelはそのフィードバックから生まれました。
ローカル推論とホスト型推論にはそれぞれ長所があり、どちらもこの新世代のインテリジェントなアプリの構築において役割を担っています。 共通のAPIがあれば、各タスクに適したモデルを選びやすくなります。
1年と数十回のリリースを経て、 AnyLanguageModel 1.0 がリリースされ、あわせて swift-huggingface 1.0 と swift-xet 1.0.
も公開されました。 以下に変更点と今後の予定を示します:
ドロップイン互換のAPI
AnyLanguageModelの中核的な考え方は変わりません:
アプリに適したモデルでFoundation Models APIを使用するということです。
始めるには、 import 文を変更するだけです:
- import FoundationModels
+ import AnyLanguageModel
その後、同じセッションコードが、システムモデル、llama.cpp、MLX、Core ML経由のオープンウェイトモデル、そして以下のホスト型プロバイダで動作します。
この1年間で、いくつかの主要機能を追加しました:
- ツール呼び出し はすべてのプロバイダで動作します。
- ガイド付き生成 もすべてのプロバイダで動作します。
ネストされた
@Generable型やその配列を含みます。 - 画像サポート により、Foundation Models 27の構文を使ってプロンプトに画像を添付できます。 iOS、macOS、visionOS 27でシステムモデルを使用する場合も含まれます。
OS 27では、AnyLanguageModelはFoundation Modelsの LanguageModel プロトコルに準拠する任意のモデルでも動作します。
これには Core AI モデルも含まれます。
AnyLanguageModelとともに、私たちは swift-huggingface と swift-xet Hubからの高速なモデルダウンロードをSwiftアプリに提供すること。
ホスト型モデルも同様です
ホスト型モデルへの対応も今年拡張されました。 AnyLanguageModel が対応するようになったもの:
- OpenAIのChat CompletionsおよびResponses API
- Open Responses、 互換性のあるエンドポイントを持つすべてのプロバイダーに対して
- AnthropicのMessages API、アダプティブ・シンキングおよびエフォート・オプション対応
- GoogleのGemini API
- Ollama
- OS 27 上の Private Cloud Compute
- Hugging Face Inference Providers、 およびカスタムベースURLを通じた OpenRouter などの その他のOpenAI互換エンドポイント
Inference Providers を使えば、 デバイス上で実行するには大きすぎるオープンウェイトモデルも、 同じセッションコードで利用できます:
let model = OpenAILanguageModel(
baseURL: URL(string: "https://router.huggingface.co/v1/")!,
apiKey: ProcessInfo.processInfo.environment["HF_TOKEN"]!,
model: "openai/gpt-oss-120b",
apiVariant: .chatCompletions
)
ホストされたプロバイダーは、ローカルモデルと同じ機能を備えています: ガイド付き生成、ストリーミング対応のツール呼び出し、 そしてレスポンスにおけるトークン使用量。
推論もトランスクリプトの一部になりました。 プロバイダーを切り替える際、 新しいプロバイダーが推論ブロックを再生できない場合は、リクエストから自動的に省略されます。
APIキーは文字列ではなくクロージャから取得されるため、 アプリは独自のサーバーから短期トークンを取得できます。 README では、ユーザーに自分のキーを持たせるべき場合と、 プロキシ経由でリクエストをルーティングすべき場合について説明しています。
AnyLanguageModel は Linux 上でも動作するため、 同じコードをサーバーでも使用できます。
オープンウェイトモデルがより良くなった
ローカルモデルを使いやすくする取り組みを進める一方で、 モデル自体もより高性能になり、 小さなモデルが良い出発点になりました。 現在 Hub で最もダウンロードされているモデルのいくつかを紹介します:
- Google の Gemma 4 E2B GGUF 形式で、約 3.4 GB、
Q4_0量子化対応トレーニングを備えています。 - LFM2.5 2.6B Liquid AI 製、
GGUF 形式で約 1.7 GB、
Q4_K_M. - MLX 用 Qwen3.8 27B Alibaba 製、 4 ビットで約 16 GB。
最初の 2 つは iPhone に収まり、Qwen3.8 27B は 32 GB 以上のメモリを搭載した Mac で動作します。 MLX モデルの選択は 1 行で済みます:
let model = MLXLanguageModel(modelId: "mlx-community/Qwen3.8-27B-4bit")
そして、最大構成の Mac Studio を 4 台お持ちであれば、 GLM-5.3 Z.ai 製で、BF16 では約 1.5 TB になります。 それ以外の方は、Inference Providers を通じて利用できます。
1.0 へのアップグレード
dependencies: [
.package(
url: "https://github.com/huggingface/AnyLanguageModel",
from: "1.0.0",
traits: ["MLX"]
)
]
既存のアプリをアップグレードする場合は、 AnyLanguageModel, swift-huggingface、および swift-xet のリリースノートにある移行ガイダンスを参照して、コードの更新を進めてください。
コミュニティのフィードバックと貢献が、私たちの主要な機能のいくつかを形にしてきました。 貢献してくださったすべての方々 に、AnyLanguageModel をアプリ開発者にとってより有用なものにする手助けをしていただいたことに感謝します。
次に何が来るか
言語モデルは、製品に知能を組み込むための強力なツールであることが証明されています。 また、開発者が活用できるモデルの多くの種類の 1 つでもあります。 私たちは、同じアプローチをより多くの機能に広げることに興奮しています。 すなわち、デバイス上で動作するモデルを選べる、使い慣れた Swift API です。 近日公開: 判断するモデル、そして聞き取るモデル。