مدخل إلى هندسة التلقين

المؤلف: عمر الصنهاجي الغازي *
*مهندس في المعلوميات و الرياضيات التطبيقية، مدير مشاريع و مهتم بميدان الذكاء الاصطناعي و سلاسل الكتل
صفحة لنكد إن

آخر تحديث: June 21, 2024, 10:19 a.m.

تصميم و تطوير التعليمات النصية المستخدمة في توجيه و تشغيل النماذج اللغوية الكبيرة في الذكاء الاصطناعي



الحمد لله و الصلاة و السلام على سيدنا رسول الله و على آله و صحبه و من والاه
في هذا المقال، سنحاول توضيح مفهوم هندسة التلقين و كيفية استخدامها بإذن الله

ما معنى هندسة التلقين ؟ (بالانجليزية: Prompt Engineering)
هندسة التلقين هي عملية تصميم و كتابة التعليمات النصية التي يتم إصدارها للنموذج اللغوي (مثل شات جيبيتي) لكي يقوم بمهمة ما على الوجه المطلوب. هندسة التلقين تمكننا من استغلال قوة نماذج الذكاء الاصطناعي و استعمالها كمساعد شخصي في أعمالنا اليومية، أو استعمالها كواجهة برمجة تمكن من اختصار كثير من الوقت و المجهود عن طريق توكيل النموذج اللغوي للقيام بالمهمة عوض كتابة تعليمات برمجية صريحة خاصة بالمهمة من طرف المطور.

هندسة التلقين : استعمال النموذج اللغوي كمساعد شخصي
و ذلك عن طريق الدخول مباشرة إلى رابط النموذج اللغوي، و تلقينه التعليمات عن المهمة التي تطلبها منه.
مثال: سنستخدم شات جيبيتي لنطلب منه القيام بتلخيص سير ذاتية.
سنقوم بلتقينه تعليمات مفصلة عن المطلوب، ها هو نص التلقين المقترح:
"سأوافيك بملف لسيرة ذاتية. أطلب منك أن تقوم بتلخيصها باللغة العربية، على شكل جدول، يتضمن المعلومات التالية: اسم المترشح، البلد، عدد سنوات التجربة، التقنيات التي يتقنها المترشح، الشركات السابقة، الوظيفة الحالية."



يقوم النموذج اللغوي بإجابتك بأنه فهم المطلوب منه، و ينتظر الآن أن تحمل السيرة الذاتية لكي يقوم بتلخيصها حسب الجدول الذي حددته له



استخدام هندسة التلقين في نماذج الذكاء الاصطناعي يوفر إمكانيات هائلة لجميع المهن من حيث زيادة إنتاجيتها و كفاءتها. تخيلوا مثلا أن مسؤولي الموارد البشرية في الشركات يمكنهم أن يستخدموا تلقينا مثل المذكور أعلاه من أجل تلخيص السير الذاتية لمئات المترشحين عوض قراءتها واحدة واحدة، مما يمكنهم من توفير كبير للوقت و زيادة هائلة في مردوديتهم.

هندسة التلقين: استخدام النموذج اللغوي كواجهة برمجة

بنفس الطريقة، يستطيع مطورو البرامج أن يستعملوا النموذج اللغوي كواجهة برمجة، باستخدام هندسة التلقين كذلك.
نأخذ نفس المثال (مهمة تلخيص السير الذاتية) و نستطيع أن نضيفها كوظيفة داخل أحد التطبيقات.
مثال تطبيق بلغة بايثون
نقوم أولا بتثبيت مكتبة openAI :
pip install openai

بعد ذلك يمكننا استخدام المكتبة من أجل تلقين التعليمات لشات جيبيتي و استغلال مخرجاته برمجيا:

import openai
import os
#إدخال المفتاح السري الخاص بحسابك أوبن إي آي:
openai.api_key = "<أدخل المفتاح السري الخاص بك>"

#إنشاء زبون
client = openai.OpenAI(api_key=openai.api_key,)

#إنشاء وظيفة التلقين التي تتصل بواجهة شات جيبيتي (استخدام النسخة 3.5 من شات جيبيتي في هذا المثال)
def get_completion(prompt, model="gpt-3.5-turbo"):
messages = [{"role": "user", "content": prompt}]
response = client.chat.completions.create(
model=model,
messages=messages,
temperature=0
)
return response.choices[0].message.content

يمكنك أن تولد مفتاحك السري المتعلق بواجهة برمجة شات جيبيتي على الرابط التالي:
https://platform.openai.com/api-keys

استخدام مكتبة لاستخلاص محتوى ملف PDF مثل مكتبة FITZ
content = extract_text_from_pdf(file_path)

الآن يمكننا إدخال تعليمات التلقين:


prompt = f"""
سأوافيك بملف لسيرة ذاتية. أطلب منك أن تقوم بتلخيصها باللغة العربية، على شكل جدول، يتضمن المعلومات التالية: اسم المترشح، البلد، عدد سنوات التجربة، التقنيات التي يتقنها المترشح، الشركات السابقة، الوظيفة الحالية. محتوى ملف السيرة الذاتية محدد أدناه بعلامات الترقيم الثالثية"
```{content}```
"""

ملاحظة:
استخدام علامات الترقيم الثلاثية هدفه تفادي تداخل محتوى الملف (محتوى السيرة الذاتية في هذه الحالة) مع تعليمات التلقين (و هو ما يسمى حقن التلقين بالإنجليزية: Prompt injection) مما قد يشوش على التعليمات الملقنة للنموذج اللغوي و على إجاباته

ختاما نقول، و بالله التوفيق:
الآن انتهينا من برمجة استعمال واجهة شات جيبيتي من أجل وظيفة تلخيص السير الذاتية، و تمكنا من تطوير هذه الوظيفة في بضعة أسطر عوض برمجة آلاف السطور من التعليمات لاستخلاص معلومات السيرة الذاتية بطريقة "تقليدية".
استخدام الواجهات البرمجية للنماذج اللغوية الكبرى يحدث ثورة على صعيد المبرمجين و المطورين و يمكن من اختصار الوقت بشكل هائل !
و لكن طبعا، استخدام الواجهات البرمجية للنماذج اللغوية الكبيرة ليس بالمجان...

نتمنى أن يكون هذا المقال نال إعجابكم، و إلى مقال قادم بإذن الله

الرجوع إلى الصفحة الرئيسية