huggingface/AnyLanguageModel

An API-compatible, drop-in replacement for Apple's Foundation Models framework with support for custom language model providers.

解決する課題

AnyLanguageModelは、AppleのFoundation Modelsフレームワークのドロップイン代替として機能するSwiftパッケージです。これにより、開発者はオンデバイスとクラウドベースの両方で、さまざまなカスタム言語モデルプロバイダーを一貫したAPIで使用でき、ベンダーロックインを減らし、異なるLLMバックエンドの統合を簡素化できます。

仕組み

import FoundationModels ステートメントを import AnyLanguageModel に置き換えるだけで、開発者はさまざまなプロバイダーにアクセスできます。このライブラリはSwift 6.1のトレイトを使用して、Core ML、MLX、llama.cppなどの重い依存関係を条件付きで含めるため、最終的なバイナリには必要なバックエンドのみが含まれ、ビルド時間とビルドサイズを小さく保ちます。

対象読者

iOS、macOS、visionOS、またはLinux向けに開発するSwift開発者で、ローカルのオンデバイスモデルとクラウドAPIの両方をサポートする統一インターフェースを使用して、LLMをアプリケーションに統合したい方。

ハイライト

  • 幅広いプロバイダーサポート: Apple Foundation Models、Core ML、MLX、llama.cpp、Ollama、Anthropic、Google Gemini、OpenAIをサポート。
  • ガイド付き生成: @Generable と @Guide を使用して強く型付けされた出力を有効にし、手動の文字列解析を回避。
  • ツール呼び出し: すべてのプロバイダーにわたる包括的なツール呼び出しサポート。実行を監視または制御するデリゲートシステムを含む。
  • マルチモーダル機能: さまざまなプロバイダー(モデルがサポートする場合)での画像入力のサポート。
  • 推論サポート: 最終回答とは別に推論セグメントをキャプチャして表示する機能。Anthropicの思考モデルと特別に統合。
  • トークン追跡: さまざまなプロバイダーにわたる入力、出力、キャッシュ、推論トークンの詳細な追跡。

関連

  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト