1. टेक्स्ट जेनरेशन मॉडल की बुनियादी जानकारी

ओपनएआई का टेक्स्ट जेनरेशन मॉडल, जिसे आमतौर पर जनरेटिव प्री-ट्रेन्ड ट्रांसफॉर्मर (GPT) के रूप में संदर्भित किया जाता है, गहरी सीख में स्व-ध्यान मेकेनिज्म पर आधारित होता है जो प्राकृतिक भाषा को समझने और प्रसंस्करण करने के लिए होता है. GPT मॉडल का प्रशिक्षण दो चरणों से मिलकर होता है: पूर्व-प्रशिक्षण और फाइन-ट्यूनिंग।

पूर्व-प्रशिक्षण

पूर्व-प्रशिक्षण चरण के दौरान, मॉडल एक बड़े पैमाने पर टेक्स्ट डेटासेट का उपयोग करके अनुप्रेषित शिक्षण करता है. इस प्रक्रिया में, मॉडल को अगले शब्द का पूर्वानुमान करके प्रशिक्षित किया जाता है. उदाहरण के लिए, जैसे "मेरे पास एक कलम है," इस सत्र में पहले कुछ शब्दों को देखने के बाद, यह "पेन" शब्द का पूर्वानुमान करने की कोशिश करता है. पूर्व-प्रशिक्षण का प्राथमिक उद्देश्य मॉडल को भाषा की संरचना और अर्थ को समझने की क्षमता प्रदान करना होता है।

फाइन-ट्यूनिंग

फाइन-ट्यूनिंग चरण में, विशेष कार्यों पर निगमित शिक्षण से संबंधित शिक्षण होता है. इस चरण में, मॉडल को विशिष्ट चुनौतियों को अनुकूलित करने के लिए समायोजित किया जाता है जैसे प्रश्न-जवाब प्रणालियों और दस्तावेज़ संक्षेपण. फाइन-ट्यूनिंग में, पूर्व-प्रशिक्षित मॉडल पर आंकित डेटासेट के साथ मॉडल को और बेहतर तरीके से विशिष्ट कार्यों को अनुकूलन करने की क्षमता प्रदान करने के लिए मॉडल को और अधिक प्रशिक्षण दिया जाता है।

2. अनुप्रयोग स्थितियाँ

ओपनएआई का टेक्स्ट जेनरेशन मॉडल विभिन्न स्थितियों में लागू किया जा सकता है. यहाँ कुछ विशिष्ट अनुप्रयोगों का वर्णन है:

  • दस्तावेज़ तैयार करना: उपयोगकर्ताओं को तेजी से दस्तावेज़ तैयार करने और संपादन करने में सहायता करना।
  • कंप्यूटर कोड लिखना: प्रोग्रामिंग में सहायता के लिए कोड स्निपेट उत्पन्न करना।
  • ज्ञान बेस पर सवालों का जवाब देना: भंडारित ज्ञान के आधार पर जवाब प्रदान करना।
  • टेक्स्ट विश्लेषण: पाठ सूचना निकालना, भावना का विश्लेषण करना, और अधिक।
  • सॉफ़्टवेयर को नैसर्गिक भाषा इंटरफ़ेस प्रदान करना: उपयोगकर्ताओं को प्राकृतिक भाषा का उपयोग करके सॉफ़्टवेयर के साथ आपसी क्रियाओं करने की अनुमति देना।
  • विषयों की विभिन्न विषयों में पाठ्यक्रम: कई विषयों पर शिक्षण मार्गदर्शन प्रदान करना।
  • भाषा अनुवाद: विभिन्न भाषाओं के बीच पाठ का अनुवाद करना।
  • खेलों के लिए पात्रों का प्रतिमान करना: खेल या भूमिका-निभाने की स्थितियों के लिए बातचीत और पृष्ठभूमि की कहानियां उत्पन्न करना।

3. डायलॉग मॉडल का परिचय

एक डायलॉग मॉडल एक विशेष प्रकार का टेक्स्ट जेनरेशन मॉडल होता है जो पूर्व-प्रशिक्षण के माध्यम से प्राकृतिक वार्तालाप को समझता है और उत्पन्न करता है। यह मॉडल एक उपयोगकर्ता और एक आधार्विक सहायक के बीच बातचीत को सिमुलेट कर सकता है, जो वास्तविक समय में इंटरैक्टिव अनुप्रयोगों के लिए उपयुक्त होता है।

