Skip to content

Providers Overview

moon-wave provides a unified interface across multiple LLM providers. All providers implement the same LLMProvider interface, so switching is a one-line change.

Supported providers

ProviderPackage importBest for
GroqGroqProviderFast inference, free tier
Google GeminiGoogleProviderLong context, generous free tier
CerebrasCerebrasProviderUltra-fast inference
Workers AIWorkersAIProviderNo API key, runs on Cloudflare

Using LLMRouter

Register multiple providers and switch at runtime:

import { LLMRouter } from '@moon-wave/providers';
const router = new LLMRouter()
.register('groq', { apiKey: env.GROQ_API_KEY })
.register('google', { apiKey: env.GOOGLE_AI_KEY })
.register('cerebras', { apiKey: env.CEREBRAS_API_KEY });
// Use a specific provider
const provider = router.get('groq');

The Agent class uses LLMRouter internally — just set model.provider in config:

const agent = new Agent({
model: { provider: 'groq', model: 'llama-3.3-70b-versatile' },
// ...
});