پاسخ و گفتگو
پیام متنی، تاریخچهٔ گفتگو، دستورالعمل و خروجی قابل جریان.
ساخت پاسخ
POST /v1/responses یک ورودی متنی یا آرایهٔ پیامها میگیرد. مدل پیشفرض z-ai/glm-5.3-flash است. برای انتخاب دقیقتر از شناسهٔ صفحهٔ مدل استفاده کنید؛ شناسهٔ مدل با نام نمایشی آن یکسان نیست.
import json, os, urllib.request, urllib.error
payload = {
"model": "z-ai/glm-5.3-flash",
"instructions": "تو دستیار یک فروشگاه فارسی هستی. کوتاه و روشن پاسخ بده.",
"input": [
{
"role": "user",
"content": "شرایط ارسال چیست؟"
},
{
"role": "assistant",
"content": "برای کدام شهر سفارش میدهید؟"
},
{
"role": "user",
"content": "شیراز"
}
],
"max_output_tokens": 1024,
"stream": False
}
request = urllib.request.Request(
"https://api.sarovi.ir/v1/responses",
data=json.dumps(payload, ensure_ascii=False).encode("utf-8"),
headers={
"Authorization": "Bearer " + os.environ["SAROVI_API_KEY"],
"Content-Type": "application/json"
},
method="POST"
)
try:
with urllib.request.urlopen(request, timeout=300) as response:
result = json.load(response)
print(result)
except urllib.error.HTTPError as error:
detail = json.load(error)
raise RuntimeError(f"{error.code}: {detail['error'].get('code', detail['error'].get('type', 'HTTP_ERROR'))}") from errorکلید را در متغیر محیطی SAROVI_API_KEY قرار بده. بدون نصب کتابخانه؛ با Python استاندارد.
محدودیت ورودی
حداکثر ۴۰ پیام با مجموع ۹۶٬۰۰۰ نویسه پذیرفته میشود. instructions تا ۱۲٬۰۰۰ نویسه است. سقف max_output_tokens از ۱۲۸ تا ۳۲٬۷۶۸ و پیشفرض ۲۰۴۸ است؛ محدودیت خود مدل نیز اعمال میشود. محدودیت پنجرهٔ زمینهٔ ارائهدهنده به معنی ارسال تمام آن اندازه از این مسیر نیست.
نگهداری گفتگو
این مسیر بهصورت خودکار یک رشتهٔ گفتگو در برنامهٔ ساروی نمیسازد. برای ادامه، پیامهای لازم را در درخواست بعدی بفرستید. پیام سیستم را در instructions قرار دهید و تاریخچه را به اندازهٔ لازم نگه دارید. برای نقش ثابت و دستورالعمل قابل استفادهٔ مجدد، عامل گفتگویی بسازید.
جستجوی وب
با web_search: true جستجوی ارائهشده توسط مسیر گفتگوی ساروی فعال میشود. در صورت وجود، منابع در annotations خروجی برمیگردند. همیشه URLهای بازگرداندهشده را حفظ کنید و استنادهایی که مدل فقط در متن نوشته است منبع تأییدشده فرض نکنید.
قابلیتهای ارائهدهنده و قرارداد ساروی
این نسخه پارامتر دلخواه ابزار، function calling مشتری، temperature، JSON Schema اجباری یا WebSocket عمومی در مسیر responses ندارد. فرستادن فیلد ناشناخته با INVALID_REQUEST رد میشود. قابلیتهای بیشتری که در وبسایت اصلی مدل میبینید ممکن است در قرارداد فعلی ساروی عرضه نشده باشند.
قرارداد API 1.6.0 · تاریخچهٔ تغییرات