ستتناول هذه الدرس كيفية تشغيل نماذج الكود الخاصة بهذه الدورة.
قبل أن تبدأ في استنساخ المستودع الخاص بك، انضم إلى قناة Discord الخاصة بـ AI Agents للمبتدئين للحصول على أي مساعدة في الإعداد، أو للإجابة على أي أسئلة حول الدورة، أو للتواصل مع المتعلمين الآخرين.
للبدء، يرجى استنساخ أو تفريع مستودع GitHub. سيتيح لك ذلك إنشاء نسخة خاصة بك من مواد الدورة لتتمكن من تشغيل واختبار وتعديل الكود!
يمكنك القيام بذلك بالنقر على الرابط لتفريع المستودع
يجب أن يكون لديك الآن نسخة مفروعة من هذه الدورة في الرابط التالي:

يمكن أن يكون المستودع الكامل كبيرًا (~3 جيجابايت) عند تنزيل التاريخ الكامل وجميع الملفات. إذا كنت تحضر الورشة فقط أو تحتاج فقط إلى بعض مجلدات الدروس، فإن الاستنساخ السطحي (أو الاستنساخ الجزئي) يتجنب معظم هذا التنزيل عن طريق تقليص التاريخ و/أو تخطي الكتل.
استبدل <your-username> في الأوامر أدناه بعنوان URL الخاص بالتفريع (أو عنوان URL الأصلي إذا كنت تفضل).
للاستنساخ فقط أحدث تاريخ التزام (تنزيل صغير):
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
للاستنساخ فرع معين:
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
يستخدم هذا الاستنساخ الجزئي وsparse-checkout (يتطلب Git 2.25+ ويوصى باستخدام Git الحديث مع دعم الاستنساخ الجزئي):
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
انتقل إلى مجلد المستودع:
cd ai-agents-for-beginners
ثم حدد المجلدات التي تريدها (المثال أدناه يظهر مجلدين):
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
بعد الاستنساخ والتحقق من الملفات، إذا كنت تحتاج فقط إلى الملفات وترغب في تحرير المساحة (بدون تاريخ Git)، يرجى حذف بيانات المستودع (💀غير قابل للإرجاع — ستفقد جميع وظائف Git: لا التزامات، لا سحب، لا دفع، أو الوصول إلى التاريخ).
# zsh/bash
rm -rf .git
# PowerShell
Remove-Item -Recurse -Force .git
أنشئ Codespace جديد لهذا المستودع عبر واجهة GitHub.
تقدم هذه الدورة سلسلة من دفاتر Jupyter التي يمكنك تشغيلها للحصول على تجربة عملية في بناء وكلاء الذكاء الاصطناعي.
نماذج الكود تستخدم إما:
يتطلب حساب GitHub - مجاني:
1) إطار عمل Semantic Kernel Agent + سوق النماذج في GitHub. مُسمى بـ (semantic-kernel.ipynb) 2) إطار عمل AutoGen + سوق النماذج في GitHub. مُسمى بـ (autogen.ipynb)
يتطلب اشتراك Azure: 3) Azure AI Foundry + خدمة Azure AI Agent. مُسمى بـ (azureaiagent.ipynb)
نشجعك على تجربة جميع الأنواع الثلاثة من الأمثلة لمعرفة أيها يعمل بشكل أفضل بالنسبة لك.
أي خيار تختاره سيحدد خطوات الإعداد التي تحتاج إلى اتباعها أدناه:
ملاحظة: إذا لم يكن لديك Python3.12 مثبتًا، تأكد من تثبيته. ثم قم بإنشاء venv باستخدام python3.12 لضمان تثبيت الإصدارات الصحيحة من ملف requirements.txt.
مثال
إنشاء دليل Python venv:
python -m venv venv
ثم قم بتفعيل بيئة venv لـ:
# zsh/bash
source venv/bin/activate
# Command Prompt for Windows
venv\Scripts\activate
.NET 10+: بالنسبة لنماذج الكود التي تستخدم .NET، تأكد من تثبيت .NET 10 SDK أو أحدث. ثم تحقق من إصدار .NET SDK المثبت لديك:
dotnet --list-sdks
لقد قمنا بتضمين ملف requirements.txt في جذر هذا المستودع يحتوي على جميع حزم Python المطلوبة لتشغيل نماذج الكود.
يمكنك تثبيتها عن طريق تشغيل الأمر التالي في الطرفية في جذر المستودع:
pip install -r requirements.txt
نوصي بإنشاء بيئة Python افتراضية لتجنب أي تعارضات أو مشاكل.
تأكد من أنك تستخدم الإصدار الصحيح من Python في VSCode.
تستخدم هذه الدورة سوق نماذج GitHub، الذي يوفر وصولًا مجانيًا إلى نماذج اللغة الكبيرة (LLMs) التي ستستخدمها لبناء وكلاء الذكاء الاصطناعي.
لاستخدام نماذج GitHub، ستحتاج إلى إنشاء رمز الوصول الشخصي من GitHub.
يمكنك القيام بذلك عن طريق الذهاب إلى إعدادات رموز الوصول الشخصي في حساب GitHub الخاص بك.
يرجى اتباع مبدأ أقل امتياز عند إنشاء الرمز الخاص بك. هذا يعني أنه يجب عليك فقط منح الرمز الأذونات التي يحتاجها لتشغيل نماذج الكود في هذه الدورة.
اختر خيار Fine-grained tokens على الجانب الأيسر من الشاشة بالانتقال إلى إعدادات المطور

