react-native-ai-skills
react-native-ai-skills — a Claude Code skill from callstackincubator/react-native-ai
Features
- ✓🚀 **Instant AI** - Use built-in system models immediately without downloads
- ✓🔒 **Privacy-first** - All processing happens on-device, data stays local
- ✓🎯 **Vercel AI SDK compatible** - Drop-in replacement with familiar APIs
- ✓🎨 **Complete toolkit** - Text generation, embeddings, transcription, speech synthesis
Installation Guide
npm install @react-native-ai/appleNo additional linking needed, works immediately on iOS devices (autolinked).
#### Usage
import { apple } from '@react-native-ai/apple'
import {
generateText,
embed,
experimental_transcribe as transcribe,
experimental_generateSpeech as speech,
} from 'ai'
// Text generation with Apple Intelligence
const { text } = await generateText({
model: apple(),
prompt: 'Explain quantum computing',
})
// Generate embeddings
const { embedding } = await embed({
model: apple.textEmbeddingModel(),
value: 'Hello world',
})
// Transcribe audio
const { text } = await transcribe({
model: apple.transcriptionModel(),
audio: audioBuffer,
})
// Text-to-speech
const { audio } = await speech({
model: apple.speechModel(),
text: 'Hello from Apple!',
})#### Availability
| Feature | iOS Version | Additional Requirements |
| ---------------- | ----------- | -------------------------- |
| Text Generation | iOS 26+ | Apple Intelligence device |
| Embeddings | iOS 17+ | - |
| Transcription | iOS 26+ | - |
| Speech Synthesis | iOS 13+ | iOS 17+ for Personal Voice |
See the Apple documentation for detailed setup and usage guides.
---
Llama
Run any GGUF model on-device using llama.rn. Requires download - models are downloaded from HuggingFace.
#### Supported Features
| Feature | Method | Description |
| --------------- | ---------------------------- | --------------------------------------------- |
| Text Generation | llama.languageModel() | Chat, completion, streaming, reasoning models |
| Embeddings | llama.textEmbeddingModel() | Text embeddings for RAG and similarity search |
| Speech | llama.speechModel() | Text-to-speech with vocoder models |
#### Installation
npm install @react-native-ai/llama llama.rn react-native-blob-util#### Usage
import { llama } from '@react-native-ai/llama'
import { generateText, streamText } from 'ai'
// Create model instance (Model ID format: "owner/repo/filename.gguf")
const model = llama.languageModel(
'ggml-org/SmolLM3-3B-GGUF/SmolLM3-Q4_K_M.gguf'
)
// Download from HuggingFace (with progress)
await model.download((progress) => {
console.log(`Downloading: ${progress.percentage}%`)
})
// Initialize model (loads into memory)
await model.prepare()
// Generate text
const { text } = await generateText({
model,
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Write a haiku about coding.' },
],
})
// Cleanup when done
await model.unload()#### Model Compatibility
Any GGUF model from HuggingFace can be used. Use the format owner/repo/filename.gguf as the model ID. Popular choices include:
ggml-org/SmolLM3-3B-GGUF/SmolLM3-Q4_K_M.ggufbartowski/Llama-3.2-3B-Instruct-GGUF/Llama-3.2-3B-Instruct-Q4_K_M.ggufQwen/Qwen2.5-1.5B-Instruct-GGUF/qwen2.5-1.5b-instruct-q4_k_m.gguf📚 View full Llama documentation →
---
MLC
Run popular open-source LLMs directly on-device using MLC LLM's optimized runtime. Requires download - models must be downloaded before use.
#### Installation
npm install @react-native-ai/mlcRequires the "Increased Memory Limit" capability in Xcode. See the getting started guide for setup instructions.
#### Usage
import { mlc } from '@react-native-ai/mlc'
import { generateText } from 'ai'
// Create model instance
const model = mlc.languageModel('Llama-3.2-3B-Instruct')
// Download and prepare model (one-time setup)
await model.download()
await model.prepare()
// Generate response with Llama via MLC engine
const { text } = await generateText({
model,
prompt: 'Explain quantum computing',
})#### Available Models
| Model ID | Size |
| ------------------------ | ------ |
| Llama-3.2-3B-Instruct | ~2GB |
| Phi-3-mini-4k-instruct | ~2.5GB |
| Mistral-7B-Instruct | ~4.5GB |
| Qwen2.5-1.5B-Instruct | ~1GB |
[!NOTE]
MLC requires iOS devices with sufficient memory (1-8GB depending on model). The prebuilt runtime supports the models listed above. For other models or custom configurations, you'll need to recompile the MLC runtime from source.