जेफिरनेट लोगो

पायथन के साथ ओपनएआई एपीआई की खोज - केडीनगेट्स

दिनांक:

पायथन के साथ ओपनएआई एपीआई की खोज
छवि के साथ उत्पन्न Ideogram.ai
 

OpenAI के बारे में किसने नहीं सुना? एआई अनुसंधान प्रयोगशाला ने अपने प्रसिद्ध उत्पाद चैटजीपीटी के कारण दुनिया को बदल दिया है।

इसने सचमुच एआई कार्यान्वयन के परिदृश्य को बदल दिया है, और कई कंपनियां अब अगली बड़ी चीज़ बनने की होड़ में हैं।

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

OpenAI के सभी मॉडल API कॉल के माध्यम से उपलब्ध हैं। सरल पायथन कोड के साथ, आप पहले से ही मॉडल का उपयोग कर सकते हैं। 

इस लेख में, हम यह पता लगाएंगे कि पायथन के साथ ओपनएआई एपीआई का उपयोग कैसे करें और विभिन्न कार्य जो आप कर सकते हैं। मुझे आशा है कि आप इस लेख से बहुत कुछ सीखेंगे।

इस लेख का अनुसरण करने के लिए, आपको कुछ चीजें तैयार करने की आवश्यकता है।

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

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

अंत में, आपको अपने वातावरण में OpenAI Python पैकेज स्थापित करना होगा। आप निम्न कोड का उपयोग करके ऐसा कर सकते हैं.

pip install openai

 

फिर, आपको नीचे दिए गए कोड का उपयोग करके अपना OpenAI कुंजी पर्यावरण चर सेट करना होगा।

import os

os.environ['OPENAI_API_KEY'] = 'YOUR API KEY'

 

सब कुछ सेट होने के बाद, आइए पायथन के साथ ओपनएआई मॉडल की एपीआई की खोज शुरू करें।

OpenAI API का सितारा उनका टेक्स्ट जेनरेशन मॉडल है। ये बड़े भाषा मॉडल परिवार प्रॉम्प्ट नामक टेक्स्ट इनपुट से टेक्स्ट आउटपुट उत्पन्न कर सकते हैं। संकेत मूल रूप से निर्देश हैं कि हम मॉडल से क्या अपेक्षा करते हैं, जैसे पाठ विश्लेषण, दस्तावेज़ ड्राफ्ट तैयार करना और बहुत कुछ।

आइए एक सरल टेक्स्ट जेनरेशन एपीआई कॉल निष्पादित करके शुरुआत करें। हम बेस मॉडल के रूप में OpenAI के GPT-3.5-टर्बो मॉडल का उपयोग करेंगे। यह सबसे उन्नत मॉडल नहीं है, लेकिन सबसे सस्ता अक्सर पाठ-संबंधी कार्यों को करने के लिए पर्याप्त होता है।

from openai import OpenAI
client = OpenAI()

completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Generate me 3 Jargons that I can use for my Social Media content as a Data Scientist content creator"}
  ]
)

print(completion.choices[0].message.content)

 

  1. "डेटा-संचालित निर्णय लेने के लिए पूर्वानुमानित विश्लेषण की शक्ति को उजागर करना!"
  2. "मूल्यवान अंतर्दृष्टि को उजागर करने के लिए डेटा महासागर में गहराई से गोता लगाना।"
  3. "उन्नत एल्गोरिदम के माध्यम से कच्चे डेटा को कार्रवाई योग्य बुद्धिमत्ता में बदलना।"

टेक्स्ट जेनरेशन मॉडल के लिए एपीआई कॉल एपीआई एंडपॉइंट का उपयोग करता है चैट.समापन हमारे प्रॉम्प्ट से टेक्स्ट प्रतिक्रिया बनाने के लिए। 

टेक्स्ट जेनरेशन के लिए दो आवश्यक पैरामीटर हैं: मॉडल और संदेश। 

मॉडल के लिए, आप संबंधित मॉडल पृष्ठ पर उन मॉडलों की सूची देख सकते हैं जिनका आप उपयोग कर सकते हैं। 

जहां तक ​​संदेशों का सवाल है, हम दो जोड़ियों वाला एक शब्दकोश पास करते हैं: भूमिका और सामग्री। भूमिका कुंजी ने वार्तालाप मॉडल में भूमिका प्रेषक को निर्दिष्ट किया। 3 अलग-अलग भूमिकाएँ हैं: सिस्टम, उपयोगकर्ता और सहायक।

