🤖 كيفية بناء تطبيق دردشة ذكي بسيط باستخدام Python وAPI مفتوح
تطبيقات الدردشة الذكية لم تعد حكرًا على الشركات الكبرى أو المطورين المحترفين. الآن يمكنك ببضع عشرات من الأسطر في Python أن تبني مساعدًا ذكيًا خاصًا بك باستخدام واجهات برمجية مفتوحة (Open APIs). في هذا المقال، سنتعلم معًا خطوة بخطوة كيف تبني تطبيق دردشة بسيط يتفاعل مع المستخدمين بطريقة ذكية باستخدام API مجاني.
🧰 المتطلبات الأساسية
قبل أن نبدأ في البرمجة، تأكد أنك تملك التالي:
- Python 3.7 أو أعلى مثبت على جهازك
- محرر كود مثل VS Code أو PyCharm
- اتصال إنترنت
- مفتاح API من خدمة دردشة مجانية (مثال: OpenAI أو PromptAPI)
📦 تثبيت المكتبات اللازمة
قم بفتح الطرفية (Terminal) واكتب الأمر التالي لتثبيت المكتبات المطلوبة:
pip install requests python-dotenv
نستخدم مكتبة requests
لإرسال الطلبات إلى API، وpython-dotenv
لحفظ مفتاح API بشكل آمن.
🛠️ الخطوة 1: إعداد ملف البيئة
أنشئ ملفًا باسم .env
وضع فيه مفتاح API الخاص بك:
API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxx
🧠 الخطوة 2: كود Python لتطبيق الدردشة
الآن لنكتب الكود الأساسي لتطبيق الدردشة الذكي:
import os
import requests
from dotenv import load_dotenv
# تحميل متغيرات البيئة
load_dotenv()
API_KEY = os.getenv("API_KEY")
# الدالة التي ترسل رسالة إلى API وتستقبل الرد
def ask_bot(message):
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
data = {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": message}]
}
response = requests.post(
"https://api.openai.com/v1/chat/completions",
headers=headers,
json=data
)
if response.status_code == 200:
reply = response.json()["choices"][0]["message"]["content"]
return reply.strip()
else:
return "حدث خطأ: " + response.text
# واجهة المستخدم
print("مرحبًا! اكتب 'خروج' لإنهاء المحادثة.")
while True:
user_input = input("🗣️ أنت: ")
if user_input.lower() in ["خروج", "exit", "quit"]:
print("👋 إلى اللقاء!")
break
response = ask_bot(user_input)
print("🤖 بوت: " + response)
🎯 ماذا يفعل هذا الكود؟
- يتلقى الرسالة من المستخدم
- يرسلها إلى API باستخدام مفتاحك الخاص
- يستقبل الرد ويعرضه في الطرفية
- يكرر الدورة حتى يكتب المستخدم "خروج"
🧪 مثال على الاستخدام
🗣️ أنت: ما هو الفرق بين بايثون وجافا؟ 🤖 بوت: بايثون لغة ديناميكية سهلة التعلم، بينما جافا لغة قوية تستخدم كثيرًا في التطبيقات المؤسسية.
🧱 هل يمكن تطوير التطبيق أكثر؟
بالطبع! إليك بعض الأفكار لتطوير المشروع:
- ✨ إنشاء واجهة رسومية باستخدام Tkinter أو PyQt
- 🌐 تحويله إلى تطبيق ويب باستخدام Flask أو Django
- 💬 دعم تحويل الصوت إلى نص والعكس باستخدام SpeechRecognition وgTTS
- 💾 حفظ المحادثات في قاعدة بيانات
🔒 ملاحظات الأمان
لا تشارك مفتاح API علنًا أبدًا. استخدم ملفات .env
لحمايته، وراجع دائمًا حدود الاستخدام (rate limits) في خدمة API التي تعتمد عليها.
📌 الخلاصة
بهذا المشروع البسيط، أصبح لديك تطبيق دردشة ذكي قابل للتوسعة والتطوير. هذا المشروع ليس فقط مفيدًا للتعلم، بل أيضًا كنقطة انطلاق لتطبيقات حقيقية مثل بوتات الدعم الفني أو المساعدين الافتراضيين.
هل ترغب في نسخة مطورة من هذا المشروع؟ أو واجهة رسومية؟ أخبرني في التعليقات!