شعار زيفيرنت

واجهة برمجة تطبيقات OpenAI للمبتدئين: دليل البدء سهل المتابعة - KDnuggets

التاريخ:

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
صورة المؤلف
 

في هذا البرنامج التعليمي، سوف نتعلم كيفية إعداد واستخدام OpenAI API لحالات الاستخدام المختلفة. تم تصميم البرنامج التعليمي ليكون سهل المتابعة، حتى بالنسبة لأولئك الذين لديهم معرفة محدودة ببرمجة بايثون. سنستكشف كيف يمكن لأي شخص إنشاء استجابات والوصول إلى نماذج لغوية كبيرة عالية الجودة.

افتح AI API يسمح للمطورين بالوصول بسهولة إلى مجموعة واسعة من نماذج الذكاء الاصطناعي التي طورتها OpenAI. فهو يوفر واجهة سهلة الاستخدام تمكن المطورين من دمج ميزات ذكية مدعومة بأحدث نماذج OpenAI في تطبيقاتهم. يمكن استخدام واجهة برمجة التطبيقات (API) لأغراض مختلفة، بما في ذلك إنشاء النص، والدردشة متعددة الأدوار، والتضمين، والنسخ، والترجمة، وتحويل النص إلى كلام، وفهم الصور، وإنشاء الصور. بالإضافة إلى ذلك، فإن واجهة برمجة التطبيقات (API) متوافقة مع Curl وPython وNode.js. 

للبدء في استخدام OpenAI API، تحتاج أولاً إلى إنشاء حساب على openai.com. في السابق، كان يتم منح كل مستخدم رصيدًا مجانيًا، ولكن الآن يُطلب من المستخدمين الجدد شراء رصيد. 

لشراء رصيد، انتقل إلى "الإعدادات"، ثم "الفوترة"، وأخيرًا "إضافة تفاصيل الدفع". أدخل معلومات بطاقة الخصم أو الائتمان الخاصة بك، وتأكد من تعطيل إعادة الشحن التلقائي. بمجرد قيامك بتحميل 10 دولارات أمريكية، يمكنك استخدامها لمدة عام.

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
 

لنقم بإنشاء مفتاح API بالانتقال إلى "مفاتيح API" واختيار "إنشاء مفتاح سري جديد". أعطه اسمًا وانقر على "إنشاء مفتاح سري".

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
 

انسخ واجهة برمجة التطبيقات (API) وأنشئ متغير البيئة على الجهاز المحلي.

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
 

أستخدم Deepnote باعتباره IDE الخاص بي. من السهل إنشاء متغيرات البيئة. ما عليك سوى الانتقال إلى "التكامل"، وتحديد "إنشاء متغير البيئة"، وتوفير اسم وقيمة للمفتاح، وإنشاء التكامل.

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
 

بعد ذلك، سنقوم بتثبيت حزمة OpenAI Python باستخدام النقطة. 

%pip install --upgrade openai

سنقوم الآن بإنشاء عميل يمكنه الوصول إلى أنواع مختلفة من النماذج على مستوى العالم.

إذا قمت بتعيين متغير البيئة الخاص بك بالاسم "OPENAI_API_KEY"، فلن تحتاج إلى تزويد عميل OpenAI بمفتاح API.

from openai import OpenAI

client = OpenAI()

يرجى ملاحظة أنه يجب عليك فقط توفير مفتاح واجهة برمجة التطبيقات (API) إذا كان اسم متغير البيئة الخاص بك مختلفًا عن الاسم الافتراضي.

import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ.get("SECRET_KEY"),
 )

سوف نستخدم وظيفة قديمة لتوليد الاستجابة. تتطلب وظيفة الإكمال اسم النموذج والموجه والوسائط الأخرى لإنشاء الرد.

completion = client.completions.create(
    model="gpt-3.5-turbo-instruct",
    prompt="Write a short story about Elon Musk being the biggest troll.",
    max_tokens=300,
    temperature=0.7,
)
print(completion.choices[0].text)

 

لقد ولّد نموذج GPT3.5 قصة مذهلة عن Elon Musk. 

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
 

يمكننا أيضًا بث استجابتنا من خلال توفير وسيطة إضافية "دفق". 

بدلاً من انتظار الاستجابة الكاملة، تتيح ميزة الدفق معالجة المخرجات بمجرد إنشائها. يساعد هذا الأسلوب على تقليل زمن الاستجابة المتصور عن طريق إرجاع مخرجات الرمز المميز لنموذج اللغة برمز مميز بدلاً من إرجاعها مرة واحدة.

