




السمعة:
- إنضم20 أغسطس 2023
- المشاركات 178
- الحلول 10
- مستوى التفاعل 400
- النقاط 63
في مجتمع كان بتقدم كل ثانية, وفي مجتمع بصنع كل دقيقة, فحاجتك للـ AI ببرنامجك أصبحت أساسية من أجل التطوير وجعله أكثر مرونة, لكن أكيد ليس جميع التطبيقات تحتاج AI وبتخلتف كل برنامج يتم صناعته بنسبة استخدامك للـ AI فيه, برنامج قادر على تحليل الطقس يختلف عن برنامج لجمع الأعداد.
في البداية لازم نعرف أنه لاستخدام الـ AI في عندك طريقتين:
1- استحدام مواقع جاهزة مثل rapidapi وغيرها.
2- صناعة AI خاصة بك.
طبعًا رح نركز على النقطة الأولى لأنه صناعة AI موضوع مش سهل.بالبداية رح نستخدم موقع rapidapi
رح استخدم chat gpt لصناعة برنامج محادثة, وبتقدر تستخدم أي شيء بدك ياه ورح نستعرض طريقة الربط.
بعدين بنضغط على Subscribe to Test وبتظهر عنا هاي مجموعة من الخطط طبعا رح اختار النسخة المجانية
طبعا بتقدر تختار إحدى الخطط المدفوعة, بنختار لغة #c من أجل عرض الكود المبدئي الخاص به.
خلينا نرجع لـ visual studio من أجل تجهيز البيئة الخاص بيها , طبعًا زي ما تعلمناه سابقًا بدنا نجهز الشاشة الي رح تبين للمستخدم, بما إنه بنحكي عن شاشة للتحدث رح نحتاج لـ textbox خاصة بالمستخدم للتكلم مع AI , و textbox خاص بالرد لـ AI و button لإرسال الرسالة.
وهيك رح تكون الشاشة تقريبًا:
رح اسميه AI Detection لتطويره لاحقًا.
بالنسبة للكود:
أول شيء بنحتاج لاستعداء مكتبات مثل http و json للتواصل مع الموقع:
C#:
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.Windows.Forms;
طبعًا بالنسبة للكود رح يكون شبه ثابت وهو عند الضغط على button رح يتواصل مع AI ويرجع Respon , رح استخدم طريقة البرمجة غير المتزامنة وهذا شرح لها البرمجة المتزامنة و غير المتزامنة (Synchronous and Asynchronous Programming)
الكود الخاص ب button :
C#:
string apiKey = ""; // Replace with your actual RapidAPI key
string apiUrl = "https://chat-gpt26.p.rapidapi.com/";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("x-rapidapi-key", apiKey);
client.DefaultRequestHeaders.Add("x-rapidapi-host", "chat-gpt26.p.rapidapi.com");
var content = new StringContent("{\"model\":\"gpt-3.5-turbo\",\"messages\":[{\"role\":\"user\",\"content\":\"" + userInput + "\"}]}");
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
using (HttpResponseMessage response = await client.SendAsync(new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri(apiUrl),
Content = content
}))
{
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
MessageBox.Show( responseBody);
}
else
{
// If the response fails, return the error message
MessageBox.Show( "{\"choices\": [{\"message\": {\"content\": \"Error: " + response.StatusCode.ToString() + "\"}}]}");
}
}
}
بعض اللقطات من البرنامج بعد بعض التعديلات :
طبعًا موجود في الملفات المرفقة نسخة مبدئية للتجريب.
للعلم جميع ما تم عرضه هو مبدئي ويمكن تطويره والهدف شرح المفهوم العام 

المرفقات
التعديل الأخير بواسطة المشرف: