1. API अनुरोध निर्माण

1.1 CURL का उपयोग करके अनुरोध भेजना

CURL एक कमांड-लाइन टूल है जो HTTP और HTTPS जैसे विभिन्न प्रोटोकॉल का उपयोग करके डेटा भेजने और प्राप्त करने का समर्थन करता है। OpenAI API को CURL का उपयोग करके एक अनुरोध भेजने के लिए, आपको पहले एक वैध 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": "कहें कि यह एक परीक्षण है!"}],
     "temperature": 0.7
   }'

आपको $OPENAI_API_KEY को अपनी API कुंजी से बदलना होगा। सुरक्षा कारणों से, किसी भी सार्वजनिक स्थिति में अपनी API कुंजी को बाहरी सार्वजनिक सेटिंग में प्रकट न करें।

1.2 अनुरोध हेडर्स का विश्लेषण

उपरोक्त CURL कमांड में, हमने दो महत्वपूर्ण अनुरोध हेडर्स का उपयोग किया: Content-Type और Authorization

  • Content-Type: यह सर्वर को सूचित करता है कि हम JSON प्रारूप में डेटा भेज रहे हैं। इसका मान सामान्य रूप से application/json होता है।
  • Authorization: यह प्रमाणीकरण के लिए उपयोग की जाने वाली प्रमाणीकरण है, और इसका प्रारूप हमेशा Bearer (आपकी API कुंजी) होता है।

इन दो हेडर्स की सहीता को सुनिश्चित करना अनुरोध की सफलता के लिए महत्वपूर्ण है।

1.3 अनुरोध बॉडी का निर्माण

अनुरोध बॉडी एक JSON प्रारूपित स्ट्रिंग होती है जो OpenAI को हमारी इच्छाओं के बारे में सूचित करती है। इस अनुरोध में, हम model का उपयोग करके मॉडल को निर्दिष्ट करते हैं, messages एक प्रयोक्ता को विशेषित करने वाले मैसेज का पास करता है, और एक temperature सेट करता है जिससे प्रतिक्रिया की विविधता को समायोजित किया जाता है।

JSON इस तरह से दिखता है:

{
  "model": "gpt-3.5-turbo",
  "messages": [{"role": "user", "content": "कहें कि यह एक परीक्षण है!"}],
  "temperature": 0.7
}

इस उदाहरण में, हम मॉडल को आधार में एक परीक्षण प्रतिक्रिया उत्पन्न करने के लिए अनुरोध कर रहे हैं।

1.4 अनुरोध पैरामीटर का विस्तृत विवरण

अनुरोध बॉडी के अंदर, कुछ महत्वपूर्ण पैरामीटर हैं जो ध्यान देने योग्य हैं:

  • model: हमारा मनोबल उपयोग करने के लिए AI मॉडल निर्दिष्ट करता है। OpenAI विभिन्न मॉडल प्रदान करता है, प्रत्येक मॉडल में विभिन्न कार्यक्षमताएँ और प्रभाव होते हैं।
  • messages: यह एक role प्रदान करने वाले बदला हुआ संदेश और content संदेश की सामग्री प्रदान करने वाले एक या एक से अधिक संदेश ऑब्जेक्ट को समायोजित करने वाले एक ऐरे होता है।
  • temperature: प्रतिक्रिया की निश्चितता को नियंत्रित करता है। कम temperature से अधिक निश्चित उत्तरों को उत्पन्न करता है, जबकि अधिक मान अधिक अनियमितता लाता है।

2. API प्रतिक्रियाओं का विश्लेषण

2.1 प्रतिक्रिया को समझना

जब आप एक अनुरोध भेजते हैं, सर्वर HTTP स्थिति कोड और संभावना से एक प्रतिक्रिया बॉडी भेजेगा। सामान्यत: सफल अनुरोध को 200 श्रृंखला में स्थिति कोड प्राप्त होता है। वापस आने वाले 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\nयह एक परीक्षण है!"
            },
            "logprobs": null,
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

इस प्रतिक्रिया में, हम संपूर्णता आईडी, निर्माण समय-चिन्ह, प्रयोगित मॉडल, टोकन प्रयोग, और प्रतिक्रिया की वास्तविक सामग्री (चयन) (choices फ़ील्ड में) देख सकते हैं।

2.2 पूर्णता और त्रुटि हैंडलिंग

finish_reason फ़ील्ड संकेत करता है कि API क्यों अधिक सामग्री उत्पादित करना बंद कर दिया। सामान्य finish_reason में stop, length, और idle शामिल होते हैं। अगर कोई त्रुटि होती है, जैसे टोकन सीमा पार करना या गलत API कुंजी, तो आपको संबंधित त्रुटि संदेश और स्थिति कोड प्राप्त होगा। उन त्रुटियों को सही ढंग से हैंडल करना महत्वपूर्ण है ताकि प्रयोक्ता अनुभव और आपके अनुप्रयोग की स्थिरता की सुनिश्चिति हो। त्रुटि हैंडलिंग के लिए, आप संचालित स्थिति कोड और त्रुटि संदेश के आधार पर उचित त्रुटि हैंडलिंग रणनीति तय कर सकते हैं, जैसे कि अनुरोध फिर से प्रयास करना या उपयोगकर्ता को त्रुटि के कारण का स्पष्टीकरण देना।

2.3 Python SDK का उपयोग करके API अनुरोध भेजना

नीचे एक उदाहरण है जो आधिकारिक OpenAI Python SDK का उपयोग करके API कॉल करने का है।

सबसे पहले, आपको openai लाइब्रेरी को इंस्टॉल करना होगा, जो pip का उपयोग करके किया जा सकता है:

pip install --upgrade openai

अगले, आप निम्नलिखित Python कोड का उपयोग कर सकते हैं एक समान 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": "तुम एक पेशेवर विकास सहायक हो, विभिन्न प्रोग्रामिंग समस्याओं को हल करने के लिए प्रवीण।"},
    {"role": "user", "content": "Go में quicksort के लिए एक फ़ंक्शन लिखें।"}
  ]
)

print(completion.choices[0].message)