پرامپت و بازخورد

ساخت متن پرامپت ذخیره‌شده

یک پرامپت ذخیره‌شده را با متغیرهای شما پر کنید و پیام‌های آماده، مدل و پارامترهای آن را بگیرید، بدون اینکه مدلی صدا زده شود.

POST/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."
  }
}'
200پاسخ
{
  "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

    نسخه یا برچسب خواسته‌شده وجود ندارد.

صفحه‌های مرتبط