stream = client.completions.create(
    model="gpt-3.5-turbo-instruct",
    prompt="Write a Python code for accessing the REST API securely.",
    max_tokens=300,
    temperature=0.7,
    stream = True
)
for chunk in stream:
        print(chunk.choices[0].text, end="")

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة

يستخدم النموذج إكمال دردشة API. قبل إنشاء الرد، دعونا نستكشف النماذج المتاحة.   

يمكنك عرض قائمة بجميع الموديلات المتاحة أو قراءة الموديلات صفحة على الوثائق الرسمية. 

print(client.models.list())

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
 

سوف نستخدم أحدث إصدار من GPT-3.5 ونزوده بقائمة قاموس لمطالبات النظام ورسائل المستخدم. تأكد من اتباع نفس نمط الرسالة.

completion = client.chat.completions.create(
    model="gpt-3.5-turbo-1106",
    messages=[
        {
            "role": "system",
            "content": "You are an experienced data scientist, adept at presenting complex data concepts with creativity.",
        },
        {
            "role": "user",
            "content": "What is Feature Engineering, and what are some common methods?",
        },
    ],
)

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

 

كما نرى، لقد حصلنا على نتيجة مشابهة لواجهة برمجة التطبيقات القديمة. فلماذا تستخدم واجهة برمجة التطبيقات هذه؟ بعد ذلك، سنتعرف على سبب كون واجهة برمجة تطبيقات إكمال الدردشة أكثر مرونة وأسهل في الاستخدام.

Feature engineering is the process of selecting, creating, or transforming features (variables) in a dataset to improve the performance of machine learning models. It involves identifying the most relevant and informative features and preparing them for model training. Effective feature engineering can significantly enhance the predictive power of a model and its ability to generalize to new data.

Some common methods of feature engineering include:

1. Imputation: Handling missing values in features by filling them in with meaningful values such as the mean, median, or mode of the feature.

2. One-Hot Encoding: Converting categorical variables into binary vectors to represent different categories as individual features.

3. Normalization/Standardization: Scaling numerical features to bring t.........

 

سنتعلم الآن كيفية إجراء محادثة متعددة الأدوار باستخدام نموذج الذكاء الاصطناعي الخاص بنا. وللقيام بذلك، سنضيف رد المساعد على المحادثة السابقة وندرج أيضًا المطالبة الجديدة بنفس تنسيق الرسالة. بعد ذلك، سنقدم قائمة من القواميس الخاصة بوظيفة إكمال الدردشة.

chat=[
    {"role": "system", "content": "You are an experienced data scientist, adept at presenting complex data concepts with creativity."},
    {"role": "user", "content": "What is Feature Engineering, and what are some common methods?"}
  ]
chat.append({"role": "assistant", "content": str(completion.choices[0].message.content)})
chat.append({"role": "user", "content": "Can you summarize it, please?"})

completion = client.chat.completions.create(
  model="gpt-3.5-turbo-1106",
  messages=chat
)

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

 

لقد فهم النموذج السياق ولخص لنا هندسة الميزات.

Feature engineering involves selecting, creating, or transforming features in a dataset to enhance the performance of machine learning models. Common methods include handling missing values, converting categorical variables, scaling numerical features, creating new features using interactions and polynomials, selecting important features, extracting time-series and textual features, aggregating information, and reducing feature dimensionality. These techniques aim to improve the model's predictive power by refining and enriching the input features.

لتطوير التطبيقات المتقدمة، نحتاج إلى تحويل النص إلى تضمينات. تُستخدم هذه التضمينات للبحث عن التشابه والبحث الدلالي ومحركات التوصية. يمكننا إنشاء عمليات التضمين من خلال توفير نص واجهة برمجة التطبيقات واسم النموذج. بكل بساطة. 

text = "Data Engineering is a rapidly growing field that focuses on the collection, storage, processing, and analysis of large volumes of structured and unstructured data. It involves various tasks such as data extraction, transformation, loading (ETL), data modeling, database design, and optimization to ensure that data is accessible, accurate, and relevant for decision-making purposes."

DE_embeddings = client.embeddings.create(input=text, model="text-embedding-3-small")
print(chat_embeddings.data[0].embedding)

 

[0.0016297283582389355, 0.0013418874004855752, 0.04802832752466202, -0.041273657232522964, 0.02150309458374977, 0.004967313259840012,.......]

الآن، يمكننا تحويل النص إلى كلام، والكلام إلى نص، وكذلك ترجمته باستخدام واجهة برمجة التطبيقات الصوتية. 

مدونات

سنستخدم ملف شبكة Wi-Fi 7 ستغير كل شيء فيديو يوتيوب وتحويله إلى mp3. بعد ذلك، سنفتح الملف ونقدمه إلى واجهة برمجة تطبيقات النسخ الصوتي.

