1. পাঠ্য উৎপাদন মডেলের মৌলিক

OpenAI-র পাঠ্য উৎপাদন মডেল, যা সাধারণভাবে Generative Pre-trained Transformer (GPT) হিসেবে পরিচিত, গভীর শিক্ষানবিশ কার্যে স্ব-মননী ম্যাপিং প্রক্রিয়ার উপর নির্ভর করে যেতে। GPT মডেলের প্রশিক্ষণে দুটি ধাপ রয়েছে: পূর্বপ্রশিক্ষণ এবং ফাইন-টিউনিং।

পূর্বপ্রশিক্ষণ

পূর্বপ্রশিক্ষণ পর্যায়ে, মডেলটি একটি বড় পরিমাণের পাঠ্যদান ডেটাসেট ব্যবহার করে আসুনক্ষমশেষ শিক্ষানবিশে প্রযোজ্য। এই প্রক্রিয়ায়, মডেলটি পরবর্তী শব্দটি আগামী কে ভবিষ্যতের অনুমান করে প্রশিক্ষণ পায়। উদাহরণস্বরূপ, "I have a pen" বাক্য প্রাথমিক কয়টা শব্দ দেখার পর, এটি শব্দটি "পেন" প্রেডিক্ট করতে চেষ্টা করে। পূর্বপ্রশিক্ষণের প্রাথমিক লক্ষ্য হ'ল মডেলকে ভাষার কাঠামো এবং অর্থজ্ঞানে বোঝার সুযোগ দেওয়া।

ফাইন-টিউনিং

ফাইন-টিউনিং পর্যায়ে, বিশেষ কার্যে নির্দিষ্ট প্রশিক্ষণের মধ্যে নামংকিত শৃঙ্খল ব্যবহারে পরিচিত। এই পর্যায়ে, মডেলটি পূর্বপ্রশিক্ষিত মডেলভিত্তিক ম্যাপিং করে নৌপয়োজ্য ডেটাসেট দিয়ে আরও প্রশিক্ষণে লাগে, যাতে দিয়ে তা বিশেষ কার্যে ভালোভাবে অনুকূল হতে পারে।

মডেল প্যারামিটার

মডেল প্যারামিটারটি ব্যবহার করা হয় মডেলের সংস্করণ নির্ধারণ করার জন্য। উদাহরণস্বরূপ, "model": "gpt-3.5-turbo" দেখায় যে আপনি GPT-3.5-Turbo মডেলটি অনুরোগ করছেন। এখানে নির্বাচিত মডেলের সংস্করণ তাোলা, প্রশিক্ষণ ডাটা, এবং ইন্টারফেস বৈশিষ্ট্য ভিত্তিক ব্যবহারকারীর ইনপুটে গুণাবলী প্রতিক্রিয়া দেবে।

নিম্নলিখিত মডেলগুলি বর্তমানে সমর্থিত:

সমর্থিত মডেল সর্বাধিক সংদর্ভ মডেল বিবরণ
gpt-4-0125-preview ১২৮,০০০ টোকেন "স্বল্পকালিন" মামলাগুলি নিরাপদ করার জন্য ডিজাইন করা gpt-4-0125-preview মডেল।
gpt-4-turbo-preview ১২৮,০০০ টোকেন বর্তমানে gpt-4-0125-preview মডেলকে নেভিগেট করছে।
gpt-4-1106-preview ১২৮,০০০ টোকেন উন্নত নির্দেশনা বিস্তার ক্ষমতা, JSON মোড, পুনর্উত্পাদনযোগ্য আউটপুট, এবং সময়গত কার্য কলিং ধারণা সহ সুধারিত gpt-4-1106-preview মডেল।
gpt-4-vision-preview ১২৮,০০০ টোকেন শুধুমাত্র এইমেজ বুঝার সামর্থ্য সহ সমস্ত অন্যান্য GPT-4 Turbo বৈশিষ্ট্যগুলির মাধ্যমে চিত্র বুঝার ক্ষমতাসহ এলাকা বুঝার গুরুত্বপূর্ণ মডেল।
gpt-4 ৮,১৯২ টোকেন বর্তমানে gpt-4-0613 কে নির্দেশ করা হচ্ছে।
gpt-4-0613 ৮,১৯২ টোকেন জুন ১৩, ২০২৩ তারিখ থেকে আপডেট gpt-4 থেকে সূচনাগুলি সমর্থন করে, প্রোগ্রামে কল সাপোট সুদৃঢ়ভাবে বৃদ্ধি দেয়।
gpt-4-32k ৩২,৭৬৮ টোকেন বর্তমানে gpt-4-32k-0613 কে নির্দেশ করা হচ্ছে। এই মডেলটি প্রচার না করা হয়েছে এবং প্রোফাইল প্রত্যাশী gpt-4-turbo ব্যবহার করা পছন্দ করে।
gpt-4-32k-0613 ৩২,৭৬৮ টোকেন জুন ১৩, ২০২৩ তারিখ হতে আপডেট gpt-4-32k থেকে, এই মডেলটি প্রচার না করা হয়েছে এবং প্রোফাইল প্রত্যাশী gpt-4-turbo ব্যবহার করা পছন্দ করে।
gpt-3.5-turbo-1106 ১৬,৩৮৫ টোকেন নতুনত্বপূর্ণ নির্দেশক ক্রিয়া, JSON মোড, পুনর্উত্পাদনযোগ্য আউটপুট, এবং সময়গত কার্য কলিং ধারণা সহ আপগ্রেড করা gpt-3.5-turbo-1106 সর্বশেষ মডেল।
gpt-3.5-turbo ৪,০৯৬ টোকেন বর্তমানে gpt-3.5-turbo-0613 কে নির্দেশ করা হচ্ছে।
gpt-3.5-turbo-16k ১৬,৩৮৫ টোকেন বর্তমানে gpt-3.5-turbo-16k-0613 কে নির্দেশ করা হচ্ছে।
gpt-3.5-turbo-instruct ৪,০৯৬ টোকেন GPT-3 ইউরা মডেলগুলির মতন কার্য লক্ষায়िত। ঐছু শেষ হতে চাইলে সাধারণ সমাপনি শোধি সামঞ্জস্যপূর্ণ নয়।
gpt-3.5-turbo-0613 ৪,০৯৬ টোকেন জুন ১৩, ২০২৩ তারিখে নিবিষ্ট gpt-3.5-turbo এর ছবি। পরবর্তী বটে উনি নির্ণায়ক হবে জুন ১৩, ২০২৪।
gpt-3.5-turbo-16k-0613 ১৬,৩৮৫ টোকেন জুন ১৩, ২০২৩ তারিখ থেকে আপডেট gpt-3.5-16k-turbo থেকে, এই মডেলটি প্রচার না করা হয়েছে এবং প্রোফাইল প্রত্যাশী gpt-3.5-turbo ব্যবহার করা পছন্দ করে।
gpt-3.5-turbo-0301 ৪,০৯৬ টোকেন মার্চ ১, ২০২৩ তারিখ থেকে আপডেট gpt-3.5-turbo থেকে, এই মডেলটি প্রচার না করা হয়েছে এবং প্রোফাইল প্রত্যাশী gpt-3.5-turbo ব্যবহার করা পছন্দ করে।

ম্যাসেজেস প্যারামিটার

ম্যাসেজেস প্যারামিটারটি একটি অ্যারে, যেখানে প্রতিটি উপাদান সং঵াদে একটি ম্যাসেজ প্রতিনিধিত্ব করে। প্রত্যেকটি ম্যাসেজ একটি অবজেক্ট যা দুইটি বৈশিষ্ট্য ধারণ করে: ভূমিকা (প্রেরকের ভূমিকা) এবং বিশেষ বিষয় (ম্যাসেজের নির্দিষ্ট বিষয়)।

  • role: ম্যাসেজের প্রেরকের ভূমিকা নির্ধারণ করে। "সিস্টেম", "ব্যবহারকারী", এবং "সহায়ক" মান প্রফার করা যায়।
  • content: ম্যাসেজের নির্দিষ্ট বিষয়।

ভূমিকা এবং ফাংশন এর ধরণ

ভূমিকা প্যারামিটারের মান ম্যাসেজের ধরণ এবং কার্য নির্ধারিত করে। যখন ভূমিকা API মডেলের প্রতিক্রিয়াকে পরিবর্তন করবে তখন ডােল ও API মডেলির প্রতিক্রিয়ার ভিতরে ভিতরের ভাষার ।

ভূমিকা 'সিস্টেম'

সিস্টেম বার্তা ব্যবহার করা হয় মডেলের আচরণের প্রাপ্যতা সুনির্দিষ্টভাবে নির্দেশ করার জন্য। উদাহরণস্বরূপ, এটি মডেল দ্বারা প্রদর্শিত ভূমিকা সুনির্দিষ্টভাবে নির্দিষ্ট করতে পারে (যেমন, সহায়ক, অনুবাদক, ইত্যাদি)। বা বার্তাবলীতে অনুসরণ করতে বিশেষ নির্দেশ প্রদান করতে পারে। সিস্টেম বার্তা বার্তা প্রতি বার্তাবলীতে মডেলের আচরণের উদ্ভূত প্রভাব রাখে, তবে এটি সাধারণত ঐচ্ছিক।

যেমন, যদি আপনি মডেলকে বার্তাবলীতে অংশগ্রহণ করার জন্য গ্রাহক সেবা সহায়ক হিসেবে অনুপস্থিত করার জন্য চান, তবে আপনি সিস্টেম বার্তায় নির্দেশ করতে পারেন:

{
  "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 থেকে মডেলের উত্তর প্রাপ্ত করতে পারেন।

কিভাবে ডায়ালগ মডেলে মেমোরি ফাংশন ইমপ্লিমেন্ট করবেন

নিচে OpenAI-র Chat Completions 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",  # পরিবর্তন করা যেতে পারে gpt-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}")

