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 … |
ランタイムがエンジンを選択する方法
- 各エンジンは、実行できるモダリティと対象ハードウェアを登録します。
- リクエストが到着すると、能力レジストリはデバイスの利用可能なハードウェアを確認し、リクエストを満たす最高優先度のエンジンを選択します。
- 一致するエンジンがない場合、呼び出しは明確なエラーで失敗します。
capabilities()をクエリして、実際にインストールされているものを確認できます。
典型的な優先順位(高 → 低):
- QHexRT (Snapdragon NPU) → MLX (Apple silicon) → llama.cpp (GPU/CPU) → sherpa + ONNX → Core ML → フォールバック CPU。
詳細情報
- ドキュメント: https://docs.runanywhere.ai (プラットフォーム固有ガイド)
- モデルカタログ: https://huggingface.co/runanywhere/models
- Discord コミュニティ: https://discord.gg/N359FBbDVd
- GitHub リリース: https://github.com/RunanywhereAI/runanywhere-sdks/releases
要約
RunAnywhere は、開発者が 1 つのコードを記述し、スマートフォン、ブラウザ、デスクトップ、またはサーバー上でさまざまな AI モデルをローカルに実行し、利用可能な最適なハードウェアアクセラレータを自動的に活用できる、本格的で本番グレードの SDK スイートです。LLM チャット、視覚言語、音声、埋め込み、RAG、拡散をカバーし、Swift、Kotlin、Flutter、React-Native、Web、Electron、Python、CLI 向けの安定した API を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト