بناء تطبيقات ذكية باستخدام TinyDev: من الفكرة إلى الكود جاهز التنفيذ
يقدم هذا البرنامج التعليمي شرحًا لتنفيذ فئة TinyDev، وهي أداة صغيرة وقوية لتوليد كود الذكاء الاصطناعي، تستخدم واجهة برمجة تطبيقات Gemini لتحويل أفكار التطبيقات البسيطة إلى تطبيقات شاملة ومنظمة. صُممت TinyDev للعمل بسلاسة في بيئة Notebook، وتتبع تدفق عمل من ثلاث مراحل واضحة: التخطيط → الملفات → الكود، لضمان الاتساق والوظائف والتصميم النمطي. سواء كنت تبني واجهة ويب، أو واجهة خلفية بلغة Python، أو نصًا مفيدًا، تتيح لك TinyDev وصف مشروعك بلغة طبيعية والحصول على ملفات كود جاهزة للتشغيل، يتم إنشاؤها وتخزينها تلقائيًا في دليل منظم. يجعلها هذا نقطة انطلاق مثالية للنماذج الأولية السريعة أو لتعلم كيفية مساعدة الذكاء الاصطناعي في مهام التطوير.
1. الاستيرادات اللازمة:
نبدأ باستيراد المكتبات الأساسية المطلوبة لإنشاء كود TinyDev. تُستخدم google.generativeai
للتفاعل مع واجهة برمجة تطبيقات Gemini، بينما تدعم المكتبات القياسية مثل os
و json
و re
معالجة الملفات ومعالجة النصوص. تضمن Path
و type hints
من typing
عمليات ملفات نظيفة وقابلية قراءة أفضل للكود.
import google.generativeai as genai
import os
import json
import re
from pathlib import Path
from typing import List, Dict
2. فئة TinyDev:
تُغلف فئة TinyDev المنطق الكامل لإنشاء كود مدعوم بالذكاء الاصطناعي باستخدام واجهة برمجة تطبيقات Gemini. وهي تُنفذ تدفق عمل من ثلاث مراحل منظمة:
2.1 المرحلة الأولى: التخطيط (plan)
تحليل موجه المستخدم لإنشاء التبعيات المشتركة.
def plan(self, prompt: str) -> str:
# ... (كود الوظيفة كما هو موجود في النص الأصلي) ...
2.2 المرحلة الثانية: تحديد مسارات الملفات (specify_file_paths)
تحديد الملفات اللازمة للتطبيق.
def specify_file_paths(self, prompt: str, shared_deps: str) -> List[str]:
# ... (كود الوظيفة كما هو موجود في النص الأصلي) ...
2.3 المرحلة الثالثة: توليد الكود (generate_code_sync)
توليد كود وظيفي لكل ملف على حدة.
def generate_code_sync(self, prompt: str, shared_deps: str, filename: str) -> str:
# ... (كود الوظيفة كما هو موجود في النص الأصلي) ...
2.4 إنشاء التطبيق (create_app)
تنسيق خط أنابيب إنشاء التطبيق بالكامل وحفظ النتائج، بما في ذلك ملفات الكود وملف README مفصل، في دليل إخراج محدد.
def create_app(self, prompt: str, output_dir: str = "/content/generated_app") -> Dict:
# ... (كود الوظيفة كما هو موجود في النص الأصلي) ...
3. وظيفة العرض التوضيحي (demo_tinydev):
تُظهر وظيفة demo_tinydev()
إمكانيات TinyDev من خلال تشغيل عرض توضيحي مُحدد مسبقًا باستخدام أحد عدة مُوجهات نموذجية، مثل إنشاء لعبة تيك تاك تو أو مُستخرج أخبار Python. وهي تُنشئ فئة TinyDev باستخدام مفتاح واجهة برمجة تطبيقات Gemini، وتختار أول موجه من قائمة أفكار المشاريع، وتُرشد المستخدم خلال خط أنابيب إنشاء الكود بالكامل، بما في ذلك التخطيط للتبعيات المشتركة، وتحديد بنية الملفات، وتوليد الكود. بعد التنفيذ، تلخص المخرجات، وتُعرض معاينة لملف نموذجي، وتُشير إلى الدليل الذي تم حفظ التطبيق الكامل فيه.
4. الوضع التفاعلي (interactive_tinydev):
تسمح وظيفة interactive_tinydev()
للمستخدمين بإنشاء تطبيقات من مُوجهاتهم المخصصة في الوقت الفعلي. بعد إدخال مفتاح واجهة برمجة تطبيقات Gemini صالح، يمكن للمستخدمين وصف أي فكرة تطبيق، وستُنشئ TinyDev المشروع الكامل، والكود، والهيكل، وملفات الدعم تلقائيًا. تستمر العملية في حلقة حتى يكتب المستخدم “quit”. يُمكن هذا الوضع التفاعلي من التجريب العملي وإنشاء النماذج الأولية السريعة من الأوصاف اللغوية الطبيعية.
5. الخلاصة:
تُوضح فئة TinyDev إمكانية استخدام الذكاء الاصطناعي لأتمتة إنشاء هياكل التطبيقات بدقة وكفاءة ملحوظتين. من خلال تقسيم عملية إنشاء الكود إلى مراحل بديهية، تضمن أن تكون المخرجات منطقية، ومنظمة بشكل جيد، ومتوافقة مع نية المستخدم. سواء كنت تستكشف أفكار تطبيقات جديدة أو تسعى إلى تسريع التطوير، توفر TinyDev حلاً خفيف الوزن وسهل الاستخدام مدعومًا بنماذج Gemini. إنها أداة عملية للمطورين الذين يتطلعون إلى دمج الذكاء الاصطناعي في سير عملهم دون تعقيد أو تكلفة زائدة.
اترك تعليقاً