PHP والذكاء الاصطناعي: ChatGPT كزميلك المبرمج الجديد

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

عندما يلتقي PHP بالذكاء الاصطناعي: لماذا يعمل هذا

\n\n

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

\n\n

ظلت PHP لفترة طويلة "الحصان العامل" للويب، ولكن مع قدوم الذكاء الاصطناعي حصلت على نفس جديد. لم يعد من الضروري كتابة أطنان من الكود النمطي يدويًا - تتولى الشبكة العصبية المهام الروتينية، بينما تركز أنت على البنية. في هذه المقالة، سنشرح كيفية ربط ChatGPT بتطبيق PHP الخاص بك، وسنفعل ذلك بأقصى قدر من التطبيق العملي.

\n\n

ماذا ستحتاج للبدء؟

\n\n

قبل الغوص في الكود، تأكد من أن لديك:

\n\n
    \n
  • PHP 8.0+ - للعمل مع الميزات الحديثة (الكتابة، السمات).
  • \n
  • cURL - لإرسال الطلبات إلى OpenAI API.
  • \n
  • مفتاح API من OpenAI - سجل على platform.openai.com وأنشئ مفتاحًا.
  • \n
  • Composer - لإدارة التبعيات بسهولة (على الرغم من أنه يمكنك الاستغناء عنه).
  • \n
\n\n

هل أنت مستعد؟ لنبدأ.

\n\n

الاتصال الأساسي: إرسال أول طلب إلى ChatGPT

\n\n

لنبدأ بأبسط شيء - إرسال رسالة إلى ChatGPT والحصول على رد. يستخدم OpenAI REST API، لذلك نحتاج إلى طلب HTTP عادي. إليك فئة العمل الأساسية:

\n\n
<?php\n\nclass ChatGPTClient {\n    private string $apiKey;\n    private string $apiUrl = 'https://api.openai.com/v1/chat/completions';\n\n    public function __construct(string $apiKey) {\n        $this->apiKey = $apiKey;\n    }\n\n    public function ask(string $message): string {\n        $data = [\n            'model' => 'gpt-3.5-turbo',\n            'messages' => [\n                ['role' => 'user', 'content' => $message]\n            ],\n            'temperature' => 0.7\n        ];\n\n        $ch = curl_init($this->apiUrl);\n        curl_setopt_array($ch, [\n            CURLOPT_RETURNTRANSFER => true,\n            CURLOPT_POST => true,\n            CURLOPT_HTTPHEADER => [\n                'Content-Type: application/json',\n                'Authorization: Bearer ' . $this->apiKey\n            ],\n            CURLOPT_POSTFIELDS => json_encode($data)\n        ]);\n\n        $response = curl_exec($ch);\n        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\n        curl_close($ch);\n\n        if ($httpCode !== 200) {\n            throw new \\RuntimeException("API error: $httpCode - $response");\n        }\n\n        $result = json_decode($response, true);\n        return $result['choices'][0]['message']['content'] ?? '';\n    }\n}\n\n// الاستخدام\n$client = new ChatGPTClient('your-api-key-here');\necho $client->ask('اكتب تحية قصيرة لموقع PHP');
\n\n

هذا الكود هو الأساس. لاحظ: نحن نستخدم gpt-3.5-turbo - إنه رخيص وسريع. للمهام المعقدة، يمكنك التبديل إلى gpt-4، لكنه أغلى.

\n\n

معالجة الأخطاء والحدود

\n\n

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

\n\n
public function askWithRetry(string $message, int $maxRetries = 3): string {\n    for ($attempt = 1; $attempt <= $maxRetries; $attempt++) {\n        try {\n            return $this->ask($message);\n        } catch (\\RuntimeException $e) {\n            if (str_contains($e->getMessage(), '429') && $attempt < $maxRetries) {\n                sleep(pow(2, $attempt)); // تأخير أسي\n                continue;\n            }\n            throw $e;\n        }\n    }\n}
\n\n

سيناريوهات متقدمة: من توليد المحتوى إلى تحليل البيانات

\n\n

الآن بعد أن أصبح الأساس جاهزًا، دعنا نرى كيف يمكن لـ Cha

المدونات

توصيات الكتب