ثم اختر Generate new token.

أدخل اسمًا وصفيًا لرمزك يعكس الغرض منه، مما يسهل التعرف عليه لاحقًا.
🔐 توصية مدة صلاحية الرمز
المدة الموصى بها: 30 يومًا للحصول على وضع أكثر أمانًا، يمكنك اختيار فترة أقصر — مثل 7 أيام 🛡️ إنها طريقة رائعة لتحديد هدف شخصي وإكمال الدورة بينما تكون في ذروة حماسك للتعلم 🚀.

قم بتحديد نطاق الرمز ليشمل التفريع الخاص بك لهذا المستودع.

قم بتقييد أذونات الرمز: ضمن علامة التبويب Permissions، انقر فوق زر “+ Add permissions”. ستظهر قائمة منسدلة. يرجى البحث عن Models وتحديد المربع الخاص بها.

تحقق من الأذونات المطلوبة قبل إنشاء الرمز. 
قبل إنشاء الرمز، تأكد من أنك جاهز لتخزين الرمز في مكان آمن مثل خزنة مدير كلمات المرور، حيث لن يتم عرضه مرة أخرى بعد إنشائه. 
انسخ الرمز الجديد الذي أنشأته للتو. ستقوم الآن بإضافته إلى ملف .env المرفق في هذه الدورة.
.env الخاص بكلإنشاء ملف .env الخاص بك، قم بتشغيل الأمر التالي في الطرفية.
# zsh/bash
cp .env.example .env
# PowerShell
Copy-Item .env.example .env
سيقوم هذا بنسخ ملف المثال وإنشاء ملف .env في الدليل الخاص بك حيث تقوم بملء القيم لمتغيرات البيئة.
مع نسخ الرمز الخاص بك، افتح ملف .env في محرر النصوص المفضل لديك والصق الرمز في حقل GITHUB_TOKEN.

يجب أن تكون الآن قادرًا على تشغيل نماذج الكود الخاصة بهذه الدورة.
اتبع الخطوات لإنشاء مركز ومشروع في Azure AI Foundry الموجودة هنا: نظرة عامة على موارد المركز
بمجرد إنشاء مشروعك، ستحتاج إلى استرجاع سلسلة الاتصال الخاصة بمشروعك.
يمكنك القيام بذلك عن طريق الذهاب إلى صفحة نظرة عامة لمشروعك في بوابة Azure AI Foundry.

