پرش به مطلب اصلی

تنظیمات پیشرفته نسخه

در رجیستری پرامپت می‌توانید کنار متن پرامپت، تنظیمات اجرایی و سیاست‌های مرتبط را هم در Spec نسخه ثبت کنید: تنظیمات مدل، کش پاسخ، گاردریل‌ها، خروجی ساخت‌یافته و متادیتا.

این صفحه توضیح می‌دهد هر تنظیم چه نقشی دارد و هنگام اجرای نسخه از درگاه باید چطور با آن برخورد کنید.

اطلاع

Spec نسخه برای بازبینی، مقایسه و تست آزمایشی مهم است. اما در اجرای مستقیم با prompt_version_fqn، گدارAI پیام‌ها و مدل نسخه را رندر می‌کند؛ تنظیمات اجرایی مثل کش، گاردریل و خروجی ساخت‌یافته باید مطابق قرارداد خودشان در درخواست یا سرآیند ارسال شوند.

تنظیمات مدل

گزینه UIفیلد فنیتوضیح
Streammodel_settings.streamپاسخ جریانی یا غیرجریانی.
Temperaturemodel_settings.temperatureدما؛ مقدار معتبر بین 0 و 2.
Top-pmodel_settings.top_pمقدار معتبر بین 0 و 1.
بیشینه توکنmodel_settings.max_tokensسقف توکن خروجی؛ باید دست‌کم 1 باشد.

در تست آزمایشی UI، این تنظیمات برای ساخت درخواست تست استفاده می‌شوند. در اجرای محصولی، اگر می‌خواهید همین رفتار حفظ شود، مقدارهای متناظر را در درخواست Chat Completions بفرستید.

نمونه:

import requests

response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
},
json={
"model": "openai:default:gpt-4o-mini",
"prompt_version_fqn": "chat_prompt:acme/support_reply:3",
"prompt_variables": {
"customer_name": "سارا"
},
"messages": [],
"stream": False,
"temperature": 0.2,
"max_tokens": 500
},
timeout=60,
)

response.raise_for_status()
print(response.json())

تنظیمات کش

تنظیمات کش در UI به قرارداد x-godarai-cache-config نگاشت می‌شود.

گزینهفیلد فنینکته
نوع کشtypeیکی از simple یا smart.
TTLttlمدت نگهداری بر حسب ثانیه؛ باید مثبت باشد.
Namespacenamespaceجداسازی کش بین محصول، پروژه یا سناریو.
آستانه similaritysimilarity_thresholdفقط برای smart؛ مقدار معتبر بین 0.8 و 1.

برای اجرای مستقیم از درگاه:

import requests

response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
"x-godarai-cache-config": "{\"type\":\"simple\",\"ttl\":600,\"namespace\":\"support\"}",
},
json={
"model": "openai:default:gpt-4o-mini",
"prompt_version_fqn": "chat_prompt:acme/support_reply:3",
"prompt_variables": {
"customer_name": "سارا"
},
"messages": []
},
timeout=60,
)

response.raise_for_status()
print(response.json())

برای جزئیات بیشتر، کش پاسخ را ببینید.

گاردریل‌ها

رجیستری پرامپت می‌تواند گاردریل‌های ورودی و خروجی را در Spec نسخه ثبت کند:

گزینهفیلد فنیتوضیح
گاردریل‌های ورودیguardrails.inputپیش از اجرای مدل روی متن ورودی اعمال می‌شوند.
گاردریل‌های خروجیguardrails.outputپس از دریافت پاسخ مدل اعمال می‌شوند.
دامنه اعمالguardrails.scopeمقدارهای last یا all.

برای اجرای مستقیم از درگاه، گاردریل‌ها را با سرآیند بفرستید:

x-godarai-guardrails: {"llm_input_guardrails":["guardrails/pii-redaction"]}
x-godarai-guardrails-scope: last
هشدار

گاردریل خروجی با stream: true سازگار نیست. اگر نسخه یا درخواست شما پاسخ جریانی دارد، گاردریل خروجی را حذف کنید یا stream را غیرفعال کنید.

برای جزئیات بیشتر، گاردریل‌ها را بخوانید.

خروجی ساخت‌یافته

خروجی ساخت‌یافته در Spec با structured_output ثبت می‌شود و در درخواست اجرا با response_format اعمال می‌شود.

گزینه UIمقدار فنیکاربرد
طرح‌واره JSONjson_schemaالزام خروجی به ساختار مشخص.
شیء JSONjson_objectالزام خروجی به JSON object.
Strictstrictسخت‌گیرانه‌تر کردن تطبیق با schema، اگر مدل پشتیبانی کند.

نمونه اجرای نسخه با خروجی ساخت‌یافته:

import requests

response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
},
json={
"model": "openai:default:gpt-4o-mini",
"prompt_version_fqn": "chat_prompt:acme/support_reply_json:2",
"prompt_variables": {
"issue": "تاخیر در ارسال"
},
"messages": [],
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "support_reply",
"strict": True,
"schema": {
"type": "object",
"required": [
"summary",
"next_action"
],
"properties": {
"summary": {
"type": "string"
},
"next_action": {
"type": "string"
}
}
}
}
}
},
timeout=60,
)

response.raise_for_status()
print(response.json())

برای جزئیات بیشتر، Structured Outputs را ببینید.

متادیتا و گزارش رخداد

در Spec نسخه می‌توانید متادیتاهایی مثل project_id، cost_center یا environment نگه دارید. این مقدارها برای مستندسازی نسخه و هماهنگی تیمی مفیدند.

در اجرای واقعی، اگر می‌خواهید متادیتا در گزارش رخدادها و پایش هزینه دیده شود، آن را در بدنه درخواست هم بفرستید:

import requests

response = requests.post(
"https://YOUR_WORKSPACE.godarai.ir/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_GODARAI_TOKEN",
"Content-Type": "application/json",
},
json={
"model": "openai:default:gpt-4o-mini",
"prompt_version_fqn": "chat_prompt:acme/support_reply:3",
"prompt_variables": {
"customer_name": "سارا"
},
"messages": [],
"metadata": {
"project_id": "support-center",
"cost_center": "customer-success"
}
},
timeout=60,
)

response.raise_for_status()
print(response.json())
نکته

برای گزارش‌گیری هزینه، متادیتا را پایدار نگه دارید. کلیدهایی مثل project_id و cost_center بعداً در تحلیل مصرف و بودجه‌بندی کمک زیادی می‌کنند.

لاگ‌گیری در سطح پرامپت

در UI رجیستری پرامپت، بخش «لاگ‌گیری» توضیح می‌دهد که ثبت رویداد در سطح پرامپت در این نسخه فعال نیست؛ چون گدارAI گزارش درخواست و هزینه را در سطح درگاه ثبت می‌کند.

برای بررسی اجرای یک نسخه، از این مسیرها استفاده کنید:

  • متادیتای prompt_fqn و prompt_version در گزارش رخدادها.
  • هزینه و مصرف توکن در پایش هزینه.
  • وضعیت کش و گاردریل در صفحات مربوط.

جمع‌بندی

تنظیمات پیشرفته رجیستری پرامپت کمک می‌کنند Spec نسخه کامل و قابل بازبینی باشد. برای اجرای محصولی، هر تنظیم اجرایی را با قرارداد همان قابلیت به درخواست درگاه تبدیل کنید تا رفتار اجرا دقیقاً همان چیزی باشد که انتظار دارید.