डायलॉग मॉडल का उपयोग सामान्य रूप से मल्टी-टर्न इंटरैक्टिव बातचीतों में होता है। उदाहरण के लिए, जब एक उपयोगकर्ता सवाल पूछता है, तो मॉडल पिछले प्रशिक्षण डेटा के आधार पर उचित प्रतिक्रियाएँ उत्पन्न कर सकता है. साथ ही, डायलॉग मॉडल पिछली वार्तालाप सामग्री को ध्यान में रखकर और अधिक संबंधित और प्राकृतिक प्रतिक्रियाएँ उत्पन्न करने के लिए प्रासंगिक जानकारी को बनाए रख सकता है।

डायलॉग मॉडल के अनुप्रयोग स्थितियाँ:

  • ग्राहक सेवा सहायक: स्वचालित रूप से उपयोगकर्ताओं के अक्सर पूछे जाने वाले सवालों का जवाब देना, सहायता और सलाह प्रदान करना।
  • चैटबॉट्स: उपयोगकर्ताओं के साथ प्राकृतिक वार्तालापीय अव्यवस्थाओं में शामिल होना।
  • वर्चुअल सहायक: उपयोगकर्ताओं के आवाज़ आदेशों को निष्पादित करना, जैसे की मीटिंग की तिथियाँ ठीक करना, अनुस्मारक सेट करना, और अधिक।
  • रोल-प्ले खेल: खेली गई कहानियों और पात्रों को अनूठी बातचीतें उत्पन्न करके गेम का अनुभव समृद्ध करना।

4. डायलॉग मॉडल API

डायलॉग मॉडल API डेवलपर्स को HTTP अनुरोधों का उपयोग करके GPT मॉडल के साथ बातचीत करने की अनुमति देता है। इस अनुभाग में यह तय करने के लिए की कैसे curl का उपयोग करके अनुरोध बनाएं और मॉडल द्वारा लौटाए गए प्रतिक्रियाओं को विश्लेषण करें।

अनुरोध बनाना

शुरू होने से पहले, आपको ओपनएआई से पंजीकरण करना होगा और एक 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 विश्व सीरीज़ किस टीम ने जीती?"
      }
    ]
  }'

डायलॉग मॉडल पैरामीटरों का अर्थ

ओपनएआई के डायलॉग मॉडल 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 टोकन सुधारित इंस्ट्रक्शन क्रियान्वयन क्षमताएँ, JSON मोड, पुनर्जन्यता उत्पादन, और समानांतर कार्य कॉल के साथ GPT-4 टर्बो मॉडल।
gpt-4-vision-preview 128,000 टोकन छवियों को समझने की क्षमता वाला GPT-4 मॉडल, इसके अतिरिक्त सभी अन्य GPT-4 टर्बो सुविधाएँ।
gpt-4 8,192 टोकन वर्तमान में gpt-4-0613 पर पॉइंट किया गया है।
gpt-4-0613 8,192 टोकन 13 जून, 2023 की फोटो से GPT-4 स्नैपशॉट, सुधारित कार्य समर्थन सपोर्ट प्रदान करता है।
gpt-4-32k 32,768 टोकन वर्तमान में gpt-4-32k-0613 पर पॉइंट किया गया है। यह मॉडल व्यापक रूप से प्रमोट नहीं किया जाता है और GPT-4 टर्बो का उपयोग करने की सलाह दी जाती है।
gpt-4-32k-0613 32,768 टोकन 13 जून, 2023 के GPT-4 32k संस्करण की फोटो। यह मॉडल व्यापक रूप से प्रमोट नहीं किया जाता है और GPT-4 टर्बो का उपयोग करने की सलाह दी जाती है।
gpt-3.5-turbo-1106 16,385 टोकन सुधारित इंस्ट्रक्शन क्रियान्वयन, JSON मोड, पुनर्जन्यता उत्पादन, और समानांतर कार्य कॉल के साथ नवीनतम GPT-3.5 टर्बो मॉडल।
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 टोकन 13 जून, 2023 की फोटो से gpt-3.5-turbo का स्नैपशॉट। 13 जून, 2024 को इसका समर्थन बंद किया जायेगा।
gpt-3.5-turbo-16k-0613 16,385 टोकन 13 जून, 2023 की फोटो से gpt-3.5-16k-turbo का स्नैपशॉट। 13 जून, 2024 को इसका समर्थन बंद किया जायेगा।
gpt-3.5-turbo-0301 4,096 टोकन 1 मार्च, 2023 की फोटो से gpt-3.5-turbo का स्नैपशॉट। 13 जून, 2024 को इसका समर्थन बंद किया जायेगा।

संदेश पैरामीटर