संदेशों में भूमिका का उपयोग करके, हम मॉडल व्यवहार और मॉडल को हमारे संकेत का उत्तर कैसे देना चाहिए इसका एक उदाहरण सेट करने में मदद कर सकते हैं।

आइए अपने मॉडल पर मार्गदर्शन देने के लिए भूमिका सहायक के साथ पिछले कोड उदाहरण का विस्तार करें। इसके अतिरिक्त, हम टेक्स्ट जनरेशन मॉडल के परिणाम को बेहतर बनाने के लिए कुछ मापदंडों का पता लगाएंगे।

completion = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Generate me 3 jargons that I can use for my Social Media content as a Data Scientist content creator."},
        {"role": "assistant", "content": "Sure, here are three jargons: Data Wrangling is the key, Predictive Analytics is the future, and Feature Engineering help your model."},
        {"role": "user", "content": "Great, can you also provide me with 3 content ideas based on these jargons?"}
    ],
    max_tokens=150,
    temperature=0.7,
    top_p=1,
    frequency_penalty=0
)

print(completion.choices[0].message.content)

 

बिल्कुल! यहां उपलब्ध शब्दजाल पर आधारित तीन सामग्री विचार दिए गए हैं:

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

परिणामी आउटपुट उस उदाहरण का अनुसरण करता है जो हमने मॉडल को प्रदान किया था। यदि हमारे पास एक निश्चित शैली या परिणाम है जिसे हम मॉडल का अनुसरण करना चाहते हैं तो भूमिका सहायक का उपयोग करना उपयोगी है।

जहां तक ​​मापदंडों का सवाल है, यहां हमारे द्वारा उपयोग किए गए प्रत्येक पैरामीटर की सरल व्याख्या दी गई है:

  • max_tokens: यह पैरामीटर मॉडल द्वारा उत्पन्न किए जा सकने वाले शब्दों की अधिकतम संख्या निर्धारित करता है।
  • तापमान: यह पैरामीटर मॉडल के आउटपुट की अप्रत्याशितता को नियंत्रित करता है। उच्च तापमान के परिणामस्वरूप आउटपुट अधिक विविध और कल्पनाशील होते हैं। स्वीकार्य सीमा 0 से अनंत तक है, हालांकि 2 से ऊपर के मान असामान्य हैं।
  • शीर्ष_पी: न्यूक्लियस सैंपलिंग के रूप में भी जाना जाता है, यह पैरामीटर संभाव्यता वितरण के सबसेट को निर्धारित करने में मदद करता है जिससे मॉडल अपना आउटपुट खींचता है। उदाहरण के लिए, 0.1 के टॉप_पी मान का मतलब है कि मॉडल नमूनाकरण के लिए संभाव्यता वितरण के केवल शीर्ष 10% पर विचार करता है। इसके मान 0 से 1 तक हो सकते हैं, उच्च मान अधिक आउटपुट विविधता की अनुमति देते हैं।
  • आवृत्ति_दंड: यह मॉडल के आउटपुट में बार-बार टोकन को दंडित करता है। दंड का मूल्य -2 से 2 तक हो सकता है, जहां सकारात्मक मूल्य टोकन की पुनरावृत्ति को हतोत्साहित करते हैं, और नकारात्मक मूल्य इसके विपरीत करते हैं, बार-बार शब्द के उपयोग को प्रोत्साहित करते हैं। 0 का मान इंगित करता है कि पुनरावृत्ति के लिए कोई जुर्माना नहीं लगाया जाता है।

अंत में, आप निम्नलिखित कोड के साथ मॉडल आउटपुट को JSON प्रारूप में बदल सकते हैं।

completion = client.chat.completions.create(
  model="gpt-3.5-turbo",
  response_format={ "type": "json_object" },
  messages=[
    {"role": "system", "content": "You are a helpful assistant designed to output JSON.."},
    {"role": "user", "content": "Generate me 3 Jargons that I can use for my Social Media content as a Data Scientist content creator"}
  ]
)

print(completion.choices[0].message.content)

 

{
"शब्दजाल": [
"मूल्यवान अंतर्दृष्टि को अनलॉक करने के लिए पूर्वानुमानित विश्लेषण का लाभ उठाना",
"उन्नत मशीन लर्निंग एल्गोरिदम की जटिलताओं की गहराई में जाना",
"डेटा-संचालित निर्णय लेने के लिए बड़े डेटा की शक्ति का उपयोग करना"
]
}

