RunanywhereAI/runanywhere-sdks

Production ready toolkit to run AI locally

RunAnywhere SDK – すべてのプラットフォーム向けオンデバイス AI

概要 – RunAnywhere は、多くの AI 機能(LLM、視覚言語モデル、音声認識、音声合成、埋め込み、RAG、画像生成、ツール呼び出しなど)を完全にデバイス上で実行できる単一の C++ コアを提供します。8 つの言語固有 SDK(Swift、Kotlin、Flutter、React-Native、Web、Electron、Python、wally CLI)は同じ高レベル API を公開し、能力レジストリ が現在のデバイスに最適なハードウェアアクセラレーションエンジン(Snapdragon Hexagon NPU、Apple MLX、llama.cpp、ONNX、Core ML、CUDA、WebGPU、またはプレーン CPU)を選択します。


コアアイデア

概念 説明
1 つの API、多数のバックエンド RunAnywhere.capabilities() を呼び出して、現在のデバイスで何ができるかを確認します。ランタイムは、各リクエストをサポートする最高優先度のエンジンに自動的にルーティングします。
オンデバイス、デフォルトでプライベート モデルは初回使用時にダウンロードされ、ローカルで実行されます。オプションの OpenAI 互換サーバーを意図的に起動しない限り、ネットワークトラフィックは不要です。
ハードウェア認識アクセラレーション • QHexRT – Snapdragon Hexagon NPU
• MLX – Apple silicon (Metal/MLX)
• llama.cpp – CPU、Metal、CUDA、WebGPU/WASM
• sherpa + ONNX – 音声、埋め込みなど
• Core ML – iOS/macOS での拡散
クロスプラットフォーム SDK Swift (iOS/macOS)、Kotlin (Android)、Flutter、React-Native、Web (TS + WASM)、Electron (Windows)、Python、wally ターミナルツール。すべての SDK は同じバージョンライン(例: 0.20.29)を共有します。
接続(LAN ホスト/クライアント) macOS はロードされたモデルをホストできます。iOS、iPadOS、Android は、信頼できるローカルネットワーク(Bonjour ディスカバリ、プレーン TCP)を介して生成をストリーミングできます。

構築できるもの(オンデバイス)

  • LLM チャット – 数十のモデル(Llama、Qwen、Gemma、Phi、SmolLM など)、ストリーミング、マルチターン履歴、LoRA アダプターをサポート。
  • 構造化 JSON 出力 – スキーマ検証済み生成、制約付きデコード。
  • ツール呼び出し – 安定した ID を持つローカル関数呼び出し、サポートされている場合は並列実行。
  • 視覚言語(VLM) – 画像キャプション、ライブカメラ説明、写真 Q&A。
  • コンピューター使用アクションパーサー – Fara スタイルのアクション文字列を画面スケール座標に解析します。
  • 音声認識 – Whisper、Moonshine、バッチまたはライブストリーム。
  • 音声合成 – ニューラル音声(Piper、Kokoro、Kitten、MeloTTS、Magpie)。
  • 音声エージェント – VAD → STT → LLM → TTS のパイプライン(ウェイクワード検出なし)。
  • 埋め込みと RAG – ローカルドキュメント取り込み、ベクトル検索、ストリーミング回答。
  • 画像生成 – Core ML での Stable Diffusion、Hexagon NPU でのインペインティング。

クイックスタート例

Python (pip)

pip install runanywhere==0.20.11
import runanywhere as ra
from runanywhere import LlmOptions

ra.initialize()  # 初回呼び出しでモデルをダウンロード
for ev in ra.llm.generate_stream("オンデバイス AI を一文で説明してください。",
                                 LlmOptions(model="qwen2.5-0.5b")):
    if ev.is_token:
        print(ev.text, end="")

Swift (iOS/macOS)

import RunAnywhere
import LlamaCPPRuntime

LlamaCPP.register()
try RunAnywhere.initialize()

var load = RAModelLoadRequest()
load.modelID = "smollm2-360m"
load.category = .language
load.framework = .llamaCpp
await RunAnywhere.loadModel(load)

var req = RALLMGenerateRequest()
req.prompt = "フランスの首都は?"
let result = try await RunAnywhere.generate(req)
print(result.text)   // → パリ

Web (TypeScript, WASM + WebGPU)

npm i @runanywhere/web@0.20.11 @runanywhere/web-llamacpp@0.20.11
import { RunAnywhere } from "@runanywhere/web";
import { LlamaCPP } from "@runanywhere/web-llamacpp";
await RunAnywhere.initialize({ environment: "DEV" });
await LlamaCPP.register({ acceleration: "auto" });
await RunAnywhere.loadModel({ modelId: "qwen2.5-0.5b" });
const out = await RunAnywhere.generate({ prompt: "フランスの首都?" });
console.log(out.text); // パリ

(Kotlin、Flutter、React-Native、Electron、wally CLI 用の類似スニペットも提供されています。)


SDK マトリックス(ステータスとインストール)

SDK プラットフォーム ステータス インストールコマンド
Swift iOS 17.5+、macOS 14.5+ 安定 Swift Package Manager (https://github.com/RunanywhereAI/runanywhere-sdks)
Kotlin Android API 24+ 安定 Gradle: implementation("io.github.sanchitmonga22:runanywhere-sdk:0.20.11")
Flutter iOS、Android ベータ pub add runanywhere(バックエンドパッケージも)
React Native iOS、Android ベータ npm i @runanywhere/core @runanywhere/llamacpp
Web Chromium、Safari、Firefox ベータ npm i @runanywhere/web @runanywhere/web-llamacpp
Electron Windows x64 プレビュー ソースからビルド(bindings/electron/ を参照)
Python Windows/macOS/Linux アルファ pip install runanywhere
wally (CLI) macOS、Linux、Windows 安定 `curl …

ランタイムがエンジンを選択する方法

  1. 各エンジンは、実行できるモダリティと対象ハードウェアを登録します。
  2. リクエストが到着すると、能力レジストリはデバイスの利用可能なハードウェアを確認し、リクエストを満たす最高優先度のエンジンを選択します。
  3. 一致するエンジンがない場合、呼び出しは明確なエラーで失敗します。capabilities() をクエリして、実際にインストールされているものを確認できます。

典型的な優先順位(高 → 低):

  • QHexRT (Snapdragon NPU) → MLX (Apple silicon) → llama.cpp (GPU/CPU) → sherpa + ONNX → Core ML → フォールバック CPU。

詳細情報


要約

RunAnywhere は、開発者が 1 つのコードを記述し、スマートフォン、ブラウザ、デスクトップ、またはサーバー上でさまざまな AI モデルをローカルに実行し、利用可能な最適なハードウェアアクセラレータを自動的に活用できる、本格的で本番グレードの SDK スイートです。LLM チャット、視覚言語、音声、埋め込み、RAG、拡散をカバーし、Swift、Kotlin、Flutter、React-Native、Web、Electron、Python、CLI 向けの安定した API を提供します。

関連

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