संदेश पैरामीटर एक ऐरे है, जहां प्रत्येक तत्व बातचीत में एक संदेश को प्रस्तुत करता है। प्रत्येक संदेश एक वस्तु होती है जिसमें दो गुण होते हैं: भूमिका (भेजने वाले की भूमिका) और सामग्री (संदेश की विशेष सामग्री)।

  • role: संदेश की भूमिका को निर्धारित करता है। वैकल्पिक मूल्यों में "सिस्टम", "उपयोगकर्ता", और "सहायक" शामिल हैं।
  • content: संदेश की विशेष सामग्री।

भूमिका के प्रकार और फ़ंक्शन

भूमिका पैरामीटर की मान ने संदेश के प्रकार और फ़ंक्शन की परिभाषा की है। डायलॉग एपीआई विभिन्न भूमिकाओं पर आधारित मॉडल के प्रतिक्रिया को बदल देगा।

भूमिका 'प्रणाली'

सिस्टम संदेश का उपयोग मॉडल के व्यवहार को स्पष्ट रूप से दर्शाने के लिए किया जाता है। उदाहरण के लिए, यह मॉडल द्वारा निभाया जाने वाला भूमिका को स्पष्ट रूप से निर्दिष्ट कर सकता है (जैसे सहायक, अनुवादक, आदि), या बातचीत में अनुसरण के लिए विशेष निर्देश प्रदान कर सकता है। सिस्टम संदेश बातचीत के दौरान मॉडल के व्यवहार पर दीर्घकालिक प्रभाव डालते हैं, लेकिन वे सामान्यत: वैकल्पिक होते हैं।

उदाहरण के लिए, यदि आप मॉडल को बातचीत में एक ग्राहक सेवा सहायक के रूप में भागीदार बनाना चाहते हैं, तो आप सिस्टम संदेश में निर्दिष्ट कर सकते हैं:

{
  "role": "system",
  "content": "आप एक ग्राहक सेवा सहायक हैं।"
}

भूमिका 'उपयोगकर्ता'

उपयोगकर्ता संदेश उपयोगकर्ता द्वारा दर्ज किए गए प्रश्नों का प्रतिनिधित्व करते हैं। मॉडल इन संदेशों का प्रतिक्रिया देता है और जानकारी, उत्तर या अन्य प्रकार की आउटपुट प्रदान करता है। ये संदेश डायलॉग API वर्कफ़्लो का एक महत्वपूर्ण हिस्सा होते हैं और सामान्यत: अनुप्रयोगिता में उपयोगकर्ता के असली प्रश्नों का प्रतिक्रिया करते हैं।

उदाहरण के लिए, कर्ल उदाहरण में उपयोगकर्ता अनुरोध में:

{
  "role": "user",
  "content": "2020 विश्व सीरीज़ का विजेता कौन था?"
}

भूमिका 'सहायक'

सहायक संदेश सामान्यत: मॉडल द्वारा उत्पन्न जवाबों को संदर्भित करते हैं और डेवलपर द्वारा प्रदान की गई बातचीत इतिहास संदेशों का भी हिस्सा हो सकते हैं, जो एक स्वायत्तता रिटर्न मैसेज की फॉर्मेट को नकल करने के लिए उपयोग किया जाता है, मॉडल की आउटपुट देने के पूर्व नमूने प्रदान करने के लिए बातचीत इतिहास में सवालों के जवाब को देने की स्वरूप दर्शित करने के लिए। API अनुरोधों में, सहायक भूमिका संदेश सामान्यत: प्राप्त नहीं किए जाते हैं यदि यह आवश्यक न हो।

प्रतिक्रिया का विश्लेषण

मॉडल की प्रतिक्रिया JSON प्रारूप में वापस दी जाती है। नीचे दिए गए उत्तर के विश्लेषण का उदाहरण है:

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "2020 विश्व सीरीज़ का विजेता लॉस एंजिल्स डॉजर्स है।",
        "role": "सहायक"
      },
      "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 से मॉडल का जवाब प्राप्त कर सकते हैं।

वार्ता मॉडल में मेमोरी फ़ंक्शन को कैसे लागू करें

नीचे दिए गए उदाहरण में, OpenAI के चैट पूर्णता API का उपयोग करके GPT मॉडल की मेमोरी फ़ंक्शन को लागू करने का तरीका दिखाया गया है, जिसमें यह दिखाया गया है कि पुरानी चर्चा कॉन्टेक्स्ट (अर्थात, मेमोरी की सामग्री) को नए API अनुरोध में सहेजकर लगातार वार्ता प्राप्त करने के लिए कैसे प्राप्त किया जा सकता है।

import requests

api_url = "https://api.openai.com/v1/chat/completions"
api_key = "आपकी OpenAI 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 स्कीमा मोड में, प्रतिक्रिया में एक पूर्ण और सही रूप से पार्स किया गया JSON ऑब्ज