پرامپت و بازخورد
ساخت متن پرامپت ذخیرهشده
یک پرامپت ذخیرهشده را با متغیرهای شما پر کنید و پیامهای آماده، مدل و پارامترهای آن را بگیرید، بدون اینکه مدلی صدا زده شود.
/v1/prompts/{slug}/renderپرامپتهای ذخیرهشده برای وقتی هستند که متن دستورها را جدا از کد نگه میدارید و بدون انتشار دوبارهی برنامه عوض میکنید. پرامپتها از پیش برای حساب شما ساخته شدهاند و slug همان نامی است که برایتان تعریف شده؛ پرامپتی که برای شما تعریف نشده باشد 404 prompt_not_found میدهد. نمونههای این صفحه از support-reply استفاده میکنند.
این مسیر فقط متن را میسازد و مدلی را صدا نمیزند، پس اعتباری مصرف نمیشود. نتیجه را میتوانید خودتان به هر مسیر گفتگو بدهید، یا از اجرای پرامپت استفاده کنید که ساخت و اجرا را یکجا انجام میدهد.
قالب متغیرها
متن پرامپت از نحوهی Mustache پیروی میکند:
{{name}}و{{user.name}}: مقدار متغیر. متغیر تعریفنشده به صورت پیشفرض خالی میشود.{{#items}}…{{/items}}: بخشی که برای هر عنصر آرایه تکرار میشود، یا یکبار برای مقدار درست.{{^name}}…{{/name}}: بخشی که فقط وقتی متغیر خالی یا نادرست است نمایش داده میشود.{{>partial}}: بخش مشترکی که از پیش ذخیره شده را اضافه میکند.
مقدار متغیرها بدون هیچگونه escape در متن مینشیند، چون خروجی پرامپت مدل است، نه صفحهی وب.
نسخه
به صورت پیشفرض نسخهی جاری پرامپت استفاده میشود. با version نسخهی مشخص و با label جدیدترین نسخهی دارای آن برچسب انتخاب میشود. اگر هر دو بیایند version مقدم است.
نمونهها
curl https://1ai.ir/v1/prompts/support-reply/render \
-H "Authorization: Bearer $ONEAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"variables": {
"customer_name": "Sara",
"issue": "My order has not arrived."
}
}'{
"prompt": "support-reply",
"version": 3,
"model": "openai/gpt-5.4-mini",
"params": {
"temperature": 0.3,
"max_tokens": 400
},
"messages": [
{
"role": "system",
"content": "You are a polite support agent. Answer in the customer's language."
},
{
"role": "user",
"content": "Customer: Sara\nIssue: My order has not arrived."
}
]
}پارامترهای مسیر
slugstringالزامینام پرامپت. حروف بزرگ و کوچک فرقی ندارد.
پارامترهای کوئری
versionintegerشمارهی نسخه. اگر نباشد، نسخهی جاری پرامپت به کار میرود.
labelstringبرچسب نسخه، مثلاً
production؛ جدیدترین نسخهی دارای این برچسب انتخاب میشود. تا ۶۰ نویسه.
بدنهی درخواست
variablesobjectمقدار متغیرهای قالب، به صورت جفت نام و مقدار. نامها میتوانند تو در تو باشند (
user.name).strictbooleanپیشفرض:falseاگر
trueباشد و متغیری مقدار نداشته باشد، به جای رشتهی خالی خطایprompt_render_failedمیآید.
خطاها
prompt_render_failed400قالب پرامپت نادرست است یا در حالت
strictمتغیری مقدار ندارد.prompt_not_found404پرامپتی با این
slugوجود ندارد.prompt_version_not_found404نسخه یا برچسب خواستهشده وجود ندارد.