Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 22

استخدام OpenAI API في Python

Recommended resources

أهلاً بك في الدرس السابع والأخير من هذا الوحدة التأسيسية!

في الدرس الماضي، أتقنت فن هندسة التلقين (Prompt Engineering)، وتعلمت كيف تصيغ تعليمات واضحة وفعالة للتواصل مع نماذج اللغة الكبيرة. لقد تعلمنا ماذا نقول للذكاء الاصطناعي. أما اليوم، فسننتقل إلى كيفية قول ذلك برمجياً.

هذا الدرس هو نقطة التحول في رحلتنا، حيث سنجمع بين مهارات البرمجة التي اكتسبتها في بايثون والمفاهيم النظرية حول الذكاء الاصطناعي. ستتعلم كيفية استخدام واجهة برمجة التطبيقات (API) الخاصة بنموذج لغوي كبير مثل OpenAI من خلال كود بايثون.

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


1. فهم واجهة OpenAI API والحصول على مفتاحك

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

تذكر تشبيه "النادل في المطعم" الذي تعلمناه سابقاً عند الحديث عن واجهات برمجة التطبيقات (APIs). في سياقنا اليوم:

  • أنت (برنامج بايثون الخاص بك): العميل الجالس على الطاولة.
  • المطبخ (خوادم OpenAI): المكان الذي توجد فيه نماذج اللغة العملاقة (مثل GPT-4o mini).
  • النادل (OpenAI API): هو الوسيط الذي يأخذ طلبك (التلقين)، يوصله إلى المطبخ، ثم يعود لك بالوجبة الجاهزة (الاستجابة).

ولأن هذه خدمة قوية ومكلفة التشغيل، فإنها ليست مجانية تمامًا. للوصول إليها، تحتاج إلى "بطاقة عضوية" خاصة، وهي ما نسميه مفتاح الـ API (API Key). هذا المفتاح يثبت هويتك لـ OpenAI ويسمح لهم بتتبع استخدامك.

للحصول على فهم عملي لكيفية التسجيل، وإضافة رصيد (لا تقلق، التكلفة ستكون ضئيلة جداً لهذا المساق)، والحصول على مفتاحك السري، شاهد الفيديو التالي.

07 – كيف تبدأ مع OpenAI API؟ شرح التسجيل، الفوترة، وإعداد مفتاح الـ API بسهولة

هذا الفيديو من قناة "AI Plus" يشرح بالتفصيل الخطوات اللازمة لإعداد حسابك على منصة OpenAI والحصول على مفتاح API. الفيديو باللغة العربية وسيوضح لك العملية خطوة بخطوة.

شاهد الأجزاء التالية من الفيديو: مقدمة عن OpenAI API (00:00 - 03:37): يراجع الفيديو مفهوم الـ API في سياق OpenAI. التسجيل والحصول على المفتاح (09:31 - 14:04): اتبع هذه الخطوات لإنشاء حسابك، وإضافة وسيلة دفع (يمكنك البدء برصيد قليل جدًا مثل 5 دولارات)، وإنشاء مفتاح API سري. مهم جدًا: عند إنشاء المفتاح، قم بنسخه وحفظه في مكان آمن فورًا، لأنه لن يظهر مرة أخرى! فهم الأسعار (Tokens) (14:04 - 18:32): شاهد هذا الجزء لفهم كيف يتم حساب التكلفة بناءً على "التوكنز" (أجزاء الكلمات) المدخلة والمخرجة. هذا سيعطيك فكرة عن سبب اختيارنا لنماذج مثل gpt-4o-mini لأنها فعالة ومنخفضة التكلفة.

الآن بعد أن أصبح لديك مفتاح الـ API الخاص بك، أنت جاهز للخطوة التالية: إعداد بيئة بايثون للتواصل مع OpenAI.



2. إعداد بيئة بايثون وتأمين مفتاحك

للتحدث مع OpenAI API بسهولة، سنستخدم مكتبة بايثون رسمية توفرها OpenAI. كما سنتعلم أفضل ممارسة لتأمين مفتاحنا السري.

أ. تثبيت المكتبات اللازمة

افتح الطرفية (Terminal) في VS Code وقم بتشغيل الأمرين التاليين لتثبيت مكتبتين:

  1. openai: المكتبة الرسمية للتفاعل مع OpenAI.
  2. python-dotenv: مكتبة مساعدة لتحميل البيانات الحساسة (مثل مفتاح API) من ملف خارجي.
pip install openai
pip install python-dotenv

ب. تأمين مفتاح API (ممارسة احترافية)

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

  1. في مجلد مشروعك في VS Code، قم بإنشاء ملف جديد باسم .env (لاحظ النقطة في البداية).

  2. داخل ملف .env، اكتب السطر التالي، مع استبدال sk-xxxx بمفتاح API الحقيقي الذي نسخته من موقع OpenAI:

    OPENAI_API_KEY="sk-xxxx"
    

بهذه الطريقة، يبقى مفتاحك السري معزولاً عن منطق البرنامج الرئيسي.



3. كتابة الكود للتواصل مع النموذج اللغوي

حان الآن الجزء الممتع! سنكتب برنامج بايثون بسيطًا يقرأ مفتاحك السري، ويرسل تلقينًا إلى OpenAI، ويطبع الإجابة.

شاهد هذا المقطع القصير أولاً لترى بنية الكود العامة، ثم سنقوم بكتابته معًا مع شرح باللغة العربية.

How to Use OpenAI API with Python | Latest Tutorial

يوضح هذا المقطع من قناة United Top Tech (باللغة الإنجليزية) كيفية استخدام مكتبة openai في بايثون. ركز فقط على بنية الكود وكيفية استدعاء النموذج.

شاهد الجزء الذي يبدأ من 01:49 إلى 05:40. لا تقلق بشأن اللغة، فقط لاحظ الخطوات البرمجية: استيراد المكتبات، تحميل المفتاح، إنشاء العميل (client)، واستخدام دالة chat.completions.create.

الآن، قم بإنشاء ملف بايثون جديد (مثلاً main.py) واكتب فيه الكود التالي. لقد أضفت تعليقات توضيحية بالعربية لشرح كل سطر:

# الخطوة 1: استيراد المكتبات اللازمة
import os  # مكتبة للتعامل مع نظام التشغيل، سنستخدمها لقراءة متغيرات البيئة
from openai import OpenAI  # مكتبة OpenAI الرسمية
from dotenv import load_dotenv  # مكتبة لتحميل المتغيرات من ملف .env

# تحميل المتغيرات من ملف .env (سيقوم بالبحث عن ملف اسمه .env)
load_dotenv()

# الخطوة 2: إعداد العميل (Client)
# نقوم بإنشاء كائن من OpenAI ونمرر له مفتاح الـ API
# الكود يقرأ المفتاح من متغيرات البيئة الذي قمنا بتعيينه في ملف .env
client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),
)

# الخطوة 3: إرسال الطلب إلى النموذج
# نستخدم دالة chat.completions.create للتحدث مع نماذج المحادثة
chat_completion = client.chat.completions.create(
    model="gpt-4o-mini",  # تحديد النموذج الذي نريد استخدامه (نموذج فعال وقليل التكلفة)
    messages=[
        # هنا نضع "التلقين" أو التعليمات التي تعلمناها في الدرس السابق
        # نستخدم دور "user" لنطرح سؤالاً أو نعطي أمرًا
        {"role": "user", "content": "اكتب قصيدة قصيرة من أربعة أسطر عن جمال البرمجة."}
    ]
)

# الخطوة 4: طباعة الاستجابة
# الاستجابة الكاملة تحتوي على الكثير من المعلومات الإضافية
# النص الفعلي الذي نريده موجود داخل response.choices[0].message.content
response_text = chat_completion.choices[0].message.content
print("إجابة النموذج:")
print(response_text)

قم بتشغيل البرنامج! سترى في الطرفية استجابة النموذج اللغوي للطلب الذي أرسلته.

الصورة التالية توضح كيف يبدو الكود والناتج في بيئة VS Code، وهو مشابه جدًا لما يجب أن تراه على شاشتك.

OpenAI API Interaction in VS Code
هذه الصورة تظهر بيئة عمل متكاملة في VS Code. على اليسار، ملف بايثون يستخدم مكتبة `openai`. في الأسفل، الطرفية التي تعرض ناتج تنفيذ الكود، وهو استجابة من النموذج اللغوي.
اختبر فهمك!

عدّل الكود السابق لتجربة تلقين مختلف. حاول أن تطلب من النموذج أن يتصرف كخبير تسويق (role: "system") ثم اطلب منه فكرة لحملة إعلانية لمنتج جديد (role: "user"). كيف سيبدو قسم messages في هذه الحالة؟

تلميح: يمكنك إضافة رسالة system لتحديد سلوك النموذج العام.

Show answer

يمكن تعديل قسم messages كالتالي:

    messages=[
        {"role": "system", "content": "أنت خبير تسويق مبدع متخصص في الحملات الرقمية."},
        {"role": "user", "content": "اقترح فكرة حملة إعلانية على وسائل التواصل الاجتماعي لمنتج جديد وهو 'قهوة سريعة التحضير بنكهة الهيل'."}
    ]

رسالة system تساعد في توجيه النموذج لتبني شخصية أو دور معين، مما يجعل استجابته أكثر تخصصًا وجودة، وهذا تطبيق مباشر لما تعلمناه في درس هندسة التلقين!



خلاصة الدرس

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

أهم النقاط التي تعلمناها:

  • واجهة OpenAI API هي بوابتنا البرمجية للتحدث مع نماذج اللغة الكبيرة.
  • مفتاح API هو هويتك السرية للوصول إلى هذه الخدمة، ويجب الحفاظ على سريته دائمًا.
  • استخدام ملف .env ومكتبة python-dotenv هو الطريقة الاحترافية لإدارة المفاتيح السرية.
  • باستخدام مكتبة openai في بايثون، يمكننا بسهولة إرسال تلقين (Prompt) واستقبال استجابة من نماذج مثل gpt-4o-mini.
  • لقد كتبنا أول برنامج يتواصل فعليًا مع "عقل" ذكاء اصطناعي!

ماذا بعد؟

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

  1. تجيد أساسيات بايثون (الوحدة 1).
  2. تفهم كيفية التعامل مع البيانات والـ APIs (الوحدة 2).
  3. تعرف كيف توجه وتتواصل مع عقل الذكاء الاصطناعي (الوحدة 3).

في الوحدة القادمة، "مبادئ وكلاء الذكاء الاصطناعي ومكوناتها"، سنبدأ في تجميع هذه القطع معًا. سنتعلم نظريًا ما هو وكيل الذكاء الاصطناعي، وما هي دورة حياته (إدراك - تفكير - تنفيذ)، وسنتعرف على مكوناته الأساسية: العقل (LLM)، الذاكرة، والأدوات. استعد لتبدأ رحلة تصميم وكيلك الأول.