رجیستری پرامپت
رجیستری پرامپت در گدارAI محل ساخت، نسخهبندی و اجرای پرامپتهای قابل استفاده مجدد است. بهجای اینکه متن پرامپت، متغیرها و تنظیمات اجرایی را در چند سرویس مختلف کپی کنید، میتوانید آنها را در یک نسخه قابل پیگیری نگه دارید و در محصول خود با یک FQN اجرا کنید.
این قابلیت برای تیمهایی مهم است که میخواهند رفتار مدل را قابل تکرار، قابل بازبینی و قابل تغییر مرحلهای نگه دارند؛ بدون اینکه هر تغییر پرامپت به تغییر کد اپلیکیشن وابسته شود.
رجیستری پرامپت جایگزین Chat Completions نیست. رجیستری، قالب و نسخه پرامپت را مدیریت میکند؛ اجرای واقعی همچنان از مسیر درگاه و APIهایی مثل POST /v1/chat/completions انجام میشود.
این دسته چه چیزی را پوشش میدهد؟
| موضوع | صفحه |
|---|---|
| ساخت پرامپت، پیام راهنما، قالب گفتگو و نسخه ثابت | ساخت پرامپت و نسخهبندی |
تعریف متغیرهایی مثل {{customer_name}} و جایگذاری مقدار زمان اجرا | متغیرها و رندر پرامپت |
اجرای نسخه ذخیرهشده با prompt_version_fqn | اجرای نسخه از درگاه |
| تنظیمات مدل، کش، گاردریل، خروجی ساختیافته و متادیتا | تنظیمات پیشرفته نسخه |
| خطاهای رایج در ذخیره، رندر و اجرا | عیبیابی رجیستری پرامپت |
مسئلهای که حل میکند
بدون رجیستری پرامپت، معمولاً این مشکلات پیش میآید:
- متن پرامپت در چند سرویس یا چند مخزن کپی میشود.
- معلوم نیست کدام نسخه در محیط عملیاتی استفاده شده است.
- تغییر پرامپت بدون تاریخچه و یادداشت نسخه انجام میشود.
- تیم محصول، عملیات و توسعه درباره «پرامپت فعلی» برداشت یکسانی ندارند.
- تست یک تغییر کوچک نیازمند انتشار دوباره اپلیکیشن است.
رجیستری پرامپت این مشکلها را با نسخههای ثابت، تاریخچه نسخهها، FQN و Spec قابل مشاهده حل میکند.
مدل ذهنی
در گدارAI، یک پرامپت از چند مفهوم اصلی ساخته میشود:
| مفهوم | توضیح |
|---|---|
| پرامپت | موجودیت اصلی که نام، توضیح و تاریخچه نسخهها را نگه میدارد. |
| نسخه | یک snapshot ثابت از پیامها، متغیرها، مدل و Spec پرامپت. نسخه ذخیرهشده فقط خواندنی است. |
| FQN | شناسه کامل یک نسخه، مثل chat_prompt:acme/support_reply:3. |
| متغیر | جاینگهداری مثل {{customer_name}} که هنگام اجرا مقدار میگیرد. |
| Spec | JSON ذخیرهشده نسخه که پیامها، متغیرها و تنظیمات نسخه را نشان میدهد. |
| اجرای نسخه | استفاده از prompt_version_fqn در درخواست Chat Completions برای رندر و اجرای نسخه مشخص. |
برای پرامپتهایی که در محصول واقعی استفاده میشوند، همیشه با FQN نسخه اجرا کنید، نه با «آخرین نسخه» بهصورت ذهنی. این کار باعث میشود بدانید هر پاسخ دقیقاً از کدام نسخه آمده است.
جریان کار پیشنهادی
- در رجیستری پرامپت، یک پرامپت با نام پایدار بسازید.
- پیام راهنما و قالب گفتگو را بنویسید.
- متغیرها را با قالبی مثل
{{customer_name}}تعریف کنید. - مدل و تنظیمات لازم برای تست را انتخاب کنید.
- با «تست آزمایشی»، خروجی را پیش از ذخیره بررسی کنید.
- نسخه را با یک یادداشت کوتاه ذخیره کنید.
- FQN نسخه را در محصول خود از مسیر درگاه اجرا کنید.
- نتیجه را در گزارش رخدادها، هزینه و رفتار مدل بررسی کنید.
نمونه FQN
FQN نسخه مشخصی از پرامپت را شناسایی میکند:
chat_prompt:acme/support_reply:3
این مقدار از نوع پرامپت، شناسه فضای کاری، نام پرامپت و شماره نسخه ساخته میشود. در درخواست اجرا، همین مقدار را در prompt_version_fqn میفرستید.
تفاوت تست آزمایشی و اجرای نسخه
| مسیر | کاربرد | نکته |
|---|---|---|
| تست آزمایشی در UI | بررسی پیشنویس فعلی قبل از ذخیره | پیامها در همان لحظه رندر و اجرا میشوند. |
اجرای نسخه با prompt_version_fqn | استفاده از نسخه ذخیرهشده در اپلیکیشن | نسخه ثابت رندر میشود و FQN در گزارشها قابل پیگیری است. |
نسخه ذخیرهشده فقط خواندنی است. اگر متن یا تنظیمات پرامپت را تغییر دهید، باید نسخه جدید بسازید. این رفتار عمدی است تا اجرای قبلی و بعدی با هم قاطی نشوند.
ادامه مسیر
- برای ساخت اولین پرامپت، ساخت پرامپت و نسخهبندی را بخوانید.
- برای اجرای نسخه در محصول، اجرای نسخه از درگاه را ببینید.
- برای اتصال کش و گاردریلها، تنظیمات پیشرفته نسخه را مرور کنید.