विषय-सूची
- 1. AI SDK क्या है — "OpenAI/Anthropic/Gemini एक ही API से"
- 2. AI SDK क्यों इस्तेमाल करें — 3 व्यावहारिक कारण
- 3. 5 मिनट में चलाएँ — generateText से streamText तक
- 4. स्ट्रक्चर्ड आउटपुट — generateObject से टाइप-सेफ़ JSON
- 5. Tool calling और Agents — AI SDK 6 का दिल
- 6. React इंटीग्रेशन — useChat से 10 लाइन में चैट UI
- 7. प्रोवाइडर बदलना — Claude ↔ GPT ↔ Gemini 3 लाइन में
- 8. प्रोडक्शन के तीन जाल
- सारांश
- FAQ
"मैंने OpenAI API पर शिप कर दिया, पर Claude और Gemini भी आज़माना चाहता हूँ" — और आप तीन अलग SDK के सामने वही लॉजिक दोबारा लिखने में दो घंटे लगा देते हैं, हाथ से request और response फ़ॉर्मैट अनुवादित करते हुए। Vercel AI SDK (2026 से सिर्फ़ "AI SDK") उसे "एक import, एक function, हर provider" में समेट देता है। एक TypeScript ओपन-सोर्स लाइब्रेरी जिसकी 20M+ मासिक डाउनलोड हैं, AI SDK 6 में Agents, MCP, tool approval और DevTools शामिल हैं, और मई 2026 तक यह एकीकृत LLM इंटरफ़ेस का de facto मानक है।
शुरू में ही: अगर आप 2026 में किसी वेब ऐप या Node.js प्रोजेक्ट से LLM कॉल कर रहे हैं, तो AI SDK सही डिफ़ॉल्ट है — बस। OpenAI या Anthropic SDK के सामने सीधे लिखने की एकमात्र वजहें हैं "मौजूदा कोडबेस," "एकदम नई provider-specific सुविधाएँ (Anthropic computer use आदि)"। बाक़ी हर जगह AI SDK आपको "आसान switching, 1/3 implementation, टाइप सेफ़्टी, React इंटीग्रेशन" भारी बढ़त के साथ देता है।
व्यक्तिगत राय पहले: AI SDK की असली कीमत vendor lock-in से आज़ादी है। OpenAI दाम बढ़ाता है? तीन लाइनों में Anthropic पर। Gemini नया मॉडल लाता है? एक जगह आज़माएँ। सब कुछ एक ही codebase में। जैसा AI API क्या है में बताया, 2026 की वास्तविकता यह है कि "अलग-अलग कामों के लिए अलग मॉडल" अब डिफ़ॉल्ट है — और AI SDK switching cost को asymptotically शून्य की ओर धकेलता है। यह लेख कवर करता है कि AI SDK क्या है, क्यों इस्तेमाल करें, 5-मिनट क्विकस्टार्ट, स्ट्रक्चर्ड आउटपुट, tool calling और agents, React इंटीग्रेशन, provider switching, और प्रोडक्शन के तीन जाल — सब AI SDK 6 (मई 2026) के आधार पर।
तीन प्रोवाइडर, एक API — lock-in से बाहर
— तीन अलग SDK लिखने का दौर 2025 में ख़त्म
मई 2026: 20M+ मासिक डाउनलोड, AI SDK 6 में Agents, MCP, tool approval।
TypeScript, Apache 2.0, कहीं भी चलता है (Cloudflare Workers / AWS Lambda / आपका Node.js)।
1. AI SDK क्या है — "OpenAI/Anthropic/Gemini एक ही API से"
AI SDK एक Vercel द्वारा बनाई गई ओपन-सोर्स TypeScript लाइब्रेरी है। GitHub: vercel/ai, लाइसेंस Apache 2.0, मई 2026 तक 20M+ मासिक डाउनलोड। Vercel द्वारा बनी, पर चलाने के लिए Vercel ज़रूरी नहीं — Cloudflare Workers, AWS Lambda, Deno, आपका अपना Node.js, ब्राउज़र — सब चलते हैं।
मूल विचार है "LLM provider switching के लिए adapter layer।" उदाहरण:
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
const { text } = await generateText({
model: openai('gpt-5'),
prompt: 'Tell me today\'s weather',
});
इसे Anthropic पर स्विच करने के लिए तीन लाइनें बदलनी हैं:
import { generateText } from 'ai';
import { anthropic } from '@ai-sdk/anthropic'; // ← changed
const { text } = await generateText({
model: anthropic('claude-opus-4-7'), // ← changed
prompt: 'Tell me today\'s weather',
});
कॉलिंग कोड बिल्कुल नहीं बदलता। व्यवहार में "हर provider के लिए एक API" का यही मतलब है। हर provider का अपना messages format, stop sequences, tool schemas, system prompt placement, response JSON shape होता है — और AI SDK यह सब hood के नीचे सोख लेता है।
2. AI SDK क्यों इस्तेमाल करें — 3 व्यावहारिक कारण
तीन ठोस कारण: "आसान switching, 1/3 implementation, टाइप सेफ़्टी।"
तीन व्यावहारिक कारण
बोनस: React, Vue, Svelte, Node.js सब समर्थित; Vercel द्वारा मासिक रखरखाव; 20M downloads/महीना के साथ सबसे बड़ा ecosystem।
जब AI SDK उपयुक्त नहीं: ① जब आपको रिलीज़ के तुरंत बाद किसी provider की एकदम नई सुविधा (Anthropic computer use आदि) पुश करनी हो, AI SDK द्वारा wrap किए जाने से पहले; ② जब आप सिर्फ़ Python में काम करते हैं (AI SDK केवल TypeScript); ③ जब मौजूदा OpenAI-SDK codebase चल रही है और दोबारा लिखने की कोई वजह नहीं। इनके बाहर, 2026 का डिफ़ॉल्ट AI SDK है।
3. 5 मिनट में चलाएँ — generateText से streamText तक
न्यूनतम सेटअप तीन कदम। डेमो Node.js / Next.js पर।
# Step 1: install
npm install ai @ai-sdk/openai
# env: OPENAI_API_KEY=sk-...
# Step 2: create a file (app/api/chat/route.ts or index.ts)
// Step 3: code
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
const { text, usage } = await generateText({
model: openai('gpt-5'),
system: 'You are a careful, helpful assistant.',
prompt: 'List three benefits of the AI SDK.',
});
console.log(text);
console.log(`tokens: ${usage.totalTokens}`);
यह नॉन-स्ट्रीमिंग, पूरा टेक्स्ट लौटाता है। चलाएँ और कुछ सेकंड में रिस्पॉन्स text में आ जाता है। usage आपको token गिनती ख़ुद देता है — token-saving लेख की cost discipline सीधे लागू होती है।
Streaming (typewriter UX) पर स्विच करना बस function का नाम streamText कर देना है:
import { streamText } from 'ai';
import { openai } from '@ai-sdk/openai';
const result = streamText({
model: openai('gpt-5'),
prompt: 'List three benefits of the AI SDK.',
});
for await (const chunk of result.textStream) {
process.stdout.write(chunk); // emit token by token
}
raw OpenAI SDK में आपको SSE पार्सिंग, chunk concatenation, end-of-stream detection हाथ से लिखना पड़ता (30–50 लाइनें)। AI SDK में एक for-await लूप। वही कोड Anthropic और Gemini पर बिना बदलाव चलता है।
4. स्ट्रक्चर्ड आउटपुट — generateObject से टाइप-सेफ़ JSON
LLM से "JSON" माँगिए और कभी-कभी आपको वह Markdown code block में लिपटा, comments डाला हुआ, या structure चुपचाप बदला हुआ मिलेगा। generateObject इसे जड़ से ठीक करता है: Zod schema से shape परिभाषित कीजिए, और AI SDK parsing, validation और retry ख़ुद संभाल लेता है।
import { generateObject } from 'ai';
import { openai } from '@ai-sdk/openai';
import { z } from 'zod';
const { object } = await generateObject({
model: openai('gpt-5'),
schema: z.object({
title: z.string(),
tags: z.array(z.string()).max(5),
sentiment: z.enum(['positive', 'neutral', 'negative']),
summary: z.string().max(200),
}),
prompt: 'Analyze the article: "AI SDK 6 has..." [body]',
});
// object.title, object.tags etc are typed
console.log(object.tags); // string[]
असली फ़ायदा: "object का type `z.infer<typeof schema>` से तय होता है।" TypeScript उसे infer करता है, इसलिए IDE में object. टाइप करते ही title / tags / sentiment / summary autocomplete हो जाते हैं। Runtime validation SDK के अंदर चलती है — schema उल्लंघन पर automatic retry। "AI ने बेकार JSON लौटाया, parse फ़ेल" वाली incident कैटेगरी प्रभावी रूप से ग़ायब।
5. Tool calling और Agents — AI SDK 6 का दिल
2026 में AI डेवलपमेंट की सीमा है "tool-calling agents," और AI SDK 6 की सबसे बड़ी छलाँग यहीं है। tools और stopWhen के साथ आपको "tool कॉल करो → AI तय करता है → अगला tool कॉल करो" लूप सीधे मिलते हैं।
import { generateText, tool, stepCountIs } from 'ai';
import { anthropic } from '@ai-sdk/anthropic';
import { z } from 'zod';
const { text, steps } = await generateText({
model: anthropic('claude-opus-4-7'),
tools: {
weather: tool({
description: 'Get the weather for a city',
inputSchema: z.object({ city: z.string() }),
execute: async ({ city }) => {
// real API call
return { temp: 22, condition: 'sunny' };
},
}),
convertToFahrenheit: tool({
description: 'Convert Celsius to Fahrenheit',
inputSchema: z.object({ celsius: z.number() }),
execute: async ({ celsius }) => celsius * 9/5 + 32,
}),
},
stopWhen: stepCountIs(5), // cap the loop at 5 steps
prompt: 'What is the weather in Tokyo, in Fahrenheit?',
});
अब AI स्वायत्त रूप से "weather('Tokyo') → convertToFahrenheit(22)" का क्रम तय करता है, उन्हें चलाता है, और परिणामों को जोड़ता है। steps per-step execution history दिखाता है।
AI SDK 6 में object-oriented शैली के लिए ToolLoopAgent class भी है (generateText + stopWhen के समकक्ष)। यह tool execution approval (कोई इंसान tool चलने से पहले पुष्टि करता है) और पूर्ण MCP (Model Context Protocol) इंटीग्रेशन जोड़ता है। MCP server से जुड़ना (देखें MCP क्या है) मई 2026 में तीन लाइन है।
6. React इंटीग्रेशन — useChat से 10 लाइन में चैट UI
AI SDK का दूसरा सितारा है React Hooks। useChat से एक ChatGPT-जैसा UI 10 लाइन कोड में।
'use client';
import { useChat } from '@ai-sdk/react';
export default function Chat() {
const { messages, input, handleInputChange, handleSubmit } = useChat();
return (
<div>
{messages.map(m => (
<div key={m.id}>{m.role}: {m.content}</div>
))}
<form onSubmit={handleSubmit}>
<input value={input} onChange={handleInputChange} />
</form>
</div>
);
}
सर्वर साइड (Next.js API Route):
// app/api/chat/route.ts
import { streamText, convertToModelMessages } from 'ai';
import { openai } from '@ai-sdk/openai';
export async function POST(req: Request) {
const { messages } = await req.json();
const result = streamText({
model: openai('gpt-5'),
messages: convertToModelMessages(messages),
});
return result.toUIMessageStreamResponse();
}
इतने भर से SSE कनेक्शन, message state management, loading और error handling — सब अपने आप। AI SDK 6 का useChat tool approval UI (उपयोगकर्ता क्लिक करके अनुमोदित करता है कि "क्या इस tool को चलाया जाए?") को नेटिव रूप से संभालता है। Vue (@ai-sdk/vue से useChat), Svelte और Solid hooks भी शामिल हैं।
7. प्रोवाइडर बदलना — Claude ↔ GPT ↔ Gemini 3 लाइन में
मई 2026 तक AI SDK द्वारा आधिकारिक रूप से समर्थित प्रमुख providers:
| Provider | Package | प्रमुख मॉडल | ताक़त |
|---|---|---|---|
| OpenAI | @ai-sdk/openai | gpt-5, gpt-5-mini, o4 | कोड, सामान्य, image generation |
| Anthropic | @ai-sdk/anthropic | claude-opus-4-7, claude-sonnet-4 | लंबा रूप, reasoning, सुरक्षा |
@ai-sdk/google | gemini-3, gemini-2.5-flash | मल्टीमोडल, cost efficiency | |
| Mistral | @ai-sdk/mistral | mistral-large, codestral | EU data residency, कोड |
| xAI | @ai-sdk/xai | grok-3 | रीयल-टाइम जानकारी |
| Compatible | @ai-sdk/openai-compatible | Ollama, LM Studio, self-hosted | Local / private LLMs |
स्विच करना: एक import + एक model line। AI SDK 5 ने global provider सुविधा जोड़ी जहाँ आप model को string ID (जैसे 'openai/gpt-5') से बता सकते हैं। इसे LLM knowledge cutoff तुलना और Claude बनाम ChatGPT pricing के साथ जोड़कर "लागत, परफ़ॉर्मेंस, क्षेत्रीय आवश्यकताएँ" के आधार पर मॉडल चुनें।
8. प्रोडक्शन के तीन जाल
AI SDK सुविधाजनक है, पर हर टीम प्रोडक्शन में तीन जालों से टकराती है। पहले से जान लेने पर 80% incidents टल जाते हैं।
प्रोडक्शन के तीन जाल
tools सेटअप अलग व्यवहार करता है — parallel execution support OpenAI और Anthropic में अलग।उपाय: per-provider e2e टेस्ट, provider-विशिष्ट सेटिंग्स के लिए
providerOptions इस्तेमाल करें।उपाय:
req.signal को abortSignal के रूप में पास करें; सर्वर पर client disconnect का पता लगाएँ।उपाय: schemas बाँटें,
z.lazy इस्तेमाल करें, गन्दे हिस्सों के लिए z.any() + runtime validation पर fallback करें।इन तीनों को जानने से "Claude पर चलता है, GPT पर टूटता है", "उपयोगकर्ता disconnect के बाद बिल", और "जमा हुआ IDE" वाले लगभग 80% incidents रुक जाते हैं।
एक और बात: AI SDK "एक LLM adapter" है, "LLM-cost reseller" नहीं। हर provider की API key आपकी ज़िम्मेदारी है, billing सीधे आपको। जैसा AI API क्या है में बताया, खर्च OpenAI/Anthropic/Google द्वारा सीधे bill होते हैं। AI SDK ख़ुद मुफ़्त है; आप सिर्फ़ इस्तेमाल किए LLM का भुगतान करते हैं।
सारांश
"वेब ऐप से LLM कैसे कॉल करूँ?" — मई 2026 तक डिज़ाइन निर्णय "AI SDK, बस।" पर सिमट गया है। 20M+ मासिक डाउनलोड, AI SDK 6 में Agents, MCP, tool approval, DevTools, और आप OpenAI/Anthropic/Google/Mistral/xAI/local LLMs को एक ही codebase से कॉल कर सकते हैं। यह तीन चीज़ें एक साथ देता है: "vendor lock-in से आज़ादी," "1/3 implementation cost," और "टाइप-सेफ़ structured output।"
शुरुआत आसान: ① npm install ai @ai-sdk/openai, ② API key सेट करें, ③ एक लाइन generateText({ model, prompt })। यह चलने पर ऊपर परतें जोड़ें — streaming के लिए streamText, JSON के लिए generateObject, agents के लिए tools, UI के लिए useChat। प्रोडक्शन से पहले तीन जाल (provider feature gaps, stream abort billing, type-inference overload) को आत्मसात करें।
संबंधित: AI API क्या है (मूल बातें), AI Vercel की सिफ़ारिश करता है, MCP क्या है, Token saving।
FAQ
Q. क्या इस्तेमाल के लिए Vercel पर deploy करना ज़रूरी है?
A. नहीं। AI SDK एक शुद्ध TypeScript लाइब्रेरी है — Cloudflare Workers, AWS Lambda, Deno, आपका अपना Node.js सर्वर, ब्राउज़र — सब चलते हैं। "Vercel द्वारा बना" का मतलब "केवल Vercel" नहीं।
Q. क्या इसकी कोई कीमत है?
A. AI SDK ख़ुद पूरी तरह मुफ़्त, MIT-शैली लाइसेंस। लागत केवल उस LLM provider के API usage की है जिसे आप कॉल करते हैं (OpenAI/Anthropic/आदि)। SDK कोई markup नहीं जोड़ता।
Q. यह LangChain या LlamaIndex से कैसे अलग है?
A. अलग भूमिकाएँ। AI SDK वेब ऐप इंटीग्रेशन के लिए optimized "पतला LLM-call adapter" है। LangChain "RAG और agent workflows" के लिए पूर्ण-सुविधायुक्त framework। व्यावहारिक बँटवारा: "TypeScript + Web UI में इंटीग्रेट" → AI SDK; "Python + जटिल agent pipelines" → LangChain।
Q. मौजूदा OpenAI SDK कोड से migrate करना कितना मुश्किल है?
A. साधारण openai.chat.completions.create कॉल के लिए लगभग 10 मिनट की rewrite — generateText से बदलें और messages पास करें। जटिल सुविधाएँ (function calling, vision) में थोड़ा format conversion ज़रूरी है, पर docs में migration guides हैं।
Q. क्या यह local LLMs (Ollama) के साथ काम करता है?
A. हाँ। @ai-sdk/openai-compatible पैकेज से आप किसी भी OpenAI-compatible API endpoint को हिट कर सकते हैं — Ollama, LM Studio, vLLM, अपना सर्वर। "local LLMs पर डेवलप करें, cloud पर शिप करें" वाला workflow एक एकल baseURL बदलाव बन जाता है।