لماذا يعتبر C# والذكاء الاصطناعي ثنائياً مثالياً؟
\n\nعندما نتحدث عن الذكاء الاصطناعي والتطوير، يتبادر إلى الذهن عادةً Python. هذا منطقي: TensorFlow, PyTorch, المحولات... ولكن ماذا لو كانت مجموعتك التقنية هي C#, .NET، ولا ترغب في تغيير أدواتك المألوفة؟ الخبر السار: C# والشبكات العصبية يتناسبان بشكل ممتاز، خاصة عندما يتعلق الأمر باستخدام النماذج الجاهزة عبر API.
\n\nChatGPT ليس مجرد لعبة عصرية. إنها أداة قوية يمكنها توليد الكود، كتابة التوثيق، تحليل البيانات، وحتى المساعدة في التصحيح. في هذا المقال، سنشرح كيفية ربط ChatGPT بمشروع C#، وسنكتب كوداً حقيقياً ونرى الإمكانيات التي تفتح أمام مطوري .NET.
\n\nما الذي تحتاج معرفته قبل البدء؟
\n\nللعمل مع OpenAI API في C# ستحتاج إلى:
\n\n- \n
- حساب على platform.openai.com (تحتاج إلى مفتاح API) \n
- Visual Studio 2022 أو JetBrains Rider \n
- .NET 6.0 أو أحدث (يُوصى باستخدام .NET 8) \n
- مكتبة
OpenAI(حزمة NuGet) \n
لا تقلق: العملية بأكملها لن تستغرق أكثر من 15 دقيقة. دعنا نشرح خطوة بخطوة كيفية إنشاء تطبيق وحدة تحكم يتواصل مع ChatGPT.
\n\nالخطوة 1. إنشاء المشروع وتثبيت المكتبة
\n\nافتح الطرفية أو Package Manager Console ونفذ الأمر التالي:
\n\ndotnet new console -n ChatGPTDemo\ncd ChatGPTDemo\ndotnet add package OpenAI --version 1.11.0\n\n\nحزمة OpenAI لـ C# هي عميل رسمي يدعم جميع النماذج الحديثة، بما في ذلك GPT-4 وGPT-4 Turbo. إنها قيد التطوير النشط، لذا من الأفضل استخدام أحدث إصدار.
\n\nإعداد مفتاح API
\n\nلا تقم أبداً بتخزين المفاتيح في الكود. استخدم متغيرات البيئة أو ملف الإعدادات. على سبيل المثال، لننشئ appsettings.json:
{\n "OpenAiApiKey": "مفتاحك_السري_الفائق"\n}\n\n\nأضف حزمة NuGet Microsoft.Extensions.Configuration.Json إلى المشروع وقم بتحميل المفتاح هكذا:
var config = new ConfigurationBuilder()\n .AddJsonFile("appsettings.json")\n .Build();\n\nstring apiKey = config["OpenAiApiKey"];\n\n\nالآن نحن مستعدون للجزء الأكثر إثارة.
\n\nالخطوة 2. أول طلب إلى ChatGPT بلغة C#
\n\nلنكتب طريقة بسيطة ترسل رسالة إلى النموذج وتستقبل الرد. إليك الكود الكامل:
\n\nusing OpenAI;\nusing OpenAI.Chat;\n\nvar client = new OpenAIClient(apiKey); // apiKey من الإعدادات\n\nvar chatClient = client.GetChatClient("gpt-4o-mini");\n\nvar messages = new List<ChatMessage>\n{\n new SystemChatMessage("أنت مساعد مفيد يجيب باللغة العربية."),\n new UserChatMessage("اكتب مثالاً على كود بلغة C# لقراءة ملف JSON.")\n};\n\nvar response = await chatClient.CompleteChatAsync(messages);\nvar reply = response.Value.Content[0].Text;\n\nConsole.WriteLine(reply);\n\n\nماذا يحدث هنا؟ نقوم بإنشاء عميل، نحدد النموذج gpt-4o-mini (سريع ورخيص)، نضبط الموجه النظامي (دور المساعد) ونرسل طلب المستخدم. يأتي الرد على شكل نص منظم.
\n\nهذا هو الأساس. بعد ذلك يمكننا التعقيد: إضافة تاريخ المحادثة، معالجة الأخطاء، إجراء استدعاءات غير متزامنة.
\n\nالخطوة 3. إنشاء مساعد ذكي للعمل مع الكود
\n\nواحدة من أكثر الوظائف فائدة لـ ChatGPT في تطوير C# هي مراجعة الكود وتوليد التوثيق. دعنا ننشئ فئة تقوم بتحليل الكود الخاص بنا وتقديم تحسينات.
\n\npublic class CodeReviewer\n{\n private readonly ChatClient _chatClient;\n\n public CodeReviewer(string apiKey)\n {\n var client = new OpenAIClient(apiKey);\n _chatClient = client.GetChatClient("gpt-4o-mini");\n }\n\n public async Task<string> ReviewCodeAsync(string code)\n {\n