
Miniprompt هو الحد الأدنى من بناء جملة الإدخال لإنشاء مخرجات شاملة من LLMS (مثل GPT-4). مع بناء جملة بسيط وفعال ، يمكن أن توفر miniprompt معلومات أو استجابات مفصلة في تنسيقات الإخراج المختلفة ، مثل JSON أو Javasrcipt أو لغات أخرى.
متوافق مع؟ ️؟ لانجشين
للبدء في استخدام miniprompt ، تحتاج إلى تحديد المهمة والقالب وتنسيق الإخراج المطلوب. تم تصميم بناء جملة الإدخال ليكون سهل الاستخدام وفهم ، مما يسمح للمستخدمين بإنشاء المخرجات المصممة لتلبية احتياجاتهم. مثال الإدخال
حدد تنسيق المهمة والقالب وتنسيق الإخراج على النحو التالي:
TASK: ScrumSprint,<=3 userStories,<=3 acceptanceCriteria,complexity(1-5),Scope: "Login page"
TEMPLATE: complexity,stories[complexity,story"As a User,I want …,so that …",criteria[When,Then]]
OUTPUT: JSON
سيؤدي هذا الإدخال إلى إنشاء إخراج JSON مع المتطلبات المحددة.
بناءً على الإدخال المحدد ، يتم إنشاء إخراج JSON التالي:
{
"complexity" : 3 ,
"stories" : [
{
"complexity" : 3 ,
"story" : "As a User, I want to create an account, so that I can access the login page." ,
"criteria" : [
{
"When" : "I enter a valid email address and password" ,
"Then" : "I should be redirected to the login page"
} ,
{
"When" : "I enter an invalid email address or password" ,
"Then" : "I should see an error message"
} ,
{
"When" : "I try to create an account with an existing email address" ,
"Then" : "I should see an error message"
}
]
} ,
{
// …
} ,
{
// …
}
]
}تم تصميم هذه المطالبة لإنشاء إخراج JSON من قصص المستخدم ، ولكل منها معايير القبول الخاصة به ، من أجل Sprint Scrum التي تركز على "صفحة تسجيل الدخول". لنقسم كل جزء من المطالبة خطوة بخطوة:
TASK : هذا يحدد المهمة التي يتعين تنفيذها. في هذه الحالة ، تقوم المهمة بإنشاء معلومات لعلاج Scrum.
ScrumSprint : نوع المهمة التي سيتم تنفيذها (سباق scrum).<=3 userStories : يجب أن يكون للإخراج 3 قصص مستخدم كحد أقصى.<=3 acceptanceCriteria : يجب أن يكون لكل قصة مستخدم 3 معايير قبول كحد أقصى.complexity(1-5) : يجب تصنيف تعقيد كل قصة مستخدم بين 1 (الأقل تعقيدًا) و 5 (الأكثر تعقيدًا).Scope: "Login page" : نطاق scrum Sprint هو تطوير صفحة تسجيل الدخول. TEMPLATE : هذا يحدد القالب لإنشاء الإخراج. القالب منظم على النحو التالي:
complexity : قم بتضمين تعقيد قصة المستخدم في الإخراج.stories : قم بتضمين قصص المستخدم في الإخراج. يجب أن تحتوي كل قصة مستخدم على المعلومات التالية:complexity : تصنيف تعقيد قصة المستخدم.story"As a User, I want …, so that …" : قصة المستخدم نفسها ، مكتوبة بالتنسيق "كمستخدم ، أريد [goal] ، بحيث [reason] ".criteria[When, Then] : معايير القبول لقصة المستخدم ، المكتوبة بالتنسيق "عندما [condition] ، ثم [expected outcome] ". OUTPUT : هذا يحدد التنسيق المطلوب للإخراج. في هذه الحالة ، يجب أن يكون الإخراج بتنسيق JSON.
استنادًا إلى هذه المطالبة ، ستقوم الذكاء الاصطناعي بإنشاء كائن JSON يحتوي على ما يصل إلى 3 قصص مستخدم ، ولكل منها 3 معايير قبول ، وتصنيفات التعقيد. يقتصر نطاق قصص المستخدم هذه على تطوير صفحة تسجيل الدخول.
مدخل
يتكون موجه الإدخال من مهمة وقالب وتنسيق الإخراج:
TASK: add a red box
TEMPLATE: const c=document.getElementById('c')
OUTPUT: JavaScript
TASK : المهمة هي إضافة مربع أحمر باستخدام JavaScript.TEMPLATE : يتضمن القالب المقدم جزءًا من رمز JavaScript اللازم لرسم المربع الأحمر:OUTPUT : تنسيق الإخراج المطلوب هو JavaScript.الإخراج
const c = document . getElementById ( 'c' ) ;
const ctx = c . getContext ( '2d' ) ;
ctx . fillStyle = 'red' ;
ctx . fillRect ( 20 , 20 , 100 , 100 ) ; في بعض المواقف ، قد يحتوي الإخراج الذي تم إنشاؤه من الذكاء الاصطناعى على كتل رمز مضمنة في نص التخفيض. للتعامل بشكل صحيح مع الإخراج وتفسيره ، يُنصح باستخدام محلل مصمم خصيصًا لاستخراج كتل التعليمات البرمجية من محتوى Markdown.
ضع في اعتبارك استخدام محلل مثل تلك الموضحة أدناه لاستخراج كتل التعليمات البرمجية من الإخراج الذي تم إنشاؤه من الذكاء الاصطناعى:
function extractCode ( string : string ) {
// The regular expression pattern to match the code block
const codeBlockPattern = / (`{3,})(w*)n([sS]*?)1 / g ;
// Find the matches using the regular expression
const matches = codeBlockPattern . exec ( string ) ;
if ( matches && matches . length >= 4 ) {
// Return content of the code block
return matches [ 3 ] ;
}
// No code block found, return original string
return string ;
}تستخدم وظيفة JavaScript هذه ، IteveCode ، تعبيرًا منتظمًا لمطابقة واستخراج محتوى كتل التعليمات البرمجية من سلسلة الإدخال. إذا تم العثور على كتلة رمز ، فإن الدالة تقوم بإرجاع محتوى كتلة الكود. إذا لم يتم اكتشاف كتلة رمز ، يتم إرجاع سلسلة الإدخال الأصلية.
على الرغم من أنه ليس إلزاميًا ، إلا أن استخدام رسالة النظام يمكن أن يحسن اتساق ودقة الاستجابات التي تم إنشاؤها من الذكاء الاصطناعى من خلال التأكد من الالتزام بالإرشادات المحددة.
تعمل رسالة النظام كمجموعة من الإرشادات لنموذج لغة الذكاء الاصطناعى ، وتوجيهها لإنشاء ردود تتماشى مع الإرشادات المقدمة وتنسيق الإخراج المطلوب.
You are an Entity that strictly answers with the OUTPUT format. You strictly follows the TASK, TEMPLATE and OUTPUT guidelines.
تحتوي رسالة النظام على ثلاثة مكونات رئيسية يجب على الذكاء الاصطناعي اتباعها بصرامة:
TASK : يجب أن يفهم الذكاء الاصطناعى المهمة واستكمالها على النحو المحدد في المطالبة.TEMPLATE : يجب على الذكاء الاصطناعى استخدام القالب المحدد لهيكلة استجابته ، مما يضمن تلبية التنسيق والتنظيم المطلوب.OUTPUT : يجب أن توفر الذكاء الاصطناعى الاستجابة التي تم إنشاؤها في تنسيق الإخراج المحدد (على سبيل المثال ، JSON ، نص عادي ، إلخ).لاستخدام رسالة النظام في المطالبات الخاصة بك ، ما عليك سوى تضمين الرسالة التالية في بداية المطالبة:
You are an Entity that strictly answers with the OUTPUT format. You strictly follow the TASK, TEMPLATE and OUTPUT guidelines.
ثم ، قدم تعليمات المهمة والقالب والإخراج كما هو مطلوب. سيتبع نموذج لغة AI هذه الإرشادات لإنشاء استجابة تلبي الإرشادات والتنسيق المحدد. مثال
باستخدام رسالة النظام في Openai API:
[
{
"role": "system",
"content": "You are an Entity that strictly answers with the OUTPUT format. You strictly follow the TASK, TEMPLATE and OUTPUT guidelines."
},
{
"role": "user",
"content": "TASK: ScrumSprint,<=3 userStories,<=3 acceptanceCriteria,complexity(1-5),Scope: "Login page"nTEMPLATE: complexity,stories[complexity,story"As a User,I want …,so that …",criteria[When,Then]]nOUTPUT: JSON."
}
]
استخدام رسالة النظام في مطالبة في chatgpt:
You are an Entity that strictly answers with the OUTPUT format. You strictly follow the TASK, TEMPLATE and OUTPUT guidelines.
TASK: ScrumSprint,<=3 userStories,<=3 acceptanceCriteria,complexity(1-5),Scope: "Login page"
TEMPLATE: complexity,stories[complexity,story"As a User,I want …,so that …",criteria[When,Then]]
OUTPUT: JSON
من خلال هذه المطالبة ، سيقوم نموذج لغة الذكاء الاصطناعي بإنشاء إخراج JSON يحتوي على ما يصل إلى 3 قصص مستخدم ، ولكل منها معايير قبول تصل إلى 3 ، وتصنيفات تعقيدها. يقتصر نطاق قصص المستخدم هذه على تطوير صفحة تسجيل الدخول.