TypeScript وChatGPT: بناء مساعد ذكاء اصطناعي من الصفر

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

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

ابدأ الدورة

لماذا TypeScript وChatGPT هما الثنائي المثالي للمطور الحديث

\n\n

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

\n\n

في هذه المقالة، لن نقرأ محاضرات مملة. سنأخذ ونفعل: سنكتب كوداً يعمل حقاً. ستتعلم كيف تجعل TypeScript يتعاون مع OpenAI API، وستنشئ أول مساعد ذكاء اصطناعي خاص بك، وستفهم كيفية استخدام ChatGPT في التطوير لأتمتة المهام الروتينية. هيا بنا!

\n\n

ما ستحتاجه للبدء

\n\n

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

\n\n
    \n
  • Node.js الإصدار 18+ (سنستخدم fetch الحديث)
  • \n
  • npm أو yarn لتثبيت الحزم
  • \n
  • مفتاح API من OpenAI - احصل عليه من platform.openai.com (هذا مجاني إذا كنت مبتدئاً)
  • \n
  • فهم أساسي لـ TypeScript: الأنواع، الواجهات، async/await
  • \n
\n\n

كل شيء آخر سنفعله معاً. حتى لو لم تعمل مع الشبكات العصبية من قبل - لا تقلق، سأشرح كل خطوة.

\n\n

الخطوة 1: إعداد مشروع TypeScript للعمل مع الذكاء الاصطناعي

\n\n

أنشئ مجلداً جديداً وقم بتهيئة المشروع:

\n\n
mkdir ai-chatbot\ncd ai-chatbot\nnpm init -y\nnpm install typescript @types/node ts-node --save-dev\nnpx tsc --init
\n\n

الآن سنقوم بتثبيت عميل OpenAI. في السابق، كان الجميع يستخدمون مكتبة openai، لكن في 2024-2025، توصي OpenAI باستخدام SDK الرسمي الخاص بها:

\n\n
npm install openai dotenv
\n\n

أنشئ ملف .env في جذر المشروع وأضف مفتاحك فيه:

\n\n
OPENAI_API_KEY=مفتاحك_السري_هنا
\n\n

هام: لا تقم أبداً بإضافة .env إلى المستودع! أضفه إلى .gitignore.

\n\n

الخطوة 2: كتابة أول دالة TypeScript للتواصل مع ChatGPT

\n\n

أنشئ ملف chat.ts. سنبدأ بشيء بسيط: إرسال رسالة إلى الشبكة العصبية والحصول على رد. إليك كيف يبدو ذلك:

\n\n
import OpenAI from 'openai';\nimport dotenv from 'dotenv';\n\ndotenv.config();\n\nconst openai = new OpenAI({\n  apiKey: process.env.OPENAI_API_KEY,\n});\n\ninterface ChatResponse {\n  content: string | null;\n  error?: string;\n}\n\nasync function askChatGPT(prompt: string): Promise<ChatResponse> {\n  try {\n    const response = await openai.chat.completions.create({\n      model: 'gpt-4o-mini', // نموذج سريع ورخيص\n      messages: [\n        {\n          role: 'system',\n          content: 'أنت مساعد مفيد لمطور TypeScript. أجب بإيجاز مع أمثلة كود.',\n        },\n        {\n          role: 'user',\n          content: prompt,\n        },\n      ],\n      max_tokens: 500,\n      temperature: 0.7,\n    });\n\n    return {\n      content: response.choices[0]?.message?.content || null,\n    };\n  } catch (error) {\n    console.error('خطأ في طلب OpenAI:', error);\n    return {\n      content: null,\n      error: 'تعذر الحصول على رد من الشبكة العصبية',\n    };\n  }\n}\n\n// مثال على الاستخدام\nasync function main() {\n  const result = await askChatGPT('اكتب دالة بلغة TypeScript تتحقق مما إذا كانت السلسلة النصية متناظرة (Palindrome)');\n  \n  if (result.content) {\n    console.log('رد ChatGPT:');\n    console.log(result.content);\n  } else {\n    console.error('خطأ:', result.error);\n  }\n}\n\nmain();
\n\n

قم بتشغيل السكريبت باستخدام الأمر npx ts-node chat.ts. إذا كان كل شيء مضبوطاً بشكل صحيح، سترى في وحدة التحكم رد الشبكة العصبية مع الكود والشروحات. دمج ChatGPT

المدونات

توصيات الكتب