audio_file= open("Data/techlinked.mp3", "rb")
transcript = client.audio.transcriptions.create(
  model="whisper-1",
  file=audio_file
)
print(transcript.text)

 

نموذج Whisper مذهل. أنه يحتوي على نسخة مثالية للصوت. 

The Consumer Electronics Show has officially begun in Las Vegas and we'll be bringing you all the highlights from right here in our regular studio where it's safe and clean and not a desert. I hate sand. The Wi-Fi Alliance announced that they have officially confirmed the Wi-Fi 7 standard and they've already started to certify devices to ensure they work together. Unlike me and Selena, that was never gonna last. The new standard will have twice the channel bandwidth of Wi-Fi 5, 6, and 6E, making it better for, surprise,......

خدمات ترجمة

يمكننا أيضًا نسخ الصوت الإنجليزي إلى لغة أخرى. في حالتنا، سنقوم بتحويلها إلى اللغة الأردية. سنقوم فقط بإضافة وسيطة أخرى "لغة" وتزويدها برمز لغة ISO "ur".

translations = client.audio.transcriptions.create(
    model="whisper-1",
    response_format="text",
    language="ur",
    file=audio_file,
)

print(translations)

 

إن الترجمة للغات غير اللاتينية غير كاملة، ولكنها قابلة للاستخدام للحصول على الحد الأدنى من المنتج القابل للتطبيق.

کنسومر ایلیکٹرانک شاہی نے لاس بیگیس میں شامل شروع کیا ہے اور ہم آپ کو جمہوری بہترین چیزیں اپنے ریگلر سٹوڈیو میں یہاں جارہے ہیں جہاں یہ آمید ہے اور خوبصورت ہے اور دنیا نہیں ہے مجھے سانڈ بھولتا ہے وائ فائی آلائنٹس نے اعلان کیا کہ انہوں نے وائ فائی سیبن سٹانڈرڈ کو شامل شروع کیا اور انہوں ن........

النص إلى كلام

لتحويل النص الخاص بك إلى صوت يبدو طبيعيًا، سنستخدم واجهة برمجة تطبيقات الكلام ونزودها باسم النموذج واسم الممثل الصوتي ونص الإدخال. بعد ذلك، سنقوم بحفظ الملف الصوتي في مجلد "البيانات" الخاص بنا. 

response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input= '''I see skies of blue and clouds of white
            The bright blessed days, the dark sacred nights
            And I think to myself
            What a wonderful world
         '''
)

response.stream_to_file("Data/song.mp3")

 

للاستماع إلى الملف الصوتي داخل Deepnote Notebook، سنستخدم وظيفة IPython Audio.

from IPython.display import Audio
Audio("Data/song.mp3")

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة

توفر واجهة برمجة تطبيقات OpenAI للمستخدمين إمكانية الوصول إلى نموذج متعدد الوسائط من خلال وظيفة إكمال الدردشة. لفهم الصور، يمكننا استخدام أحدث نموذج رؤية GPT-4. 

في وسيطة الرسالة، قدمنا ​​مطالبة لطرح أسئلة حول الصورة وعنوان URL للصورة. الصورة مصدرها Pixabay. يرجى التأكد من اتباع نفس تنسيق الرسالة لتجنب أي أخطاء.

response = client.chat.completions.create(
    model="gpt-4-vision-preview",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Could you please identify this image's contents and provide its location?",
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://images.pexels.com/photos/235731/pexels-photo-235731.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
                    },
                },
            ],
        }
    ],
    max_tokens=300,
)

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

 

يشرح الإخراج الصورة تمامًا. 

This is an image of a person carrying a large number of rice seedlings on a carrying pole. The individual is wearing a conical hat, commonly used in many parts of Asia as protection from the sun and rain, and is walking through what appears to be a flooded field or a wet area with lush vegetation in the background. The sunlight filtering through the trees creates a serene and somewhat ethereal atmosphere.

It's difficult to determine the exact location from the image alone, but this type of scene is typically found in rural areas of Southeast Asian countries like Vietnam, Thailand, Cambodia, or the Philippines, where rice farming is a crucial part of the agricultural industry and landscape.

 

بدلاً من توفير عنوان URL للصورة، يمكننا أيضًا تحميل ملف صورة محلي وتقديمه إلى واجهة برمجة تطبيقات إكمال الدردشة. للقيام بذلك، نحتاج أولاً إلى تنزيل الصورة بواسطة مانجيت سينغ ياداف من موقع pexels.com.

