Създаване на локални AI агенти с Foundry Local и Qwen
Спомагателно умение за Урок 17 – Създаване на локални AI агенти. Използвайте го, за да помогнете на учащия да създаде агент, който разсъждава, извиква инструменти и търси документиране изцяло на собствената му машина — без облачно осмисляне. Всяка препоръка се основава на съдържанието на урока и изпълнимия бележник.
Тригери
Активирайте това умение, когато учащ иска да:
- Стартира агент изцяло на устройството по причини за поверителност, разходи или офлайн работа.
- Служи на модел локално с Foundry Local и да се свърже чрез OpenAI-съвместим крайна точка.
- Използва Qwen модел с извикване на функции за надеждно локално извикване на инструменти.
- Добави локален RAG (Chroma) или локален MCP сървър.
- Проектира хибридна локална/облачна стратегия за маршрутизиране.
Основен ментален модел
SLM търгува с обхват в замяна на поверителност, разходи и офлайн работа. Победната
стратегия: позволете на SLM да оркестрира и на инструментите да вършат тежката работа. Моделът
не трябва да знае кода — трябва да знае кога да извика read_file и search_docs.
Това играе на силните страни на SLM (ограничени решения
като избор на инструмент) и избягва слабостите му (широки знания, дълго многоетапно
разсъждение).
Защо тези конкретни части
- Foundry Local предоставя OpenAI-съвместима HTTP крайна точка, така че кода за агента в облак се прехвърля чрез промяна само на
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 GB RAM е реалистичен минимум; GPU/NPU помага, но не е задължително.
Ключови модели за възпроизвеждане
Насочете учащия към бележника
17-local-agent-foundry-local.ipynb:
- Пясъчни инструменти: всеки инструмент за файлове разрешава пътища и отхвърля всичко извън една коренна директория на проекта — дори и локално, инструментите работят с разрешенията на потребителя.
- Цикъл за извикване на инструменти: регистрирайте инструменти със схема на OpenAI инструменти, изпълнявайте поискани инструменти локално, предавайте резултатите, повтаряйте докато не се получи краен отговор.
- Локален RAG: добавете документи в колекция Chroma;
search_docsвръща топ-k сегменти. - Локален MCP: свържете се с локален сървър през
stdio; ограничете го до директория на проекта и валидирайте изходите му.
Хибридно маршрутизиране (локално като един от моделите)
| Ситуация | Къде работи |
|---|---|
| Чувствителни данни / офлайн | Локално SLM |
| Проста, ограничена задача | Локално SLM (евтино, бързо) |
| Трудно многоетапно разсъждение за нечуствителни данни | Облачен модел |
| Облачна неизправност | Локално SLM (грейсфул деградация) |
Това отразява идеята за маршрутизиране на модели от Урок 16, като работната станция е един от маршрутите. Предпочитайте дизайни, които се връщат обратно към локалния, така че агентът да се понижава в качество, вместо да се проваля напълно.
Гонки за асистента
- Поддържайте всяка операция с файлове/инструменти ограничена до пясъчна директория на проект.
- Не изпращайте код или данни в облак, когато официалната цел на учащия е поверителност/офлайн – дръжте целия поток локален.
- Поставяйте реалистични очаквания за качеството на SLM; разчитайте на инструменти и RAG вместо на запаметените знания на модела.
- Забележете, че Урок 17 няма крайна точка Foundry Responses, така че облачното тестово действие не важи — валидирайте като стартирате бележника локално.
Отказ от отговорност: Този документ е преведен с помощта на AI преводачески услуга Co-op Translator. Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
Source: microsoft/ai-agents-for-beginners → translations/bg/.agents/skills/local-ai-agents/SKILL.md