परिणाम JSON प्रारूप में है और मॉडल में हमारे द्वारा इनपुट किए गए प्रॉम्प्ट का पालन करता है।

पूर्ण के लिए टेक्स्ट जेनरेशन एपीआई दस्तावेज़ीकरण, आप उन्हें उनके समर्पित पृष्ठ पर देख सकते हैं।

ओपनएआई मॉडल टेक्स्ट जेनरेशन के उपयोग के मामलों के लिए उपयोगी है और इमेज जेनरेशन उद्देश्यों के लिए एपीआई को भी कॉल कर सकता है। 

DALL·E मॉडल का उपयोग करके, हम अनुरोध के अनुसार एक छवि उत्पन्न कर सकते हैं। इसे निष्पादित करने का सरल तरीका निम्नलिखित कोड का उपयोग करना है।

from openai import OpenAI
from IPython.display import Image

client = OpenAI()

response = client.images.generate(
  model="dall-e-3",
  prompt="White Piano on the Beach",
  size="1792x1024",
  quality="hd",
  n=1,
)

image_url = response.data[0].url
Image(url=image_url)

 

पायथन के साथ ओपनएआई एपीआई की खोज
DALL·E 3 के साथ बनाई गई छवि
 

मापदंडों के लिए, यहां स्पष्टीकरण दिए गए हैं:

  • आदर्श: उपयोग करने के लिए छवि निर्माण मॉडल। वर्तमान में, एपीआई केवल DALL·E 3 और DALL·E 2 मॉडल का समर्थन करता है। 
  • शीघ्र: यह पाठ्य विवरण है जिसके आधार पर मॉडल एक छवि उत्पन्न करेगा। 
  • आकार: उत्पन्न छवि का रिज़ॉल्यूशन निर्धारित करता है। DALL·E 3 मॉडल के लिए तीन विकल्प हैं (1024×1024, 1024×1792 या 1792×1024)।
  • गुणवत्ता: यह पैरामीटर उत्पन्न छवि की गुणवत्ता को प्रभावित करता है। यदि कम्प्यूटेशनल समय की आवश्यकता है, तो "मानक" "एचडी" से तेज़ है।
  • n: संकेत के आधार पर उत्पन्न की जाने वाली छवियों की संख्या निर्दिष्ट करता है। DALL·E 3 एक समय में केवल एक छवि उत्पन्न कर सकता है। DALL·E 2 एक बार में 10 तक उत्पन्न कर सकता है।

मौजूदा छवि से भिन्न छवि उत्पन्न करना भी संभव है, हालांकि यह केवल DALL·E 2 मॉडल का उपयोग करके उपलब्ध है। एपीआई केवल 4 एमबी से कम वर्गाकार पीएनजी छवियों को भी स्वीकार करता है।

from openai import OpenAI
from IPython.display import Image

client = OpenAI()

response = client.images.create_variation(
  image=open("white_piano_ori.png", "rb"),
  n=2,
  size="1024x1024"
)

image_url = response.data[0].url

Image(url=image_url)

 

छवि DALL·E 3 पीढ़ियों जितनी अच्छी नहीं हो सकती क्योंकि यह पुराने मॉडल का उपयोग कर रही है।

OpenAI एक अग्रणी कंपनी है जो ऐसे मॉडल उपलब्ध कराती है जो इमेज इनपुट को समझ सकते हैं। इस मॉडल को विज़न मॉडल कहा जाता है, जिसे कभी-कभी GPT-4V भी कहा जाता है। हमारे द्वारा दी गई छवि के आधार पर मॉडल प्रश्नों का उत्तर देने में सक्षम है।

आइए विज़न मॉडल एपीआई आज़माएँ। इस उदाहरण में, मैं DALL·E 3 मॉडल से उत्पन्न सफेद पियानो छवि का उपयोग करूंगा और इसे स्थानीय रूप से संग्रहीत करूंगा। इसके अलावा, मैं एक फ़ंक्शन बनाऊंगा जो छवि पथ लेता है और छवि विवरण टेक्स्ट लौटाता है। api_key वैरिएबल को अपनी API कुंजी में बदलना न भूलें।