.env الخاص بكلإنشاء ملف .env الخاص بك، قم بتشغيل الأمر التالي في الطرفية.
# zsh/bash
cp .env.example .env
# PowerShell
Copy-Item .env.example .env
سيقوم هذا بنسخ ملف المثال وإنشاء ملف .env في الدليل الخاص بك حيث تقوم بملء القيم لمتغيرات البيئة.
مع نسخ الرمز الخاص بك، افتح ملف .env في محرر النصوص المفضل لديك والصق الرمز في حقل PROJECT_ENDPOINT.
كأفضل ممارسة أمان، سنستخدم المصادقة بدون مفتاح للمصادقة على Azure OpenAI باستخدام Microsoft Entra ID.
بعد ذلك، افتح الطرفية وقم بتشغيل az login --use-device-code لتسجيل الدخول إلى حساب Azure الخاص بك.
بمجرد تسجيل الدخول، اختر اشتراكك في الطرفية.
بالنسبة لدرس Agentic RAG - الدرس الخامس - هناك نماذج تستخدم Azure Search وAzure OpenAI.
إذا كنت ترغب في تشغيل هذه النماذج، ستحتاج إلى إضافة متغيرات البيئة التالية إلى ملف .env الخاص بك:
AZURE_SUBSCRIPTION_ID - تحقق من تفاصيل المشروع في صفحة النظرة العامة لمشروعك.
AZURE_AI_PROJECT_NAME - انظر إلى أعلى صفحة النظرة العامة لمشروعك.
AZURE_OPENAI_SERVICE - ابحث عن هذا في علامة التبويب القدرات المضمنة لخدمة Azure OpenAI Service في صفحة النظرة العامة.
AZURE_OPENAI_RESOURCE_GROUP - انتقل إلى خصائص المشروع في صفحة النظرة العامة لمركز الإدارة.
GLOBAL_LLM_SERVICE - ضمن الموارد المتصلة، ابحث عن اسم اتصال خدمات Azure AI. إذا لم يكن مدرجًا، تحقق من بوابة Azure ضمن مجموعة الموارد الخاصة بك للحصول على اسم مورد خدمات الذكاء الاصطناعي.
AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME - اختر نموذج التضمين الخاص بك (مثل text-embedding-ada-002) ولاحظ اسم النشر من تفاصيل النموذج.
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME - اختر نموذج الدردشة الخاص بك (مثل gpt-4o-mini) ولاحظ اسم النشر من تفاصيل النموذج.
AZURE_OPENAI_ENDPOINT - ابحث عن خدمات Azure AI، انقر عليها، ثم انتقل إلى إدارة الموارد، المفاتيح ونقطة النهاية، وانتقل لأسفل إلى “نقاط نهاية Azure OpenAI”، ونسخ النقطة التي تقول “واجهات برمجة التطبيقات اللغوية”.
AZURE_OPENAI_API_KEY - من نفس الشاشة، انسخ المفتاح 1 أو المفتاح 2.
AZURE_SEARCH_SERVICE_ENDPOINT - ابحث عن مورد Azure AI Search الخاص بك، انقر عليه، وشاهد النظرة العامة.
AZURE_SEARCH_API_KEY - ثم انتقل إلى الإعدادات ثم المفاتيح لنسخ المفتاح الإداري الأساسي أو الثانوي.
AZURE_OPENAI_API_VERSION - قم بزيارة صفحة دورة حياة إصدار واجهة برمجة التطبيقات تحت أحدث إصدار واجهة برمجة التطبيقات GA.بدلاً من ترميز بيانات الاعتماد الخاصة بك، سنستخدم اتصالًا بدون مفتاح مع Azure OpenAI. للقيام بذلك، سنقوم باستيراد DefaultAzureCredential ومن ثم استدعاء وظيفة DefaultAzureCredential للحصول على بيانات الاعتماد.
# Python
from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential
إذا واجهت أي مشاكل أثناء تشغيل هذا الإعداد، انضم إلى مجتمع Azure AI على Discord أو قم بإنشاء مشكلة.
أنت الآن جاهز لتشغيل الكود الخاص بهذه الدورة. نتمنى لك تعلمًا ممتعًا عن عالم وكلاء الذكاء الاصطناعي!
مقدمة عن وكلاء الذكاء الاصطناعي وحالات استخدامهم
إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالترجمة البشرية الاحترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.