لنفترض أنك تريد تجربة عدة نماذج ذكاء اصطناعي في إضافة ووردبريس أو مشروع Laravel: نموذج من OpenAI وآخر من Anthropic وثالث مفتوح المصدر. هذا يعني عادةً ثلاثة حسابات وثلاثة مفاتيح وثلاث فواتير وثلاث مكتبات مختلفة. يحوّل OpenRouter ذلك إلى حساب واحد ومفتاح واحد، وفيه نماذج مجانية تكفي للتعلّم وبناء النماذج الأولية.

يمضي هذا الدليل من إنشاء الحساب إلى طلب حقيقي في الكود. إن لم تستدعِ أي واجهة API للذكاء الاصطناعي من قبل، فاطّلع على الأساسيات في أول اتصال بواجهة API للذكاء الاصطناعي عبر PHP.

ماذا يفعل OpenRouter بالضبط#

OpenRouter بوابة: يستقبل طلبك ويرسله إلى مزوّد النموذج الذي اخترته ثم يعيد إليك الرد. ثلاث ميزات تجعله عمليًا:

  • واجهة واحدة للجميع: صيغة الطلب متوافقة مع OpenAI؛ لتغيير النموذج تغيّر نصًّا واحدًا فقط.
  • نماذج مجانية: نسخ مجانية من بعض النماذج مع حدود للطلبات.
  • فاتورة واحدة: للنماذج المدفوعة تشتري رصيدًا ويُخصم منه استهلاك كل النماذج.

في المقابل يُضاف وسيط بينك وبين المزوّد، فتمرّ بياناتك عبر خوادمه أيضًا.

خطوة بخطوة: من التسجيل إلى أول إجابة#

  1. ادخل موقع OpenRouter وسجّل بالبريد الإلكتروني أو بأحد خيارات الحسابات الشائعة.
  2. قبل كتابة الكود، جرّب قسم الدردشة في الموقع نفسه: اختر نموذجًا مجانيًا واطرح بعض الأسئلة لتتعرّف على سلوكه.
  3. افتح صفحة النماذج وصفِّها حسب السعر لتظهر المجانية. انسخ معرّف النموذج (مثل provider/model-name:free)؛ اللاحقة :free علامة النسخة المجانية.
  4. أنشئ مفتاح API من قسم المفاتيح. أعطه اسمًا واضحًا (اسم المشروع مثلًا)، وإن توفّر خيار حدّ للرصيد فضع حدًّا للمفتاح.
  5. احفظ المفتاح في ملف .env أو متغير بيئة على الخادم، وليس داخل الكود.
  6. أرسل أول طلب (أدناه).
  7. راجع سجل النشاط في لوحة التحكم لترى إلى أي نموذج ومزوّد ذهب كل طلب.

أول طلب عبر curl#

نقطة الوصول متوافقة مع OpenAI. استبدل معرّف النموذج بالذي نسخته في الخطوة 3:

Bash
curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "provider/model-name:free",
    "messages": [
      {"role": "user", "content": "Explain what a REST API is in two sentences."}
    ]
  }'

الرد بالبنية المألوفة choices[0].message.content.

الطلب نفسه في PHP#

هذه الدالة البسيطة تستخدم cURL المدمج في PHP ولا تحتاج إلى أي مكتبة:

PHP
<?php
function openrouter_chat(string $prompt, string $model): ?string
{
    $key = getenv('OPENROUTER_API_KEY');
    if (!$key) {
        return null;
    }

    $payload = json_encode([
        'model'    => $model,
        'messages' => [
            ['role' => 'user', 'content' => $prompt],
        ],
    ], JSON_UNESCAPED_UNICODE);

    $ch = curl_init('https://openrouter.ai/api/v1/chat/completions');
    curl_setopt_array($ch, [
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT        => 60,
        CURLOPT_HTTPHEADER     => [
            'Authorization: Bearer ' . $key,
            'Content-Type: application/json',
        ],
        CURLOPT_POSTFIELDS     => $payload,
    ]);

    $body   = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($body === false || $status !== 200) {
        error_log('OpenRouter error: HTTP ' . $status . ' ' . (string) $body);
        return null;
    }

    $data = json_decode($body, true);
    return $data['choices'][0]['message']['content'] ?? null;
}