from openai import OpenAI
import base64
import requests
def provide_image_description(img_path):

    client = OpenAI()

    api_key = 'YOUR-API-KEY'
    # Function to encode the image
    def encode_image(image_path):
      with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')
   
    # Path to your image
    image_path = img_path
   
    # Getting the base64 string
    base64_image = encode_image(image_path)
   
    headers = {
      "Content-Type": "application/json",
      "Authorization": f"Bearer {api_key}"
    }
   
    payload = {
      "model": "gpt-4-vision-preview",
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "type": "text",
              "text": """Can you describe this image? """
            },
            {
              "type": "image_url",
              "image_url": {
                "url": f"data:image/jpeg;base64,{base64_image}"
              }
            }
          ]
        }
      ],
      "max_tokens": 300
    }
   
    response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)

    return response.json()['choices'][0]['message']['content']

 

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

आप अपने विज़न मॉडल आवश्यकताओं से मेल खाने के लिए उपरोक्त शब्दकोश में पाठ मानों को बदल सकते हैं।

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

ऑडियो जेनरेट करने के लिए आप नीचे दिए गए कोड का उपयोग कर सकते हैं।

from openai import OpenAI
client = OpenAI()

speech_file_path = "speech.mp3"
response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input="I love data science and machine learning"
)

response.stream_to_file(speech_file_path)

 

आपको अपनी निर्देशिका में ऑडियो फ़ाइल देखनी चाहिए। इसे खेलने का प्रयास करें और देखें कि यह आपके मानक के अनुरूप है या नहीं। 

वर्तमान में, केवल कुछ पैरामीटर हैं जिनका उपयोग आप टेक्स्ट-टू-स्पीच मॉडल के लिए कर सकते हैं:

  • मॉडल: उपयोग करने के लिए टेक्स्ट-टू-स्पीच मॉडल। केवल दो मॉडल उपलब्ध हैं (tts-1 या tts-1-hd), जहां tts-1 गति को अनुकूलित करता है और tts-1-hd गुणवत्ता के लिए।
  • आवाज: उपयोग की जाने वाली आवाज शैली जहां सभी आवाज अंग्रेजी में अनुकूलित होती है। चयन मिश्रधातु, प्रतिध्वनि, कल्पित कहानी, गोमेद, नोवा और शिमर है।
  • प्रतिक्रिया_प्रारूप: ऑडियो प्रारूप फ़ाइल। वर्तमान में, समर्थित प्रारूप एमपी3, ओपस, एएसी, फ्लैक, वेव और पीसीएम हैं।
  • गति: उत्पन्न ऑडियो गति। आप 0.25 से 4 के बीच मान चुन सकते हैं। 
  • इनपुट: ऑडियो बनाने के लिए टेक्स्ट। वर्तमान में, मॉडल केवल 4096 वर्णों तक का समर्थन करता है।

OpenAI ऑडियो डेटा को ट्रांसक्राइब और अनुवाद करने के लिए मॉडल प्रदान करता है। व्हिस्पर्स मॉडल का उपयोग करके, हम समर्थित भाषा से ऑडियो को टेक्स्ट फ़ाइलों में स्थानांतरित कर सकते हैं और उनका अंग्रेजी में अनुवाद कर सकते हैं।

आइए पहले तैयार की गई ऑडियो फ़ाइल से एक सरल प्रतिलेखन का प्रयास करें।

from openai import OpenAI
client = OpenAI()

audio_file= open("speech.mp3", "rb")
transcription = client.audio.transcriptions.create(
  model="whisper-1",
  file=audio_file
)

print(transcription.text)

 

मुझे डेटा साइंस और मशीन लर्निंग पसंद है।

ऑडियो फ़ाइलों से अंग्रेजी भाषा में अनुवाद करना भी संभव है। किसी अन्य भाषा में अनुवाद करने के लिए मॉडल अभी तक उपलब्ध नहीं है।

from openai import OpenAI
client = OpenAI()

audio_file = open("speech.mp3", "rb")
translate = client.audio.translations.create(
  model="whisper-1",
  file=audio_file
)

हमने टेक्स्ट जेनरेशन, इमेज जेनरेशन, ऑडियो जेनरेशन, विजन और टेक्स्ट-टू-स्पीच मॉडल से ओपनएआई द्वारा प्रदान की जाने वाली कई मॉडल सेवाओं की खोज की है। प्रत्येक मॉडल का अपना एपीआई पैरामीटर और विनिर्देश होता है जिसे आपको उपयोग करने से पहले सीखना होगा।
 
 

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

स्पॉट_आईएमजी

नवीनतम खुफिया

स्पॉट_आईएमजी