RunanywhereAI/runanywhere-sdks

Production ready toolkit to run AI locally

RunAnywhere SDK – 适用于每个平台的设备端 AI

它是什么 – RunAnywhere 提供单一 C++ 核心,可以在设备上完全运行多种 AI 能力(LLM、视觉语言模型、语音转文本、文本转语音、嵌入、RAG、图像生成、工具调用等)。八种语言特定 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)。


核心概念

概念 说明
一个 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) – 图像字幕、实时摄像头描述、照片问答。
  • 计算机使用动作解析器 – 将 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 Beta pub add runanywhere(加上后端包)
React Native iOS、Android Beta npm i @runanywhere/core @runanywhere/llamacpp
Web Chromium、Safari、Firefox Beta npm i @runanywhere/web @runanywhere/web-llamacpp
Electron Windows x64 预览 从源码构建(参见 bindings/electron/)
Python Windows/macOS/Linux Alpha 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 是一个真正的、生产级 SDK 套件,让开发者编写一段代码,即可在手机、浏览器、桌面或服务器上本地运行各种 AI 模型,自动利用最佳硬件加速器。它涵盖 LLM 聊天、视觉语言、语音、嵌入、RAG 和扩散,为 Swift、Kotlin、Flutter、React-Native、Web、Electron、Python 和 CLI 提供稳定的 API。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目