יצירת סוכני AI מקומיים עם Foundry Local ו-Qwen
מיומנות מלווה עבור שיעור 17 – יצירת סוכני AI מקומיים. השתמש בה כדי לעזור ללומד לבנות סוכן שמבצע ניתוח, קורא לכלים ומחפש תיעוד באופן עצמאי לחלוטין במחשב האישי שלו — ללא ניתוח בענן. קבע כל המלצה על תוכן השיעור והמחברת הרצה.
טריגרים
הפעל מיומנות זו כאשר לומד רוצה:
- להריץ סוכן מלא במכשיר למען פרטיות, עלות או סיבות לא מקוונות.
- להפעיל מודל מקומית עם 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.
דרישות התקנה חיוניות
foundry model run qwen2.5-7b-instruct
foundry service status
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:
- כלים בסביבת סנדבוקס: כל כלי של קובץ פותר נתיבים ודוחה כל דבר מחוץ לשורש פרויקט יחיד — גם מקומית, כלי פועל בהרשאות המשתמש.
- לולאת קריאת כלים: רשם כלים עם סכמת OpenAI, הרץ את הכלים המתבקשים מקומית, הזן את התוצאות חזרה, חזור עד לתשובה סופית.
- RAG מקומית: הוסף מסמכים לאוסף Chroma;
search_docsמחזיר את הקטעים המובילים. - MCP מקומית: התחבר לשרת מקומי דרך
stdio; הגבל אותו לספריית פרויקט ואמת את הפלט שלו.
ניתוב היברידי (מקומי כאחד המודלים)
| מצב | היכן זה פועל |
|---|---|
| נתונים רגישים / אופליין | SLM מקומי |
| משימה פשוטה ומוגבלת | SLM מקומי (זול, מהיר) |
| ניתוח קשה מולטי-הופ על נתונים לא רגישים | מודל ענן |
| תקלה בענן | SLM מקומי (התדרדרות הדרגתית) |
זה משקף את רעיון ניתוב המודלים משיעור 16, עם תחנת עבודה כאחד הנתיבים. העדף עיצובים שנופלים חזרה למקומי כך שהסוכן מתדרדר באיכות ולא נכשל לגמרי.
גדרות בטחון לעוזר
- שמור שכל פעולה של קובץ/כלי תהיה מוגבלת לספריית פרויקט בסנדבוקס.
- אל תשלח קוד או נתונים לענן כאשר המטרה שהלומד הצהיר עליה היא פרטיות/לא מקוון — שמור על כל הצינור מקומי.
- קבע ציפיות ריאליסטיות לאיכות ה-SLM; נשען על כלים ו-RAG במקום ידע שמור במודל.
- שים לב שלשיעור 17 אין נקודת קצה Foundry Responses, כך שפעלת הבדיקה בענן לא חלה — אמת באמצעות הרצת המחברת מקומית.
כתב ויתור: מסמך זה תורגם באמצעות שירות תרגום אוטומטי Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עלולים להכיל שגיאות או אי-דיוקים. יש להחשיב את המסמך המקורי בשפתו הטבעית כמקור הסמכות. למידע קריטי מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אדם. אנו לא אחראים לכל אי-הבנה או פירוש שגוי הנובע מהשימוש בתרגום זה.
Source: microsoft/ai-agents-for-beginners → translations/he/.agents/skills/local-ai-agents/SKILL.md