Vercel AI SDK کتابخانهی TypeScript برای ساخت رابط چت و جریان متن در Next.js و سایر فریمورکهاست. برای APIهای سازگار با OpenAI بستهی @ai-sdk/openai-compatible وجود دارد که با createOpenAICompatible یک ارائهدهندهی سفارشی با baseURL و apiKey میسازید.
استفاده از بستهی openai-compatible بهجای @ai-sdk/openai دلیل مشخصی دارد: ارائهدهندهی OpenAI در نسخههای جدید پیشفرض از Responses API استفاده میکند که در همهی دروازهها وجود ندارد، ولی بستهی compatible از /chat/completions استفاده میکند.
پیشنیازها
- یک حساب پیکو هوش و یک کلید API از داشبورد (کلید فقط یکبار کامل نمایش داده میشود).
- شناسهی دقیق مدل از کاتالوگ؛ در مثالها از gpt-6-sol و claude-sonnet-5-5 استفاده شده است.
- کمی موجودی در کیف پول تومانی یا اعتبار؛ تعرفه را در صفحهی قیمتها ببینید.
راهاندازی گامبهگام
نصب
AI SDK و بستهی compatible.
Terminal npm install ai @ai-sdk/openai-compatibleساخت ارائهدهنده
یک بار در فایل مشترک بسازید.
lib/pico.ts import { createOpenAICompatible } from "@ai-sdk/openai-compatible"; export const pico = createOpenAICompatible({ name: "picoai", baseURL: "https://api.picoai.ir/v1", apiKey: process.env.PICOAI_API_KEY, });تولید متن
نام مدل را با chatModel بدهید.
generate.ts import { generateText } from "ai"; import { pico } from "./lib/pico"; const { text } = await generateText({ model: pico.chatModel("gpt-6-sol"), prompt: "سه ایده برای نام یک کافه بده.", }); console.log(text);استریم در Route Handler
برای رابط چت، streamText را در مسیر API استفاده کنید. نام تابع تبدیل به پاسخ در نسخههای مختلف AI SDK فرق میکند؛ مستندات نسخهی خودتان را ببینید.
app/api/chat/route.ts import { streamText } from "ai"; import { pico } from "@/lib/pico"; export async function POST(req: Request) { const { messages } = await req.json(); const result = streamText({ model: pico.chatModel("claude-sonnet-5-5"), messages }); return result.toTextStreamResponse(); }
تست سریع اتصال
پیش از نوشتن منطق برنامه، یک بار فهرست مدلها را بگیرید. اگر پاسخ ۲۰۰ و فهرستی از شناسهها برگشت، کلید، شبکه و آدرس درست است و هر مشکل بعدی مربوط به تنظیمات Vercel AI SDK خواهد بود.
curl https://api.picoai.ir/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"نکتههای کاربردی برای Vercel AI SDK
- کلید فقط در سرور استفاده شود؛ مسیر API را بین مرورگر و پیکو هوش قرار دهید.
- نسخهی major کتابخانه ai را ثابت نگه دارید؛ APIهای آن بین نسخهها تغییر کرده است.
- برای خروجی ساختیافته (generateObject) روی مدل انتخابی تست کنید.
عیبیابی
خطای 404 روی /responses
از @ai-sdk/openai با provider پیشفرض استفاده کردهاید. به openai-compatible و chatModel تغییر دهید.
خطای کلید در مرورگر
کلید را از متغیر محیطی سرور (بدون NEXT_PUBLIC) بخوانید.
استریم در Vercel قطع میشود
برای مسیر استریم محدودیت زمانی تابع (maxDuration) را بالا ببرید.
خطای 401 (Unauthorized)
کلید اشتباه، غیرفعال یا همراه فاصلهی اضافه است. در داشبورد کلید را بررسی و در صورت نیاز یک کلید تازه بسازید.
خطای 429 (Rate limit)
تعداد درخواستهای شما در دقیقه از سقف کلید بیشتر شده است. چند ثانیه صبر و دوباره تلاش کنید یا سقف کلید را در داشبورد بررسی کنید.
هزینه و صورتحساب
هر درخواست قبل از اجرا مقداری از موجودی را رزرو میکند و پس از پاسخ موفق بر پایهی توکنهای واقعی تسویه میشود؛ مابهالتفاوت برمیگردد و درخواست ناموفق چیزی کم نمیکند. جدول قیمت هر مدل در صفحهی قیمتها منتشر شده و مصرف هر درخواست در داشبورد قابل مشاهده است. اگر قبلاً از سرویس دیگری استفاده میکردید، راهنمای مهاجرت و صفحهی مقایسه را ببینید.
پرسشهای متداول
آیا useChat کار میکند؟
بله، فرانت از useChat استفاده میکند و بکاند از streamText؛ مدل پشت آن پیکو هوش است.
آیا ابزارها (tools) پشتیبانی میشوند؟
قالب را میپذیرد، اما اجرای واقعی به مدل بستگی دارد.
میتوانم بهجای آن از SDK خود OpenAI استفاده کنم؟
بله؛ راهنمای OpenAI Node را ببینید.
اگر درخواست ناموفق باشد هزینه کم میشود؟
خیر. در پیکو هوش هزینه ابتدا رزرو و پس از پاسخ موفق بر اساس مصرف واقعی تسویه میشود؛ درخواست ناموفق بدون کسر هزینه است.
Vercel AI SDK را همین حالا وصل کنید
با ساخت حساب و یک کلید، در چند دقیقه اولین پاسخ را بگیرید. اگر ابزار دیگری دارید، فهرست کامل اتصالها را ببینید.
راهنمای ابزارهای مرتبط
- اتصال OpenAI Node.js SDKکتابخانهی رسمی OpenAI برای Node.js و TypeScript
- اتصال LangChainاستفاده از مدلهای پیکو هوش در LangChain پایتون و جاوااسکریپت
- اتصال cURLفراخوانی مستقیم API پیکو هوش از ترمینال
- اتصال n8nاتوماسیون n8n با گره OpenAI و آدرس پایهی پیکو هوش
- اتصال LangGraphساخت ایجنتهای گرافی با LangGraph روی مدلهای پیکو هوش
- اتصال LlamaIndexاستفاده از LlamaIndex با مدلهای سازگار با OpenAI پیکو هوش
- مقایسهی پیکو هوش با سرویسهای مشابهمقایسهی بیطرفانه و مبتنی بر اطلاعات عمومی
- Base URL چیست؟تعریف و کاربرد آدرس پایه در APIهای سازگار