دمج الذكاء الاصطناعي في Laravel
معظم دروس الذكاء الاصطناعي تفترض أنك تستخدم Python.
بعد 12 عاماً من بناء تطبيقات PHP، قمت مؤخراً بإضافة ميزات الذكاء الاصطناعي إلى لوحة تحكم Laravel في بيئة إنتاج. لقد استخدمتها لتحويل البيانات الخام إلى تقارير بشرية.
لم يكن الجزء الصعب هو الكود البرمجي، بل كان الجزء الصعب هو العثور على محتوى PHP جيد حول هذا الموضوع.
إليك كيفية بناء تكامل ذكاء اصطناعي نظيف وجاهز للإنتاج في Laravel.
الهيكلية
لا تشتت استدعاءات API داخل المتحكمات (controllers). بدلاً من ذلك، استخدم نمط المشغلات (driver pattern). يتيح لك هذا التبديل بين Claude و OpenAI بتغيير واحد في ملف .env.
حدد عقداً (contract) أنشئ
AiClientInterface. يضمن ذلك اتباع كل من Claude و OpenAI لنفس القواعد.ابنِ المشغلات الخاصة بك أنشئ
ClaudeClientوOpenAiClient. استخدم عميل HTTP الخاص بـ Laravel للتعامل مع الطلبات؛ فهذا يسهل التعامل مع مهلات الانتظار (timeouts) وإعادة المحاولة.استخدم حاوية الخدمات (Service Container) اربط الواجهة (interface) بمشغل محدد في
AppServiceProvider. استخدم عبارةmatchلاختيار المزود بناءً على الإعدادات الخاصة بك.
الاختلافات
يجب أن تعرف هذه التفاصيل الخمسة لتجنب الأخطاء:
• يستخدم Claude مفتاح x-api-key في الترويسة (header)، بينما يستخدم OpenAI Authorization: Bearer.
• يتطلب Claude ترويسة anthropic-version.
• يتطلب Claude max_tokens بينما يجعلها OpenAI اختيارية.
• يستخدم Claude حقلاً من المستوى الأعلى باسم system بينما يستخدم OpenAI رسالة مع role: system.
• تختلف مسارات استجابة JSON؛ حيث يستخدم Claude content[0].text بينما يستخدم OpenAI choices[0].message.content.
نصائح للإنتاج
• استخدم التخزين المؤقت (Caching): استدعاءات الذكاء الاصطناعي بطيئة وتكلف مالاً. إذا كانت البيانات هي نفسها، فقم بتقديم النتيجة من التخزين المؤقت الخاص بك. يمكن لهذا أن يقلل التكاليف بنسبة 70%.
• استخدم الطوابير (Queues): لا تجعل المستخدم ينتظر 10 ثوانٍ أبداً للحصول على استجابة من API. قم بإرسال وظيفة خلفية (background job) وأبلغ المستخدم عندما تكون جاهزة.
• تعامل مع الإخفاقات: الـ APIs قد تفشل. قم بتغليف استدعاءاتك داخل كتل try-catch. إذا فشل الذكاء الاصطناعي، فاعرض البيانات الخام بدلاً من صفحة معطلة.
• ضع حدوداً: قم دائماً بتعيين max_tokens للتحكم في إنفاقك. استخدم نماذج أصغر وأرخص للمهام البسيطة مثل التلخيص.
لست بحاجة لتعلم Python لبناء ميزات الذكاء الاصطناعي. مهاراتك في PHP ستعمل بشكل مثالي هنا.
