برمجة الذكاء الاصطناعي · الدرس 01

بناء صندوق محادثة Chat Box

سنبدأ بفهم أجزاء صندوق المحادثة وكيف تنتقل الرسالة من المستخدم إلى البرنامج، ثم تعود الإجابة لتظهر في الصفحة.

مستوى مبتدئ قراءة 8 دقائق مشروع عملي

صندوق المحادثة حلقة وصل بين المستخدم والذكاء الاصطناعي

يكتب المستخدم رسالة في الواجهة، ثم يرسلها البرنامج إلى خادم بايثون. يستقبل الخادم الرسالة ويرسلها إلى نموذج الذكاء الاصطناعي، وبعد ذلك يعيد الإجابة إلى الواجهة لتظهر للمستخدم.

chat flow
User -> Chat Box -> Python Server -> AI Model
AI Model -> Python Server -> Chat Box -> User
إرسال الرسالة ثم استقبال الإجابة

ما الذي سنبنيه؟

01

الواجهة HTML

حقل يكتب فيه المستخدم رسالته، وزر للإرسال، ومنطقة تعرض الرسائل.

02

التنسيق CSS

نستخدمه لترتيب الصندوق وتمييز رسائل المستخدم عن رسائل المساعد.

03

التفاعل JavaScript

يقرأ الرسالة ويرسلها إلى الخادم، ثم يضيف الإجابة إلى المحادثة دون إعادة تحميل الصفحة.

04

الخادم Python

يستقبل الطلب ويتواصل مع واجهة نموذج الذكاء الاصطناعي بطريقة آمنة.

أنشئ صندوق المحادثة باستخدام HTML

نبدأ بعناصر بسيطة: مساحة لعرض الرسائل، وحقل لكتابة رسالة جديدة، وزر للإرسال. لا يوجد ذكاء اصطناعي هنا بعد؛ نحن نبني المكان الذي ستظهر فيه المحادثة.

index.html
<div id="chat-box"></div>
<input id="user-input" type="text">
<button id="send-button">Send</button>
منطقة الرسائل + حقل الإدخال + زر الإرسال

اجعل الزر يضيف رسالة

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

script.js
const input = document.querySelector('#user-input');
const chatBox = document.querySelector('#chat-box');

function addMessage(text) {
    const message = document.createElement('p');
    message.textContent = text;
    chatBox.appendChild(message);
}
JavaScript يضيف الرسالة إلى الصفحة

ثبّت Flask لتشغيل خادم Python

نحتاج إلى إطار عمل Flask حتى نستطيع إنشاء خادم يستقبل رسائل صندوق المحادثة. Flask مكتبة Python خفيفة، وتوفر لنا المسارات مثل /chat التي تتصل بها الواجهة.

افتح موجّه الأوامر أو الطرفية داخل مجلد المشروع، ثم نفّذ الأمر التالي:

terminal
python -m pip install flask
Successfully installed flask

بعد انتهاء التثبيت، تحقق من أن Flask أصبح متاحاً في نفس بيئة Python:

terminal
python -c "import flask; print(flask.__version__)"
ظهور رقم إصدار Flask يعني أن التثبيت نجح
إذا ظهر خطأ بأن الأمر python غير معروف، فتأكد من تثبيت Python وإضافته إلى PATH، أو استخدم الأمر py -m pip install flask في Windows.

أرسل الرسالة إلى Python

لا نضع مفتاح API في JavaScript داخل المتصفح. بدلاً من ذلك، ترسل الواجهة الرسالة إلى خادم Python، والخادم وحده يتواصل مع مزود الذكاء الاصطناعي ويحمي المفتاح السري.

app.py
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.post('/chat')
def chat():
    message = request.json['message']
    return jsonify({'reply': f'You said: {message}'})
الخادم يستقبل الرسالة ويرسل إجابة تجريبية

استبدل الإجابة التجريبية بإجابة ذكية

بعد التأكد من أن الواجهة والخادم يعملان، نضيف استدعاء نموذج الذكاء الاصطناعي داخل دالة chat(). نبني المشروع على مراحل حتى نعرف مكان المشكلة إذا حدث خطأ، ولا نخلط بين واجهة المحادثة واتصال API.

01

اختبر الواجهة

تأكد أن الرسالة تظهر في الصندوق عند الضغط على زر الإرسال.

02

اختبر الخادم

أرسل طلباً تجريبياً وتأكد أن الخادم يعيد JSON صحيحاً.

03

أضف النموذج

ضع مفتاح API في متغير بيئي، وليس داخل ملفات الواجهة.

04

اعرض الإجابة

أعد الإجابة إلى JavaScript ثم أضفها كرسالة للمساعد.

فكّر في مسار الرسالة

رتّب المراحل التالية: الخادم، المستخدم، نموذج الذكاء الاصطناعي، وصندوق المحادثة.

User message Chat Box Python server AI model Assistant reply