echo htmlspecialchars(
    openrouter_chat('اكتب جملة واحدة عن ووردبريس.', 'provider/model-name:free') ?? 'خطأ',
    ENT_QUOTES,
    'UTF-8'
);

إن كنت تستخدم مكتبة OpenAI الرسمية أو أي أداة تقبل «عنوانًا أساسيًا مخصصًا»، فاجعل العنوان الأساسي https://openrouter.ai/api/v1 وأعطها مفتاح OpenRouter. وأدوات البرمجة مثل Cline تعرض OpenRouter عادةً ضمن المزوّدين.

حدود النماذج المجانية#

  • حدّ الطلبات: للنماذج المجانية حدود في الدقيقة وفي اليوم. الحسابات التي اشترت بعض الرصيد تحصل عادةً على حدّ يومي أعلى للنماذج المجانية أيضًا؛ راجع القاعدة والأرقام الدقيقة في الصفحة الرسمية.
  • استقرار أقل: قد تكون النسخ المجانية مزدحمة أو بطيئة أو تعيد خطأ تجاوز الحد (الرمز 429). التقط الأخطاء في الكود واعرض رسالة مناسبة.
  • قائمة متغيرة: النموذج المجاني اليوم قد لا يكون مجانيًا غدًا. احفظ معرّف النموذج في الإعدادات لا داخل الكود.
  • الخصوصية: بعض المزوّدين المجانيين قد يحتفظون بالطلبات. راجع إعدادات الخصوصية في حسابك ولا ترسل بيانات حساسة.

لا تعتمد على نموذج مجاني في منتج حقيقي له مستخدمون؛ فهو ممتاز للتجربة وبناء النماذج الأولية.

نصائح عملية#

  • مقارنة سريعة بين النماذج: أرسل موجّهًا ثابتًا إلى عدة نماذج مع تغيير المعرّف فقط. جودة النماذج في النص العربي تختلف كثيرًا، لذا تستحق هذه المقارنة الوقت.
  • نموذج رخيص للمهام البسيطة: أعطِ التصنيف واستخراج البيانات والملخصات القصيرة لنموذج رخيص أو مجاني، والمهام الصعبة فقط لنموذج قوي. شرحنا طريقة الحساب في حساب تكلفة API الذكاء الاصطناعي وخفضها.
  • مفتاح لكل مشروع: إن تسرّب مفتاح ألغيته وحده، ويبقى استهلاك كل مشروع منفصلًا.
  • الأدوات والمخرجات المنظّمة: كثير من النماذج في OpenRouter تدعم استدعاء الأدوات؛ تعرّف على المفهوم في استدعاء الدوال (Function Calling) في API الذكاء الاصطناعي. وتحقّق من دعم كل نموذج في صفحته.

أمان المفتاح#

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

بعض الخدمات تقيّد الوصول حسب البلد، وبعض الاستضافات تمنع الاتصالات الخارجية بواجهات الذكاء الاصطناعي؛ اختبر من خادمك الفعلي.

البدائل#

الخلاصة#

  • يمنحك OpenRouter حسابًا واحدًا ومفتاحًا واحدًا لنماذج شركات كثيرة.
  • اعثر على النماذج المجانية بمرشّح السعر واللاحقة :free.
  • الواجهة متوافقة مع OpenAI؛ يتغيّر فقط العنوان الأساسي والمفتاح واسم النموذج.
  • للنماذج المجانية حدود طلبات واستقرار أقل؛ وهي الأنسب للتجربة.
  • احفظ المفتاح في الخادم فقط وأنشئ مفتاحًا منفصلًا لكل مشروع.