!curl -o /work/Data/indian.jpg "https://images.pexels.com/photos/1162983/pexels-photo-1162983.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"

 

بعد ذلك، سنقوم بتحميل الصورة وتشفيرها بتنسيق base64. 

import base64

def encode_image(image_path):
  with open(image_path, "rb") as image_file:
    return base64.b64encode(image_file.read()).decode('utf-8')

image_path = "Data/indian.jpg"

# generating the base64 string
base64_image = encode_image(image_path)

 

بدلاً من توفير عنوان URL للصورة، سنوفر البيانات الوصفية وسلسلة base64 الخاصة بالصورة.

response = client.chat.completions.create(
    model="gpt-4-vision-preview",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Could you please identify this image's contents.",
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/jpeg;base64,{base64_image}"
                    },
                },
            ],
        }
    ],
    max_tokens=100,
)

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

 

لقد نجح النموذج في تحليل الصورة وقدم شرحاً مفصلاً عنها.

The image shows a woman dressed in traditional Indian attire, specifically a classical Indian saree with gold and white colors, which is commonly associated with the Indian state of Kerala, known as the Kasavu saree. She is adorned with various pieces of traditional Indian jewelry including a maang tikka (a piece of jewelry on her forehead), earrings, nose ring, a choker, and other necklaces, as well as bangles on her wrists.

The woman's hairstyle features jasmine flowers arranged in

يمكننا أيضًا إنشاء صور باستخدام نموذج DALLE-3. علينا فقط تقديم اسم النموذج والموجه والحجم والجودة وعدد الصور إلى واجهة برمجة تطبيقات الصور. 

response = client.images.generate(
  model="dall-e-3",
  prompt="a young woman sitting on the edge of a mountain",
  size="1024x1024",
  quality="standard",
  n=1,
)

image_url = response.data[0].url

 

يتم حفظ الصورة التي تم إنشاؤها عبر الإنترنت، ويمكنك تنزيلها لمشاهدتها محليًا. للقيام بذلك، سنقوم بتنزيل الصورة باستخدام وظيفة "الطلب"، مع توفير عنوان URL للصورة والدليل المحلي الذي تريد حفظها فيه. بعد ذلك، سوف نستخدم وظيفة الصور في مكتبة الوسائد لفتح الصورة وإظهارها.

import urllib.request

from PIL import Image

urllib.request.urlretrieve(image_url, '/work/Data/woman.jpg')

img = Image.open('/work/Data/woman.jpg')

img.show()

 

لقد تلقينا صورة تم إنشاؤها عالية الجودة. إنه ببساطة مذهل!

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
 

إذا كنت تواجه صعوبة في تشغيل أي من واجهات برمجة تطبيقات OpenAI Python، فلا تتردد في الاطلاع على مشروعي ملاحظات عميقة.

لقد قمت بتجربة OpenAPI منذ بعض الوقت، وانتهى بنا الأمر باستخدام رصيد بقيمة 0.22 دولار فقط، وهو ما أجده في متناول الجميع. باستخدام دليلي، يمكن حتى للمبتدئين البدء في إنشاء تطبيقات الذكاء الاصطناعي الخاصة بهم. إنها عملية بسيطة – ليس عليك تدريب النموذج الخاص بك أو نشره. يمكنك الوصول إلى أحدث النماذج باستخدام واجهة برمجة التطبيقات (API)، والتي تتحسن باستمرار مع كل إصدار جديد.

 

OpenAI API للمبتدئين: دليل البدء سهل المتابعة
 

في هذا الدليل، نغطي كيفية إعداد OpenAI Python API وإنشاء استجابات نصية بسيطة. نتعرف أيضًا على الدردشة متعددة الأدوار، والتضمين، والنسخ، والترجمة، وتحويل النص إلى كلام، والرؤية، وواجهات برمجة تطبيقات إنشاء الصور. 

اسمحوا لي أن أعرف إذا كنت تريد مني أن أستخدم واجهات برمجة التطبيقات هذه لإنشاء تطبيق ذكاء اصطناعي متقدم. 

شكرا لقرائتك.
 
 

عابد علي عوان (@ 1abidaliawan) هو عالم بيانات متخصص محترف يحب بناء نماذج التعلم الآلي. يركز حاليًا على إنشاء المحتوى وكتابة مدونات تقنية حول تقنيات التعلم الآلي وعلوم البيانات. عابد حاصل على درجة الماجستير في إدارة التكنولوجيا ودرجة البكالوريوس في هندسة الاتصالات. تتمثل رؤيته في بناء منتج للذكاء الاصطناعي باستخدام شبكة عصبية بيانية للطلاب الذين يعانون من مرض عقلي.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة