الاتصال الأول: جلب مفاتيح API (Gemini / OpenAI) وكتابة أول سكربت اتصال
اليوم سنتعلم كيفية الحصول على مفاتيح API لكل من Gemini وOpenAI، ثم سنقوم بكتابة أول سكربت بايثون بسيط للاتصال بهذه النماذج اللغوية العملاقة.
الخطوة 1: الحصول على مفاتيح API (Gemini / OpenAI)
قبل أن نتمكن من الاتصال بأي نموذج لغة كبير (LLM)، نحتاج إلى مفتاح واجهة برمجة تطبيقات (API Key). هذا المفتاح هو بمثابة بطاقة هويتك التي تسمح لك بالوصول إلى خدماتهم.
للحصول على مفتاح API من Google Gemini:
- اذهب إلى Google AI Studio.
- سجل الدخول باستخدام حساب Google الخاص بك.
- انقر على "Create API Key in new project".
- انسخ المفتاح واحتفظ به في مكان آمن.
ملاحظة تقنية: من الأفضل دائمًا تخزين مفاتيح API كمتغيرات بيئة (environment variables) بدلاً من تضمينها مباشرة في الكود لزيادة الأمان ومنع تسربها.
للحصول على مفتاح API من OpenAI:
- اذهب إلى OpenAI API Keys.
- سجل الدخول أو أنشئ حسابًا جديدًا.
- انقر على "Create new secret key".
- انسخ المفتاح واحتفظ به في مكان آمن.
ملاحظة تقنية: سواء كنت تستخدم Gemini أو OpenAI، يجب عليك دائمًا حماية مفاتيحك. لا تشاركها أبداً ولا ترفعها إلى مستودعات الكود العامة مثل GitHub.
الخطوة 2: تهيئة البيئة وتثبيت المكتبات
سنستخدم لغة بايثون للاتصال. نحتاج إلى تثبيت مكتبات العملاء المناسبة لكل خدمة.
أولاً، قم بإنشاء بيئة افتراضية (virtual environment) لتجنب تعارض الحزم:
python -m venv venv
source venv/bin/activate # لنظامي Linux/macOS
# أو
venv\Scripts\activate # لنظام Windows
الآن، قم بتثبيت المكتبات المطلوبة:
pip install google-generativeai openai python-dotenv
ملاحظة تقنية: مكتبةpython-dotenvتساعدنا على تحميل متغيرات البيئة من ملف.env، وهو ممارسة جيدة لتخزين مفاتيح API.
أنشئ ملفاً جديداً باسم .env في نفس مجلد السكربت الخاص بك وأضف مفاتيح API التي حصلت عليها:
GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
تأكد من استبدال "YOUR_GEMINI_API_KEY" و "YOUR_OPENAI_API_KEY" بالمفاتيح الفعلية الخاصة بك.
الخطوة 3: كتابة أول سكربت اتصال (Gemini)
لنبدأ بالاتصال بنموذج Gemini. سنقوم بإنشاء ملف بايثون جديد (مثلاً first_connection.py) ونضيف الكود التالي تدريجياً.
أولاً، تحميل مفتاح API وتهيئة مكتبة Gemini:
import os
import google.generativeai as genai
from dotenv import load_dotenv
# تحميل متغيرات البيئة من ملف .env
load_dotenv()
# الحصول على مفتاح API من متغيرات البيئة
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
# تهيئة مكتبة Google Generative AI باستخدام مفتاح API
genai.configure(api_key=GEMINI_API_KEY)
print("تم تهيئة Gemini بنجاح.")
الآن، لنرسل طلبًا بسيطًا إلى النموذج ونطبع الاستجابة:
# تحديد النموذج الذي نريد استخدامه
model = genai.GenerativeModel('gemini-pro')
# إرسال طلب إلى النموذج
prompt = "اكتب لي قصيدة قصيرة عن جمال البرمجة."
response = model.generate_content(prompt)
# طباعة نص الاستجابة
print("\nاستجابة Gemini:")
print(response.text)
الخطوة 4: كتابة أول سكربت اتصال (OpenAI)
الآن لنكرر العملية مع OpenAI. سنضيف الكود الخاص بـ OpenAI إلى نفس الملف أو ملف آخر حسب رغبتك.
أولاً، تحميل مفتاح API وتهيئة مكتبة OpenAI:
from openai import OpenAI
# تحميل متغيرات البيئة (تم تحميلها بالفعل في الخطوة السابقة إذا كان نفس الملف)
# load_dotenv()
# الحصول على مفتاح API من متغيرات البيئة
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
# تهيئة عميل OpenAI
client = OpenAI(api_key=OPENAI_API_KEY)
print("\nتم تهيئة OpenAI بنجاح.")
الآن، لنرسل طلبًا بسيطًا إلى النموذج ونطبع الاستجابة:
# إرسال طلب إلى نموذج الدردشة (chat completion)
chat_completion = client.chat.completions.create(
model="gpt-3.5-turbo", # تحديد النموذج المستخدم
messages=[
{"role": "user", "content": "ما هو أفضل نهج لتعلم البرمجة من الصفر؟"} # رسالة المستخدم
]
)
# طباعة نص الاستجابة
print("\nاستجابة OpenAI:")
print(chat_completion.choices[0].message.content)
الكود النهائي الكامل
هذا هو السكربت الكامل الذي يجمع كل ما تعلمناه. تأكد من وجود ملف .env في نفس المجلد يحتوي على مفاتيح API.
import os
import google.generativeai as genai
from openai import OpenAI
from dotenv import load_dotenv
# 1. تحميل متغيرات البيئة من ملف .env
load_dotenv()
# 2. الحصول على مفاتيح API من متغيرات البيئة
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
# 3. تهيئة Gemini API
if GEMINI_API_KEY:
genai.configure(api_key=GEMINI_API_KEY)
print("تم تهيئة Gemini بنجاح.")
# 4. إرسال طلب إلى Gemini
try:
gemini_model = genai.GenerativeModel('gemini-pro')
gemini_prompt = "اكتب لي قصيدة قصيرة عن جمال البرمجة."
gemini_response = gemini_model.generate_content(gemini_prompt)
print("\nاستجابة Gemini:")
print(gemini_response.text)
except Exception as e:
print(f"\nخطأ في الاتصال بـ Gemini: {e}")
else:
print("لم يتم العثور على مفتاح GEMINI_API_KEY في ملف .env. تخطي اتصال Gemini.")
# 5. تهيئة OpenAI API
if OPENAI_API_KEY:
client = OpenAI(api_key=OPENAI_API_KEY)
print("\nتم تهيئة OpenAI بنجاح.")
# 6. إرسال طلب إلى OpenAI
try:
openai_chat_completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "ما هو أفضل نهج لتعلم البرمجة من الصفر؟"}
]
)
print("\nاستجابة OpenAI:")
print(openai_chat_completion.choices[0].message.content)
except Exception as e:
print(f"\nخطأ في الاتصال بـ OpenAI: {e}")
else:
print("لم يتم العثور على مفتاح OPENAI_API_KEY في ملف .env. تخطي اتصال OpenAI.")
النتيجة المتوقعة
عند تشغيل السكربت، ستشاهد مخرجات مشابهة لما يلي (قد تختلف النصوص الفعلية للقصائد والإرشادات من النماذج):
تم تهيئة Gemini بنجاح.
استجابة Gemini:
في عالم الأكواد، سحرٌ يطوف،
بين الأقواس، فكرٌ يروف.
من سطرٍ لسطر، يبنى صرح،
البرمجة فن، وهي للعقل شرح.
تم تهيئة OpenAI بنجاح.
استجابة OpenAI:
أفضل نهج لتعلم البرمجة من الصفر يتضمن عدة خطوات رئيسية: البدء بلغة سهلة مثل بايثون، فهم المفاهيم الأساسية، الممارسة المستمرة عبر بناء مشاريع صغيرة، استخدام الموارد التعليمية المتاحة عبر الإنترنت، والانضمام إلى مجتمعات المبرمجين.
إذا لم يتم العثور على مفتاح API لأحد الخدمات، فسيتم طباعة رسالة تخطي لهذه الخدمة بدلاً من محاولة الاتصال.