منشئ موجه سهل الاستخدام لإنشاء مطالبات منظمة في TypeScript لنماذج اللغة الكبيرة (LLMS) وتطبيقات الذكاء الاصطناعي.
يهدف هذا المشروع إلى تحسين قابلية القراءة الفوري والقدرة على الصيانة من خلال واجهة بسيطة ، متوافقة مع نماذج الذكاء الاصطناعى المختلفة من Openai ، Anthropic ، Google Gemini ، وأكثر من ذلك. كما أنه يستخدم بنية موجه على أساس XML الموصى بها من قبل الإنسان لتحسين جودة المطالبة وفهم النماذج.
تم تطويره في الأصل لتلبية الاحتياجات الداخلية لـ Dreamloom ، حيث قمنا بمصادر مفتوحة للاستفادة من المجتمع الأوسع. نرحب باقتراحاتك للتحسينات والتعليقات الأخرى على جيثب.
المساهمة في المشروع على جيثب
يستخدم هذا المشروع المطالبات المستندة إلى XML ، وهو الهيكل المفضل لنموذج Claude AI من الإنسان. وفقًا لوثائق الإنسان ، فإن استخدام علامات XML في المطالبات يوفر العديد من المزايا:
على الرغم من أن الأنثروبور التي أوصت بها كلود لكلود ، فإن هذا النهج المنظم للهندسة المطالبة يمكن أن يكون مفيدًا للغاية عند العمل مع نماذج LLMs ونماذج الذكاء الاصطناعي الأخرى أيضًا ، مما يساعد النماذج على فهم المطالبات الخاصة بك وتستجيب بشكل أفضل ، مما يجعلها أكثر دقة وفائدة.
قم بتثبيت PROMP-EZ باستخدام NPM:
npm install prompt-ez
فئة PromptBuilder
هي الواجهة الرئيسية لإنشاء مطالبات منظمة. إليك نظرة عامة سريعة على أساليبها:
tag(name: string, contentFn?: (builder: PromptBuilder) => void): PromptBuilder
name
: اسم العلامة.contentFn
: وظيفة اختيارية لإضافة محتوى داخل العلامة. text(text: string): PromptBuilder
list(items: string[]): PromptBuilder
inputs(): PromptBuilder
build(params?: Record<string, unknown>): string
params
: كائن اختياري مع أزواج القيمة الرئيسية للمدخلات الديناميكية.إليك مثال بسيط لإنشاء مطالبة منظمة:
import PromptBuilder from 'prompt-ez' ;
const prompt = new PromptBuilder ( )
. tag ( 'system' , b => b
. text ( 'You are a helpful AI assistant.' )
. text ( 'Please provide accurate and concise information.' )
)
. tag ( 'task' , b => b
. text ( 'Explain the benefits of regular exercise.' )
)
. tag ( 'output_format' , b => b
. text ( 'Provide the explanation in a paragraph.' )
)
. build ( ) ;
console . log ( prompt ) ;
هذا يولد المطالبة التالية:
< system >
You are a helpful AI assistant.
Please provide accurate and concise information.
</ system >
< task >
Explain the benefits of regular exercise.
</ task >
< output_format >
Provide the explanation in a paragraph.
</ output_format >
إليك كيفية استخدام المدخلات الديناميكية في المطالبات الخاصة بك:
const promptWithInputs = new PromptBuilder ( )
. tag ( 'system' , b => b
. text ( 'You are a language translator.' )
)
. tag ( 'task' , b => b
. text ( 'Translate the following text:' )
. inputs ( )
)
. build ( {
source_language : 'English' ,
target_language : 'French' ,
text : 'Hello, how are you?'
} ) ;
console . log ( promptWithInputs ) ;
هذا ينتج:
< system >
You are a language translator.
</ system >
< task >
Translate the following text:
< source_language >English</ source_language >
< target_language >French</ target_language >
< text >Hello, how are you?</ text >
</ task >
إليك مثال أكثر تعقيدًا يوضح العلامات المتداخلة ، وإنشاء القائمة ، والمدخلات الديناميكية:
import PromptBuilder from 'prompt-ez' ;
export const AI_MEDICAL_DIAGNOSIS_PROMPT = new PromptBuilder ( )
. tag ( 'medical_diagnosis_prompt' , ( builder ) =>
builder
. tag ( 'role' , ( b ) => b . text ( 'Act as an AI medical assistant. Analyze the provided patient information and suggest three potential diagnoses with recommended next steps.' ) )
. inputs ( )
. tag ( 'guidelines' , ( b ) =>
b
. text ( 'For each potential diagnosis:' )
. list ( [
'Consider the patient's symptoms, medical history, and test results' ,
'Provide a brief explanation of the condition' ,
'List key symptoms that align with the diagnosis' ,
'Suggest additional tests or examinations if needed' ,
'Outline potential treatment options' ,
'Indicate the urgency level (e.g., immediate attention, routine follow-up)' ,
'Highlight any lifestyle changes or preventive measures' ,
'Consider possible complications if left untreated' ,
'Use medical terminology appropriately, with layman explanations' ,
'Provide a confidence level for each diagnosis (low, medium, high)' ,
'First analyze the information thoroughly, then produce the output'
] )
)
. tag ( 'reminder' , ( b ) => b . text ( 'Ensure the diagnoses are evidence-based and consider a range of possibilities from common to rare conditions. Always emphasize the importance of consulting with a human healthcare professional for a definitive diagnosis.' ) )
. tag ( 'output_format' , ( b ) =>
b . list ( [
'Present information in a clear, structured manner' ,
'Use bullet points for symptoms and recommendations' ,
'Include relevant medical terms with brief explanations' ,
'Provide a summary of each potential diagnosis' ,
'Suggest follow-up questions to gather more information if needed' ,
'End with a disclaimer about the limitations of AI diagnosis'
] )
)
)
. build ( {
patient_age : 45 ,
patient_gender : 'Female' ,
main_symptoms : 'Persistent headache, blurred vision, and occasional dizziness for the past two weeks' ,
medical_history : 'Hypertension, controlled with medication' ,
recent_tests : 'Blood pressure: 150/95 mmHg, Blood sugar: 110 mg/dL (fasting)'
} ) ;
console . log ( AI_MEDICAL_DIAGNOSIS_PROMPT ) ;
سيؤدي ذلك إلى توليد موجه معقد ومنظم لسيناريو التشخيص الطبي لمنظمة العفو الدولية:
< medical_diagnosis_prompt >
< role >Act as an AI medical assistant. Analyze the provided patient information and suggest three potential diagnoses with recommended next steps.</ role >
< patient_age >45</ patient_age >
< patient_gender >Female</ patient_gender >
< main_symptoms >Persistent headache, blurred vision, and occasional dizziness for the past two weeks</ main_symptoms >
< medical_history >Hypertension, controlled with medication</ medical_history >
< recent_tests >Blood pressure: 150/95 mmHg, Blood sugar: 110 mg/dL (fasting)</ recent_tests >
< guidelines >
For each potential diagnosis:
1. Consider the patient's symptoms, medical history, and test results
2. Provide a brief explanation of the condition
3. List key symptoms that align with the diagnosis
4. Suggest additional tests or examinations if needed
5. Outline potential treatment options
6. Indicate the urgency level (e.g., immediate attention, routine follow-up)
7. Highlight any lifestyle changes or preventive measures
8. Consider possible complications if left untreated
9. Use medical terminology appropriately, with layman explanations
10. Provide a confidence level for each diagnosis (low, medium, high)
11. First analyze the information thoroughly, then produce the output
</ guidelines >
< reminder >Ensure the diagnoses are evidence-based and consider a range of possibilities from common to rare conditions. Always emphasize the importance of consulting with a human healthcare professional for a definitive diagnosis.</ reminder >
< output_format >
1. Present information in a clear, structured manner
2. Use bullet points for symptoms and recommendations
3. Include relevant medical terms with brief explanations
4. Provide a summary of each potential diagnosis
5. Suggest follow-up questions to gather more information if needed
6. End with a disclaimer about the limitations of AI diagnosis
</ output_format >
</ medical_diagnosis_prompt >
نرحب بالمساهمات! يرجى الاطلاع على دليل المساهمة لدينا لمزيد من التفاصيل حول كيفية البدء.
يتم إصدار Prompr-EZ بموجب ترخيص MIT. انظر ملف الترخيص لمزيد من التفاصيل.