1. API درخواستوں کی تشکیل

1.1 CURL کے ذریعے درخواست بھیجنا

CURL ایک کمانڈ لائن ٹول ہے جو HTTP اور HTTPS جیسے مختلف پروٹوکول کا استعمال کرکے ڈیٹا بھیجنا اور مواصلت کرنا سپورٹ کرتا ہے۔ CURL کا استعمال کرکے OpenAI API کو درخواست بھیجنے کے لئے، آپ کو پہلے ایک درست API کی چابی حاصل کرنی ہوگی اور پھر اسے درخواست کے ہیڈر میں شامل کرنا ہوگا۔

یہاں ایک مثال ہے CURL کمانڈ کی جو OpenAI API کو درخواست بھیجنے کے لئے استعمال ہوتی ہے:

curl 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": "user", "content": "Say this is a test!"}],
     "temperature": 0.7
   }'

آپ کو $OPENAI_API_KEY کو آپ کی API کی چابی سے بدلنا ہوگا۔ سیکیورٹی کی وجہ سے، کسی بھی عوامی مقام پر اپنی API کی چابی کا انکشاف کرنے سے بچیں۔

1.2 درخواست کے ہیڈرز کا تجزیہ

مذکورہ بالا CURL کمانڈ میں ہم نے دو اہم درخواست کے ہیڈرز استعمال کیے: Content-Type اور Authorization۔

  • Content-Type: یہ سرور کو مطلع کرتا ہے کہ ہم JSON فارمیٹ میں ڈیٹا بھیج رہے ہیں۔ اس کی قیمت عام طور پر application/json ہوتی ہے۔
  • Authorization: یہ وہ Cہنچس ہیں جو API درخواست کو تصدیق کرنے کے لئے استعمال ہوتے ہیں، اور اس کی فارمیٹ ہمیشہ Bearer (آپ کی API کی چابی) ہوتی ہے۔

ان دو ہیڈرز کی درستگی درخواست کی کامیابی کے لئے اہم ہے۔

1.3 درخواست بادی کی تشکیل

درخواست بادی ایک JSON فارمیٹ والی سٹرنگ ہوتی ہے جو OpenAI کو ہماری منصوبہ بندی کے بارے میں آگاہ کرتی ہے۔ اس درخواست میں ہم model کا استعمال کرتے ہیں تاکہ ہماری استعمال ہونے والی ماڈل کی مخصوصیت بندی کریں، messages ایک role فراہم کرتی ہے جو پیغام کی کردار کو فراہم کرتی ہے اور content پیغام کی مواد کو ظاہر کرتی ہے، اور temperature کو ترتیب دینے کے لئے استعمال کیا جاتا ہے۔

JSON اس طرح دکھتی ہے:

{
  "model": "gpt-3.5-turbo",
  "messages": [{"role": "user", "content": "Say this is a test!"}],
  "temperature": 0.7
}

اس مثال میں، ہم دعوت کر رہے ہیں کہ ماڈل تجربہ کے اندراج پر مبنی ایک ٹیسٹ جواب پیدا کرے۔

1.4 درخواست پیرامیٹرز کی تفصیلی وضاحت

درخواست بادی کے اندر، کئی اہم پیرامیٹرز ہیں جن پر نوٹس لینا ضروری ہے:

  • model: ہماری منصوبہ بندی کرنے والے AI ماڈل کا تعین کرتا ہے۔ OpenAI مختلف ماڈل فراہم کرتا ہے، ہر ایک کا مختلف فعالیت اور اثرات ہوتے ہیں۔
  • messages: یہ ایک یا ایک سے زیادہ میسجز کا ایک ایرے ہے، ہر میسج میں ایک role ہوتا ہے جو میسج کے کردار کو فراہم کرتا ہے اور content جواب کی مواد کو ظاہر کرتا ہے۔
  • temperature: جواب کی یقینیت کو کنٹرول کرتا ہے۔ کم temperature سے مزید یقینی جوابات پیدا ہوتے ہیں، جبکہ زیادہ قیمت سے بڑھ کر مزید اتفاقیت روپ میں ہوتے ہیں۔

2. API جوابات کا تجزیہ

2.1 جواب کو سمجھنا

جب آپ ایک درخواست بھیجتے ہیں، سرور HTTP کا ایک حالت کوڈ اور ممکن ہوتا ہے ریسپانس بادی بھی واپس کرتا ہے۔ عام طور پر، کامیاب درخواست کو ۲۰۰ سیریز کے اندر حالت کوڈ ملتا ہے۔ واپسی JSON ڈیٹا میں درخواست کے نتیجے کو شامل کیا گیا ہوتا ہے، اور ایک مثال کے روپ میں جواب مندرجہ ذیل ہوتا ہے:

{
    "id": "chatcmpl-abc123",
    "object": "chat.completion",
    "created": 1677858242,
    "model": "gpt-3.5-turbo-1106",
    "usage": {
        "prompt_tokens": 13,
        "completion_tokens": 7,
        "total_tokens": 20
    },
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "\n\nThis is a test!"
            },
            "logprobs": null,
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

اس جواب میں ہم دیکھ سکتے ہیں کہ مکمل ID، تخلیق تائمہ، استعمال کردہ ماڈل، ٹوکن کا استعمال، اور جواب کی اصل مواد (کے choices حصے میں) موجود ہے۔

2.2 کملنس اور خرابی کا ہینڈلنگ

finish_reason ہنچز واضح کرتی ہے کہ API نے اور مواد نکالنا بند کیا ہے۔ مخصوص اختتام کے وجوہات میں stop، length، اور idle شامل ہیں۔ اگر کوئی خرابی پیش آئے مثال کے طور پر ٹوکن حدود پار ہوجانا یا غلط API کی چابی استعمال ہونے کی صورت میں، آپ کو مناسب خرابی کا ہینڈلنگ کرنا ہوگا۔ صحیح طریقے سے ان خرابیوں کا ہینڈل کرنا اہم ہے تاکہ صارف کے تجربے کی مستقلیت اور آپ کے ایپلیکیشن کی مضبوطی کی مدد کی جا سکے۔ خرابی کا ہینڈلنگ کے لئے، آپ واپسی حالت کوڈ اور خرابی کے پیغام کے بنیاد پر مناسب خرابی کا ہینڈلنگ سٹریٹجی تعین کر سکتے ہیں، مثلاً درخواست کو دوبارہ کوشش کرنا یا صارف کو خرابی کے وجہ کی وضاحت دیتے ہوئے واپسی فیڈبیک فراہم کرنا۔

2.3 پائتھن ایس ایکے کا استعمال کرکے API درخواست بھیجنا

نیچے ایک مثال دی گئی ہے جس میں دکھایا گیا ہے کہ آپ کیسے آفیشل اوپن اے آئی پائتھن ایس ایکے کا استعمال کرکے API کال کرسکتے ہیں۔

پہلے، آپ کو اوپنای ایی کتابخانے کو انسٹال کرنا ہوگا، جو کہ پپ کے ذریعے کیا جا سکتا ہے:

pip install --upgrade openai

پھر، آپ نیچے دی گئی پائتھن کوڈ کا استعمال کرکے اسی طرح کی API درخواست بھیج سکتے ہیں۔ یاد رکھیں کہ YOUR_OPENAI_API_KEY کو اپنے ای پی ای کی کے ساتھ بدل دیں۔

from openai import OpenAI

client = OpenAI(
   api_key="YOUR_OPENAI_API_KEY",
)

completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "You are a professional development assistant, adept at solving various programming problems."},
    {"role": "user", "content": "Write a function for quicksort in Go."}
  ]
)

print(completion.choices[0].message)