এই উদাহরণে, আমরা একটি ব্যবহারকারী প্রথমে বৃষ্টিপাতের মূল কারণ সম্পর্কে প্রশ্ন করছে, এবং তারপরে মডেলের ব্যাখ্যার উপর ভিত্তি করে অবদানের অন্য প্রশ্ন প্রদান করছে। পরবর্তী রিকোয়েস্টগুলিতে, আমরা পূর্ববর্তী সংলাপের বিষয়বস্তুকে সংরক্ষণ করার জন্য বড় রাউন্ডের ইনপুট এবং আউটপুট ব্যবহার করে সংলাপের মেমোরি কে মনে রাখতে। এই পদ্ধতি বিরামবর্তি শিরোনাম এবং পূর্ববর্তী বার্তা থেকে নতুন রিকুয়েস্ট ের ইতিহাস বার্তাগুলি ব্যবহৃত করে সংলাপ অবস্থা পাঠানো হয়।

যোগসূচনা: ডায়ালগের মেমোরি ফাংশন বাস্তবায়ন করার জন্য, কারণ মডেলটির একটি সর্বাধিক টোকেন সীমা আছে, প্রতিটি রিকুয়েস্ট এর জন্য সমস্ত ঐতিহাসিক সংলাপ বার্তা প্রবেশ করার জন্য কার্যকর নয়। সাধারণত, বর্তমান প্রশ্নগুলির সাথে সম্পর্কিত বার্তাগুলি মডেলে ঐতিহাসিক বার্তাগুলি হিসেবে প্রবেশ করে, এবং পরবর্তী অনুচ্ছেদগুলিতে যে ভাগগুলি প্রিন্সপ থিকে সাপেক্ষেদর বিষয়বস্তু খোঁজ হ্রাসের সুবিধা কীভাবে অর্জন করতে প্রেরণা দেয়।

5. জেসন স্কিমা

ডায়ালগ মডেল API-র জেসন স্কিমা হল একটি সুযোগ, যা ব্যবহারকারীকে মডেলকে সবসময় জেসন অবজেক্ট ফিরিং করার জন্য নির্দেশ দেয়, যা JSON ফরম্যাটে সম্প্রাপ্তি সংযুক্তির জন্য অনুপ্রেরণ সম্পর্কিত বিভিন্ন অবস্থানের জন্য প্রয়োজিত।

জেসন স্কিমা ব্যবহার করা

জেসন স্কিমা ব্যবহার করতে, আপনাকে HTTP রিকুয়েস্ট বডির জন্য response_format ক্ষেত্রটি সেট করার জন্য গুলি আবশ্যক এবং নিরাপত্তা করা দরকার, এবং সিস্টেম বার্তা সনাক্ত করতে হবে যে মডেল আউটপুটটি জেসন ফরম্যাটে রয়েছে। নিচে জেসন স্কিমা সক্রিয় করার জন্য একটি curl রিকুয়েস্ট উদাহরন দেওয়া হল:

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-1106",
    "response_format": { "type": "json_object" },
    "messages": [
      {
        "role": "system",
        "content": "আপনি একটি সাহায্যকর্তা হিসেবে ডিজাইন করা হয়েছে যাতে আউটপুট JSON ফরম্যাটে ফেরতযোগ্য হয়।"
      },
      {
        "role": "user",
        "content": "২০২০ বিশ্ব সিরিজ জয়ী দল কোনটি?"
      }
    ]
  }'

জেএসওএন স্কিমা রেসপন্স পার্স করা

জেএসওএন স্কিমা মোডে, রেসপন্সটি একটি সম্পূর্ণ এবং পূর্ণরূপে পার্স করা জেএসওএন অবজেক্ট ধারণ করতে পারে। এই মোডটি নিশ্চিত করে দেয় যে মডেলের আউটপুটটি একটি বৈধ জেএসওএন অবজেক্ট যা সরাসরি পার্স করা এবং ব্যবহার করা যেতে পারে। নীচে জেএসওএন স্কিমা ব্যবহার করে প্রত্যেকটি রেসপন্সে ফিরে যেতে পারে এমন একটি উদাহরণ দেয়া হয়েছে:

{
  "choices": [
    {
      "finish_reason": "stop",
      "message": {
        "content": "{\"winner\": \"Los Angeles Dodgers\"}"
      }
    }
  ]
}

পাইথনে, আপনি রেসপন্স থেকে কন্টেন্ট বের করার জন্য নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:

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)

আউটপুট হবে:

{'winner': 'Los Angeles Dodgers'}

জেএসওএন স্কিমা সম্পূর্ণ সঠিকভাবে রেসপন্স ফরম্যাটিং নিশ্চিত করার জন্য একটি বিশ্বস্ত পদ্ধতি প্রদান করে। তাই, API রেসপন্স ফরম্যাটের নির্দিষ্ট চাহিদা থাকলে জেএসওএন স্কিমা সক্রিয় করার পরামর্শ দেওয়া হয়।