SDK و ابزارهای توسعه
کلاینت آشنای خود را نگه دارید یا از SDK ساروی برای قابلیتهای اختصاصی استفاده کنید.
مسیر مناسب را انتخاب کنید
| نیاز شما | انتخاب |
|---|---|
| پاسخ و گفتگو در برنامهٔ OpenAI | کلاینت رسمی OpenAI با آدرس پایهٔ ساروی |
| Messages در برنامهٔ Anthropic | کلاینت رسمی Anthropic؛ زیرمجموعهٔ پشتیبانیشده |
| Studio، Work، فایل، مصرف و پاسخ | SDK پیشنمایش ساروی برای TypeScript یا Python |
SDKهای ساروی در این نسخه بهصورت بستهٔ قابل دانلود ارائه میشوند؛ نام بسته در رجیستری عمومی منتشر نشده است. بستهٔ همین نسخه را نصب کنید و قبل از استفاده در محصول، نمونهها را در محیط آزمایشی اجرا کنید.
نصب SDK ساروی
دریافت بستهٔ TypeScript · دریافت بستهٔ Python
npm install ./sarovi-sdk-0.1.0.tgz
# Python
pip install ./sarovi_sdk-0.1.0.tar.gzimport { Sarovi } from "@sarovi/sdk";
const client = new Sarovi({ apiKey: process.env.SAROVI_API_KEY });
const response = await client.responses.create({
model: "z-ai/glm-5.3-flash",
input: "یک پیام خوشآمدگویی کوتاه بنویس.",
max_output_tokens: 512,
});
console.log(response.output_text);from sarovi import Sarovi
with Sarovi() as client:
response = client.responses.create(
model="z-ai/glm-5.3-flash",
input="یک پیام خوشآمدگویی کوتاه بنویس.",
max_output_tokens=512,
)
print(response["output_text"])پاسخ زنده
for await (const event of client.responses.stream({
model: "z-ai/glm-5.3-flash", input: "یک داستان کوتاه بنویس.",
max_output_tokens: 1024,
})) {
if (event.type === "response.output_text.delta") process.stdout.write(event.delta);
}پایان اتصال بهتنهایی موفقیت نیست. SDK خطای جریان و قطع شدن پیش از پیام پایانی را گزارش میکند. لغو حلقه، دریافت جریان را متوقف میکند؛ اعتبار بخش اجراشده ممکن است مصرف شده باشد.
قابلیتهای اختصاصی
client.models.list() مدلها را میخواند. client.studio.image()، audio() و text() ورودی قرارداد همان مسیر را میگیرند. برای ویدیو، video() شناسهٔ کار میدهد و videoStatus() همان کار را بررسی میکند؛ ساخت ویدیو را در حلقه تکرار نکنید.
client.work.create() کار تازه میسازد؛ retrieve()، wait()، cancel() و files() برای همان شناسه هستند. wait() فقط وضعیت را میخواند و کار تازهای ایجاد نمیکند. client.balance() و client.usage() به usage:read نیاز دارند.
خطا و تلاش مجدد
SaroviError وضعیت HTTP، کد خطا و requestId (در Python: request_id) دارد. تلاش مجدد خودکار عملیات پولی پیشفرض نیست. برای تکرار همان درخواست، idempotencyKey (در Python: idempotency_key) را ثابت نگه دارید. TypeScript از AbortSignal و Python از مهلت درخواست پشتیبانی میکند.
مرجع کامل API قرارداد ورودیها و پاسخها را نشان میدهد. تغییر نسخه و محدودیتها را در تغییرات API دنبال کنید.
قرارداد API 1.6.0 · تاریخچهٔ تغییرات