1. مصنوعات کے بنیادی
OpenAI کا ٹیکسٹ جنریشن ماڈل، عام طور پر Generative Pre-trained Transformer (GPT) کے طور پر جانا جاتا ہے، ڈیپ لرننگ میں سیلف-ایٹینشن میکانزم پر اعتماد کرتا ہے تاکہ قدرتی زبان کو سمجھ سکے اور پروسیس کر سکے۔ GPT ماڈل کی تربیت دو مراحل پر مشتمل ہوتی ہے: پیشہ ورانہ تربیت اور فائن-ٹیوننگ۔
پیشہ ورانہ تربیت
پیشہ ورانہ تربیت کے دوران، ماڈل بڑے پیمانے پر ٹیکسٹ ڈیٹا سیٹ کا استعمال کرکے غیر مشروط سیکھائی کا زیر انتظام ہوتا ہے۔ اس عمل میں، ماڈل کو اگلا لفظ پیش کرکے تربیت دی جاتی ہے۔ مثال کے طور پر، جب "میرے پاس قلم ہے" جیسی جملہ دی جائے، تو پہلے چند لفظ دیکھنے کے بعد، وہ "قلم" لفظ کا پیشگوئی کرنے کی کوشش کرتا ہے۔ پیشہ ورانہ تربیت کا بنیادی مقصد ماڈل کو زبان کی ساخت اور مفہوم کرنے کی صلاحیت فراہم کرنا ہوتا ہے۔
فائن-ٹیوننگ
فائن-ٹیوننگ مرحلہ مخصوص تربیتوں پر مبنی نگرانی کا حصہ ہوتا ہے۔ اس مرحلہ میں، ماڈل کو خصوصی کاموں کے لئے ترتیب دی جاتی ہے جیسے سوال جواب سے مُتعلق نظام اور دستاویز کی خلاصہ و تشہیر وغیرہ۔ فائن-ٹیوننگ میں پیشہ ورانہ تربیت والے ماڈل کو مزید تربیت دی جاتی ہے تاکہ وہ پیشہ ورانہ کاموں کے لئے بہتر انطباق کر سکے۔
2. مواقع کے استعمالات
OpenAI کا ٹیکسٹ جنریشن ماڈل وسیع رقبے میں مداخلت کر سکتا ہے۔ یہاں کچھ مخصوص استعمالات ہیں:
- دستاویزات کی تیاری: صارفین کو تیزی سے دستاویز لکھنے میں مدد کرنا۔
- کمپیوٹر کوڈ لکھنا: پروگرامنگ میں مدد کے لئے کوڈ کے ٹکڑے پیدا کرنا۔
- کسی علمی بنیاد پر سوالات کا جواب دینا: ذخیر شدہ علم کے بنیاد پر جوابات دینا۔
- ٹیکسٹ تجزیہ: ٹیکسٹ سے معلومات حاصل کرنا، جذبات کا تجزیہ، اور مزید۔
- سوفٹ ویئر کے لئے قدرتی زبان کا انٹرفیس فراہم کرنا: صارفین کو قدرتی زبان استعمال کر کے سوفٹ ویئر سے معاشرتی کرنے دینا۔
- مختلف مضامین میں ٹیوٹرنگ: مختلف مضامین میں تدریسی رہنمائی فراہم کرنا۔
- زبان کا ترجمہ: مختلف زبانوں کے مابین ٹیکسٹ کا ترجمہ کرنا۔
- کھیلوں کے کرداروں کا نقل کرنا: کھیل یا کرداروں کے لئے گفتگو اور پس منظر کی کہانیاں پیدا کرنا۔
3. ڈائیلاگ ماڈل کی تعارف
ڈائیلاگ ماڈل ایک خاص قسم کا ٹیکسٹ جنریشن ماڈل ہے جو پیشہ ورانہ سے نیاز مند اور حقیقی بات چیتیں پیدا کرتا ہے۔ یہ ماڈل صارف اور ورچول معاون کے درمیان بات چیت کا نمائندہ کر سکتا ہے، جو حقیقی وقت میں تعاونی اطلاقات کے لئے مناسب ہے۔
ڈائیلاگ ماڈل کا استعمال عموماً متعدد حواری بات چیتوں کو مشمول کرتا ہے۔ مثال کے طور پر، جب ایک صارف سوال کرتا ہے، تو ماڈل پیشہ ورانہ ڈیٹا کے بنیاد پر مناسب جوابات پیدا کرسکتا ہے۔ علاوہ ازیں، ڈائیلاگ ماڈل پہلے کی بات چیت کی مواد کو مد نظر رکھتا ہے تاکہ مزید متفق اور قدرتی جوابات پیدا کرسکے۔
ڈائیلاگ ماڈل کے استعمال کے سیناریو:
- کسٹمر سروس معاونین: خودکار طریقے سے صارفین کے اکثر پوچھے گئے سوالات کا جواب دینا، مدد فراہم کرنا اور مشورے دینا۔
- چیٹ بوٹس: صارفین کے ساتھ قدرتی بات چیتی میں شرکت کرنا۔
- ورچول معاونین: صارفین کی آوازی اوامر کو انجام دینا، جیسے ملاقاتوں کا شیڈول بنانا، یاد دہانیاں کرنا، اور مزید۔
- رول پلےنگ کھیلوں: کھیل کے کرداروں کو یکساں گفتگو اور شخصیتوں کے ساتھی دیتا ہے۔
4. ڈائیلاگ ماڈل API
ڈائیلاگ ماڈل API ڈویلپرز کو HTTP درخواستوں کا استعمال کر کے GPT ماڈل کے ساتھ تعامل کرنے کی اجازت دیتا ہے۔ یہ حصہ بتائے گا کہ curl استعمال کرکے درخواستیں کس طرح بنائیں اور ماڈل کی طرف سے واپسی جوابات کو کیسے تشکیل دیں۔
درخواستیں بنانا
شروع کرنے سے پہلے، آپ کو OpenAI سے رجسٹر کرکے ایک API کی چابی حاصل کرنی ہوگی، جو درخواستیں بھیجتے وقت HTTP ہیڈرز کے ذریعے تصدیق کی جانیگی۔
یہاں curl کا استعمال کرکے ڈائیلاگ ماڈل API کو ایک درخواست بھیجنے کا مثال ہے:
کرل Https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "system",
"content": "آپ ایک مدد گار معاون ہیں۔"
},
{
"role": "user",
"content": "2020 ورلڈ سیریز کس ٹیم نے جیتی؟"
}
]
}'
ڈائیلاگ ماڈل کے پیرامیٹر کی معنیات
OpenAI کے ڈائیلاگ ماڈل API کا استعمال کرتے وقت، اہم پیرامیٹرز "ماڈل" اور "پیغامات" شامل ہیں، ہر ایک کی خاص معنی ہوتی ہے اور نتائج پر اثر ڈالتی ہے۔
ماڈل پیرامیٹرز
ماڈل پیرامیٹر ماڈل کی ورژن مخصوص کرنے کے لئے استعمال ہوتا ہے۔ مثال کے طور پر، "model": "gpt-3.5-turbo"
اس بات کا اظہار کرتا ہے کہ آپ GPT-3.5-Turbo ماڈل کا درخواست دے رہے ہیں۔ یہاں منتخب کردہ ماڈل کے ذریعے ماڈل صارف کی داخلی معلومات پر جواب دیتا ہے، اس کی قابلیتوں، تربیتی ڈیٹا، اور انٹرفیس کی خصوصیات کے مطابقت سے۔
یہاں تعینات ساتھ ساتھ حمایت کی جانے والی ماڈلز ہیں:
مددگار ماڈلز | زیادہ سے زیادہ سیاقت | ماڈل کی تفصیل |
---|---|---|
gpt-4-0125-preview | 128,000 ٹوکنز | GPT-4 ٹربو پیش نظر ماڈل "آلسی" مقامات کو کم کرنے کے لئے ڈیزائن کیا گیا ہے، جہاں ماڈل ٹاسکس کو مُکمل کرنے میں ناکام رہتا ہے۔ |
gpt-4-turbo-preview | 128,000 ٹوکنز | فی الحال gpt-4-0125-preview ماڈل کی جانب اشارہ کررہا ہے۔ |
gpt-4-1106-preview | 128,000 ٹوکنز | GPT-4 ٹربو ماڈل جس میں بہتر ہدایاتی اجراء کی صلاحیت، JSON موڈ، دوبارہ پیدا ہونے والا اَوٹ پُٹ، اور متوازی فنکشن کالز شامل ہیں۔ |
gpt-4-vision-preview | 128,000 ٹوکنز | تصاویر کو سمجھنے کی صلاحیت رکھنے والا GPT-4 ماڈل، بقایا تمام دیگر GPT-4 ٹربو خصوصیات کے علاوہ۔ |
gpt-4 | 8,192 ٹوکنز | فی الحال gpt-4-0613 کی جانب اشارہ کررہا ہے۔ |
gpt-4-0613 | 8,192 ٹوکنز | June 13, 2023 کی تصویر جو جُن کے فنکشن کال سپورٹ میں بہتری فراہم کرتی ہے۔ |
gpt-4-32k | 32,768 ٹوکنز | فی الحال gpt-4-32k-0613 کی جانب اشارہ کررہا ہے۔ یہ ماڈل وسیع پیشکش نہیں ہے اور GPT-4 ٹربو کا استعمال ترجیح دیتا ہے۔ |
gpt-4-32k-0613 | 32,768 ٹوکنز | June 13, 2023 کی تصویر گی.پی.ٹی-4 32k ورژن۔ یہ ماڈل عموماً فروغ دیا نہیں گیا ہے اور GPT-4 ٹربو کا استعمال ترجیح دیتا ہے۔ |
gpt-3.5-turbo-1106 | 16,385 ٹوکنز | ایک نئی ترین GPT-3.5 ٹربو ماڈل جس میں بہتر ہدایاتی اجراء، JSON موڈ، دوبارہ پیدا ہونے والا اَوٹ پُٹ، اور متوازی فنکشن کالز شامل ہیں۔ |
gpt-3.5-turbo | 4,096 ٹوکنز | فی الحال gpt-3.5-turbo-0613 کی جانب اشارہ کررہا ہے۔ |
gpt-3.5-turbo-16k | 16,385 ٹوکنز | فی الحال gpt-3.5-turbo-16k-0613 کی جانب اشارہ کررہا ہے۔ |
gpt-3.5-turbo-instruct | 4,096 ٹوکنز | ڈیالوگ ای.پی.ای کے تمام وظائف کے ساتھ موافقت کرنے والا GPT-3 دور کے ماڈلز کے متفقہ ہے۔ روایتی کمپلیشن اینڈ پوائنٹس کے ساتھ ہم آہنگ ہے، چیٹ کمپلیشن کے لئے مناسب نہیں ہے۔ |
gpt-3.5-turbo-0613 | 4,096 ٹوکنز | June 13, 2023 کی تصویر gpt-3.5-turbo کی جو تقریباً جون 13, 2024 کی تاریخ تک ناقابلِ استعمال ہو گی۔ |
gpt-3.5-turbo-16k-0613 | 16,385 ٹوکنز | June 13, 2023 کی تصویر gpt-3.5-16k-turbo کی جو تقریباً جون 13, 2024 کی تاریخ تک ناقابلِ استعمال ہو گی۔ |
gpt-3.5-turbo-0301 | 4,096 ٹوکنز | March 1, 2023 کی تصویر gpt-3.5-turbo کی جو تقریباً جون 13, 2024 کی تاریخ تک ناقابلِ استعمال ہو گی۔ |
پیغامات پیرامیٹر
پیغامات پیرامیٹر ایک ایسے ایرے کو ہے، جہاں ہر عنصر بات چیت میں ایک پیغام کو ظاہر کرتا ہے۔ ہر پیغام ایک اوبجیکٹ ہوتا ہے جس میں دو خصوصیات شامل ہیں: role (بھیجنے والے کی کردار) اور content (پیغام کا خاص مواد۔)
- role: پیغام کے لئے بھیجنے والے کا کردار مخصوص کرتا ہے۔ اختیاری قیمتیں میں "system"، "user"، اور "assistant" شامل ہیں۔
- content: پیغام کا خاص مواد۔
کردار کی اقسام اور فنکشنز
کردار پیرامیٹر کی قیمت پیغام کی قسم اور فنکشن کو معین کرتی ہے۔ ڈائلوگ ای.پی.ای کردار کی قیمت کے مختلف ہونے کی بنا پر ماڈل کے جواب میں تبدیلی کرے گا۔
کردار 'نظام'
نظام کے پیغامات ماڈل کی رفتار کو دکھانے کے لئے استعمال ہوتے ہیں۔ مثال کے طور پر، یہ واضح طور پر ماڈل دوارہ کرے گی کہ وہ کس کردار کو ادا کر رہا ہے (مثلاً، معاون، مترجم، وغیرہ)، یا بات چیت میں پیروی کرنے کے لئے مخصوص ہدایتیں فراہم کرے ۔ نظام کے پیغامات بات چیت کے دوران ماڈل کے رفتار پر دائمی اثر ڈالتے ہیں، لیکن عام طور پر یہ اختیاری ہوتے ہیں۔
مثال کے طور پر، اگر آپ چاہتے ہیں کہ ماڈل کو بات چیت میں ایک کسٹمر سروس معاون کے طور پر شرکت کرنے کے لئے کہا جائے تو، آپ نظام کے پیغام میں وضاحت دے سکتے ہیں:
{
"role": "system",
"content": "آپ ایک کسٹمر سروس معاون ہیں۔"
}
کردار 'صارف'
صارف کے پیغامات صارف کی طرف سے داخل کردہ سوالات کی ترجمانی کرتے ہیں۔ ماڈل ان پیغامات کا جواب دیتا ہے اور معلومات، جوابات یا دیگر اقسام کی خروجی فراہم کرتا ہے۔ یہ پیغامات ڈا ئیالوگ ای پی آئی کے ورک فلو کا اہم حصہ ہوتے ہیں اور عام طور پر ایپلیکیشن میں واقعی صارف کے سوالات کے مطابق ہوتے ہیں۔
مثال کے طور پر، کرل کے مثال کے صارفی درخواست میں:
{
"role": "user",
"content": "2020 ورلڈ سیریز میں کونسی ٹیم جیتی؟"
}
کردار 'معاون'
معاون کے پیغامات عام طور پر ماڈل کی طرف سے بنائے گئے جوابات کو ظاہر کرتے ہیں اور ڈیولپر کی طرف سے فراہم کی گئی بات چیت کی مواد پرتیاہ کرنا بھی ہوتے ہیں تاکہ آپ ماڈل کے جوابات کو بات چیت کی تاریخ کی پیغامات کی شکل میں مثالی خروجی فراہم کر سکتے ہیں۔ اے پی آئی درخواستوں میں، معاون کردار کے پیغامات عام طور پر فراہم نہیں کیے جاتے ہیں مگر اس صورتیں میں جب ماڈل کو بات چیت کی تاریخ میں سوالات کے جوابات دینے کی شکل کی پیش بندی کرنا ضروری ہو۔
تجویز کردہ جواب کو پارس کرنا
ماڈل کا جواب JSON فارمیٹ میں واپس آتا ہے۔ یہاں جواب کو پارس کرنے کا مثال:
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "2020 ورلڈ سیریز کا چیمپئن لاس انجلس ڈاڈجرز ہیں۔",
"role": "assistant"
},
"logprobs": null
}
],
"created": 1677664795,
"id": "chatcmpl-7QyqpwdfhqwajicIEznoc6Q47XAyW",
"model": "gpt-3.5-turbo-0613",
"object": "chat.completion",
"usage": {
"completion_tokens": 17,
"prompt_tokens": 57,
"total_tokens": 74
}
}
اوپر دیے گئے جواب میں، آپ choices[0].message.content
سے ماڈل کا جواب حاصل کر سکتے ہیں۔
ڈائیالوگ ماڈل میں میموری فنکشن کو کیسے نافذ کیا جائے
نیچے دیا گیا ہے ایک مثال جو اوپن اے آئی کے چیٹ کمپلیشنز API کا استعمال کرتے ہوئے GPT ماڈل کی میموری فنکشن کو نافذ کرنے کی دکھاتا ہے، جو دکھاتا ہے کہ کیسے تاریخی مکالمے کے سیاق وسباق کو نئے API درخواست میں محفوظ کرکے لگاتار ڈائیالوگ حاصل کیا جاسکتا ہے۔
import requests
api_url = "https://api.openai.com/v1/chat/completions"
api_key = "آپ کی اوپن اے آئی API کی چابی"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
data = {
"model": "gpt-3.5-turbo", # گیپی ٹی ماڈل کی جگہ گیپی ٹی-4 یا دیگر دستیاب ماڈلز کے ساتھ بدل سکتا ہے
"messages": [
{
"role": "system", # سسٹم پیغام، ڈائیالوگ ماڈل کی رویے کو سیٹ کرنے کے لئے استعمال ہوتا ہے
"content": "آپ ایک مدد گار منتظم ہیں۔"
},
{
"role": "user", # صارف کا پیغام، ماڈل اس پر جواب دے گا
"content": "کیا آپ مجھے کلائمٹ تبدیلی کے اہم وجوہات بتا سکتے ہیں؟"
},
{
"role": "assistant", # ماڈل کا جواب
"content": "کلائمٹ تبدیلی کے اہم وجوہات میں گرین ہاؤس گیس کی انبار، فاسل فیول سوزی، اور جنگل کاٹنا وغیرہ شامل ہیں۔"
},
{
"role": "user", # ماڈل کے جواب پر نیا سوال
"content": "ہم گرین ہاؤس گیس کی انبار کو کیسے کم کر سکتے ہیں؟"
}
]
}
response = requests.post(api_url, headers=headers, json=data)
if response.status_code == 200:
reply_content = response.json()['choices'][0]['message']['content']
print(f"ماڈل کا جواب => {reply_content}")
else:
print(f"درخواست میں خرابی: {response.status_code}")
اس مثال میں ہم نے یہ سموئل کیا ہے کہ پہلے صارف نے کلائمٹ تبدیلی کے اہم وجوہات کے بارے میں پوچھا، پھر ماڈل کی وضاحت پر مبنی ایک اور سوال پوچھا۔ آیندہ درخواستات میں ہم پچھلی بات چیت کی مواد کو محفوظ رکھتے ہیں تاکہ ماڈل پچھلی گفتگو کی تاریخ کو یاد رکھے اور اس پر مبنی جوابات پیدا کر سکے۔ یہ طریقہ نئے درخواست کی تاریخی پیغامات کے طور پر استعمال کرکے ڈائیالوگ کی حالت کی منتقلی اور یاد رکھنے کو حاصل کرتا ہے۔
ٹپ: ڈائیالوگ کی میموری فنکشن کو نافذ کرنے کے لئے، کیونکہ ماڈل کا ایک زیادہ سے زیادہ ٹوکن لمحے حد ہوتی ہے، ہر درخواست کے لئے تمام تاریخی بات چیت کے پیغامات داخل نہیں کرانا ممکن ہے۔ عام طور پر، موجودہ سوالات سے متعلق پیغامات کو ماڈل میں تاریخی پیغامات کے طور پر داخل کیا جاتا ہے، اور آیندہ حصے میں یہ تشہیر کرے گا کہ Embeddings فیچر کیسے متن مماثلت تلاش یعقوبی انجام دیتا ہے۔
5. JSON سکیما
JSON سکیما ڈائیالوگ ماڈل API کی ایک خصوصیت ہے جو صارف کو ہمیشہ ایک JSON شیڈول وصول کرنے کے لئے ہدایت دینے کی اجازت دیتی ہے۔
JSON سکیما کا استعمال
JSON سکیما کا استعمال کرنے کے لئے، آپ کو ایچ ٹی ٹی پی درخواست بادی میں response_format
فیلڈ کو { "type": "json_object" }
سیٹ کرنا ہوگا اور یہ یقینی بنانا ہوگا کہ سسٹم پیغام بتاتا ہے کہ ماڈل کا ایک JSON فارمیٹ میں نتیجہ ہوگا۔ نیچے ایک کرل درخواست کا مثال دی گئی ہے جو JSON سکیما کو فعال کرنے کے لئے ہے۔
کرل https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo-1106",
"response_format": { "type": "json_object" },
"messages": [
{
"role": "system",
"content": "آپ ایک مدد گار منتظم ہیں جوJSON میں نتائج ڈیزائن کرنے کے لئے بنایا گیا ہے۔"
},
{
"role": "user",
"content": "2020 کے ورلڈ سیریز کی کون سی ٹیم جیتی؟"
}
]
}'
JSON چھانٹنا اسکیما جواب
JSON اسکیما موڈ میں، جواب میں ایک مکمل اور بالکل درست چھانٹا گیا JSON شے شامل ہوگا۔ یہ موڈ یہ یقینی بناتا ہے کہ ماڈل کی خروجی ایک درست JSON شے ہوگا جسے براہ راست چھانٹا اور استعمال کیا جا سکے۔ نیچے ایک مثال دی گئی ہے جو JSON اسکیما کا استعمال کرتے ہوئے واپسی کی جا سکتی ہے۔
{
"choices": [
{
"finish_reason": "stop",
"message": {
"content": "{\"winner\": \"Los Angeles Dodgers\"}"
}
}
]
}
Python میں، آپ مندرجہ ذیل کوڈ کا استعمال کر کے جواب سے مواد نکال سکتے ہیں۔
import json
response = {
"choices": [
{
"finish_reason": "stop",
"message": {
"content": "{\"winner\": \"Los Angeles Dodgers\"}"
}
}
]
}
response_content = json.loads(response['choices'][0]['message']['content'])
print(response_content)
Output درج ذیل ہوگا:
{'winner': 'Los Angeles Dodgers'}
JSON اسکیما ایسے خصوصی استعمال کے لئے جواب کی صحیح فارمیٹنگ کو یقینی بنانے کے لئے ایک معتبر ترکیب فراہم کرتا ہے۔ لہذا، سفارش ہے کہ اسکیما کو ان امورات میں فعال کرنا جہاں API جواب کی فارمیٹ کے لئے مخصوص ضروریات ہوں۔