sarvam-ai-sdk weekly downloads statistics
Sarvam provider support for Vercel's AI-SDK
sarvam-ai-sdk has 984 recorded weekly downloads on npm, an increase of 92.2% over the past 30 days, ranking #1450 of 2,322 tracked listings.
About sarvam-ai-sdk
AI SDK - Sarvam Provider
The Sarvam provider for the AI SDK contains language model support for the Sarvam chat completion, Text-to-Speech and Speech-to-Text APIs.
Setup
The Sarvam provider is available in the sarvam-ai-sdk module. You can install it with
npm i sarvam-ai-sdk ai@7
[!WARNING] This package only works with Vercel AI-SDK v7, not v8. Make sure to install
ai@7in your project.
Version Compatibility
| Sarvam AI SDK Version | Vercel AI SDK Version |
|---|---|
| 0.5.x (beta) | 8.x.x (beta) |
| 0.4.x (current) | 7.x.x (current) |
| 0.3.x | 6.x.x |
| 0.2.x | 5.x.x |
| 0.1.x | 4.x.x |
Provider Instance
You can import the default provider instance sarvam from sarvam-ai-sdk:
import { sarvam } from "sarvam-ai-sdk";
Create .env file with API key from Sarvam Dashboard
SARVAM_API_KEY="your_api_key"
Example
import { sarvam } from "sarvam-ai-sdk";
import { generateText } from "ai";
const { text } = await generateText({
model: sarvam("sarvam-105b", {
reasoning_effort: "low",
}),
prompt: "Translate this to malayalam: 'Keep cooking, guys'",
});
console.log(text); // പാചകം തുടരൂ, സുഹൃത്തുക്കളേ
Text-to-Speech
import { sarvam } from "sarvam-ai-sdk";
import { generateSpeech } from "ai";
import { writeFile } from "fs/promises";
const { audio } = await generateSpeech({
model: sarvam.speech("bulbul:v3", "ml-IN"),
text: "പാചകം തുടരൂ, സുഹൃത്തുക്കളേ",
});
const audioBuffer = Buffer.from(audio.base64, "base64");
await writeFile("./src/transcript-test.wav", audioBuffer);
Speech-to-Text
import { sarvam } from "sarvam-ai-sdk";
import { transcribe } from "ai";
import { readFile } from "fs/promises";
const { text } = await transcribe({
model: sarvam.transcription("saaras:v4", "en-IN"),
audio: await readFile("./src/transcript-test.wav"),
});
console.log(text); // Pachakam thudaroo, suhruthukkale.
Translation
NB: Only translates
promptandrole:usermessages, notrole:systemnotrole:assistant.
import { sarvam } from "sarvam-ai-sdk";
import { generateText } from "ai";
const result = await generateText({
model: sarvam.translation("mayura:v1", {
from: "ml-IN",
to: "en-IN",
}),
prompt: "ഇതൊക്കെ ശ്രദ്ധിക്കണ്ടേ അംബാനെ?",
});
console.log(result.text); // Shouldn't we be careful about this, Ambane?
Transliterate
NB: Only transliterates
promptandrole:usermessages, notrole:systemnotrole:assistant.
import { sarvam } from "sarvam-ai-sdk";
import { generateText } from "ai";
const result = await generateText({
model: sarvam.transliterate({
to: "ml-IN",
from: "en-IN", // optional
}),
prompt: "eda mone, happy alle?",
});
console.log(result.text); // എടാ മോനെ, ഹാപ്പി അല്ലേ?
Language Identification
NB: Only identifies
promptandrole:usermessages, notrole:systemnotrole:assistant.
import { sarvam } from "sarvam-ai-sdk";
import { generateText } from "ai";
const result = await generateText({
model: sarvam.languageIdentification(),
prompt: "ബുദ്ധിയാണ് സാറേ ഇവൻ്റെ മെയിൻ",
});
console.log(result.text); // ml-IN
Tool Calling
import { z } from "zod";
import { generateText, tool } from "ai";
import { sarvam } from "sarvam-ai-sdk";
const result = await generateText({
model: sarvam("sarvam-105b"),
tools: {
weather: tool({
description: "Get the weather in a location",
inputSchema: z.object({
location: z.string(),
}),
execute: async ({ location }) => ({
location,
temperature: 72 + Math.floor(Math.random() * 21) - 10,
}),
}),
},
instructions: "Your are a helpful AI",
prompt: "കൊച്ചിയിലെ കാലാവസ്ഥ എന്താണ്?",
});
console.log(result.toolResults);
Generating Structured Outputs
import { z } from "zod";
import { sarvam } from "sarvam-ai-sdk";
import { generateText, Output } from "ai";
const { output } = await generateText({
model: sarvam("sarvam-105b", {
experimental_json_mode: true, // to enable direct JSON mode
reasoning_effort: "none", // to reduce inference time
}),
output: Output.object({
name: "Recipe",
description: "A recipe with a name, ingredients and steps",
schema: z.object({
recipe: z.object({
name: z.string(),
ingredients: z.array(z.string()),
steps: z.array(z.string()),
}),
}),
}),
prompt: "Generate a South Indian recipe, in Malayalam",
});
console.log(output);
EVE Agents
Build durable agents with Vercel's Eve Framework.
import { simulateStreamingMiddleware, wrapLanguageModel } from "ai";
import { defineAgent } from "eve";
import { sarvam } from "sarvam-ai-sdk";
import { SarvamChatModelInfo } from "sarvam-ai-sdk/info";
const model = wrapLanguageModel({
model: sarvam("sarvam-105b"),
middleware: simulateStreamingMiddleware(),
});
export default defineAgent({
model,
modelContextWindowTokens: SarvamChatModelInfo["sarvam-105b"].context_window,
});
All APIs
import { sarvam, createSarvam } from "sarvam-ai-sdk";
// Override `SARVAM_API_KEY` using
createSarvam({ apiKey: "your_api_key" })
// Text-to-Text + Chat Completion
sarvam("sarvam-105b-conversations");
sarvam.languageModel("sarvam-105b", {
version: "v2",
});
// Text-to-Text + Transliteration
sarvam.transliterate({ to: "ml-IN", from: "en-IN" });
// Text-to-Text + Translation
sarvam.translation("mayura:v1", { from: "en-IN", to: "ml-IN" });
// Text-to-Text + Language identification
sarvam.languageIdentification();…
Description from the npm listing.
- ai
- ai-sdk
- eve
- vercel
- sarvam
- india
- bharat
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (544)Similar npm AI SDKs plugins
All 20 sarvam-ai-sdk alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/sarvam-ai-sdk. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.