# Local AI Agents

> قم بتنشيط هذه المهارة عندما يريد المتعلم: - تشغيل وكيل كاملًا على الجهاز لأسباب تتعلق بالخصوصية، أو التكلفة، أو عدم الاتصال بالإنترنت. - تقديم نموذج محلي باستخدام Foundry Local والاتصال عبر نقطة نهاية متوافقة مع OpenAI. - استخدام نموذج Qwen للاستدعاء الوظيفي لتحفيز استدعاءات موثوقة للأدوات محليًا. - إضافة RAG محلي (Chroma) أو خادم MCP محلي. - تصميم استراتيجية توجيه هجينة محلية/سحابية.

- Skill: `thedixitjain/local-ai-agents-2` (Agent Skill)
- Install (CLI): `npx skillmds add thedixitjain/local-ai-agents-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thedixitjain/local-ai-agents-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: thedixitjain (https://skillmd.com/u/thedixitjain)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/thedixitjain/local-ai-agents-2

---

# إنشاء وكلاء ذكاء اصطناعي محليين باستخدام Foundry Local و Qwen

> مهارة مرافقة لـ [الدرس 17 – إنشاء وكلاء ذكاء اصطناعي محليين](../../../17-creating-local-ai-agents/README.md).
> استخدمها لمساعدة المتعلم في بناء وكيل يستدعي أدوات، ويبحث في
> التوثيق بالكامل على جهازه الخاص — بدون استدلال سحابي. استند على كل
> توصية في محتوى الدرس والدفتر التفاعلي القابل للتشغيل.

## المحفزات

قم بتنشيط هذه المهارة عندما يريد المتعلم:
- تشغيل وكيل **كاملًا على الجهاز** لأسباب تتعلق بالخصوصية، أو التكلفة، أو عدم الاتصال بالإنترنت.
- تقديم نموذج محلي باستخدام **Foundry Local** والاتصال عبر نقطة نهاية متوافقة مع OpenAI.
- استخدام نموذج **Qwen للاستدعاء الوظيفي** لتحفيز استدعاءات موثوقة للأدوات محليًا.
- إضافة **RAG محلي** (Chroma) أو **خادم MCP محلي**.
- تصميم استراتيجية توجيه **هجينة** محلية/سحابية.

## النموذج الذهني الأساسي

يتنازل نموذج اللغة صغير الحجم (SLM) عن الاتساع مقابل الخصوصية والتكلفة والتشغيل بدون اتصال بالإنترنت. الاستراتيجية الرابحة:
**دع الـ SLM ينظم الأمور ودع الأدوات تقوم بالأعمال الثقيلة.** النموذج
لا يحتاج إلى *معرفة* قاعدة الشيفرة — يحتاج إلى معرفة متى يستدعي
`read_file` و `search_docs`. هذا يلعب على نقاط قوة SLM (قرارات محصورة
مثل اختيار الأدوات) ويتجنب نقاط ضعفها (المعرفة الواسعة، التفكير متعدد الخطوات الطويل).


## لماذا هذه المكونات بالتحديد

- **Foundry Local** يوفر **نقطة نهاية HTTP متوافقة مع OpenAI**، لذلك يتم نقل كود الوكيل السحابي بتغيير `base_url` فقط (واستخدام مفتاح API وهمي محلياً). كما يختار تلقائيًا أفضل بناء (CPU/GPU/NPU) للجهاز.
- نماذج **Qwen** مدربة على استدعاء الوظائف وتصدر استدعاءات أدوات مُهيكلة باستمرار — وهذا ما يحول نموذج *الدردشة* المحلي إلى *وكيل* محلي.
- **Chroma** يعمل داخل العملية ويخزن المتجهات على القرص، لذلك يبقى كامل خط أنابيب RAG (التضمين → التخزين → الاسترجاع → الإستدلال) محليًا.
- **MCP** هو وسيلة نقل، وليس خدمة سحابية: يمكن أن يعمل خادم MCP محليًا عبر `stdio`.

## أساسيات الإعداد

```bash
foundry model run qwen2.5-7b-instruct
foundry service status
```

```python
from foundry_local import FoundryLocalManager
from openai import OpenAI

manager = FoundryLocalManager("qwen2.5-7b-instruct")
client = OpenAI(base_url=manager.endpoint, api_key=manager.api_key)  # عنصر نائب محلي
```

الحد الأدنى الواقعي حوالي 8 جيجابايت ذاكرة وصول عشوائي؛ تساعد وحدة معالجة الرسومات GPU/NPU لكنها ليست مطلوبة.

## الأنماط الرئيسية لإعادة الإنتاج

وجه المتعلم نحو الدفتر التفاعلي
[`17-local-agent-foundry-local.ipynb`](../../../17-creating-local-ai-agents/code_samples/17-local-agent-foundry-local.ipynb):

- **أدوات محصورة**: كل أداة ملفات تحل المسارات وترفض أي شيء خارج جذر مشروع واحد — حتى محليًا، تعمل الأداة بصلاحيات المستخدم.
- **حلقة استدعاء الأدوات**: سجل الأدوات مع مخطط أدوات OpenAI، نفذ الأدوات المطلوبة محليًا، أرجع النتائج، وكرر حتى الوصول إلى إجابة نهائية.
- **RAG محلي**: أدرج الوثائق في مجموعة Chroma؛ `search_docs` تعيد أفضل الكتل (top-k).
- **MCP محلي**: اتصل بخادم محلي عبر `stdio`؛ حدده إلى دليل مشروع وحقق في مخرجاته.

## التوجيه الهجين (المحلي كأحد النماذج)

| الحالة | أين يعمل |
|-----------|---------------|
| بيانات حساسة / بدون اتصال | نموذج محلي |
| مهمة بسيطة ومحصورة | نموذج محلي (رخيص، سريع) |
| استدلال معقد متعدد الخطوات على بيانات غير حساسة | نموذج سحابي |
| انقطاع الخدمة السحابية | نموذج محلي (تدهور مرحلي) |

هذا يعكس فكرة توجيه النموذج من الدرس 16، مع محطة العمل كأحد المسارات. فضّل التصاميم التي تعتمد على الرجوع إلى المحلي بحيث يتدهور الوكيل في
الجودة بدلًا من الفشل الكامل.


## ضوابط للأمين المساعد

- اجعل كل عمليات الملفات/الأدوات محدودة ضمن دليل مشروع محصور.
- لا ترسل الشيفرة أو البيانات للسحابة عندما يكون هدف المتعلم المعلن هو الخصوصية/عدم الاتصال — اجعل كامل خط الأنابيب محليًا.
- حدد توقعات واقعية لجودة نموذج اللغة صغير الحجم؛ اعتمد على الأدوات وRAG أكثر من المعرفة المحفوظة للنموذج.
- لاحظ أن الدرس 17 ليس له نقطة نهاية Foundry Responses، لذا لا ينطبق اختبار السحب السحابي — تحقق بالتشغيل المحلي للدفتر التفاعلي.

---

<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**تنويه**:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى للدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي والمعتمد. للمعلومات الهامة، يُنصح بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

---

**Source:** [`microsoft/ai-agents-for-beginners`](https://github.com/microsoft/ai-agents-for-beginners) → `translations/ar/.agents/skills/local-ai-agents/SKILL.md`

