agent-framework-azure-ai-py
Этот скилл описывает создание постоянных агентов Azure AI Foundry с Python SDK Microsoft Agent Framework и провайдером AzureAIAgentsProvider. В исходной инструкции показан поток от пользовательского запроса к провайдеру, затем к сервису Azure AI Agent Service и вызову agent.run() или agent.run_stream(). Состояние разговора может храниться в AgentThread: новый thread передаётся в несколько вызовов, а conversation_id можно сохранить для последующего продолжения. Это делает карточку релевантной для сценариев, где агент должен переживать отдельные запросы, а история диалога не должна собираться вручную в каждом обработчике. Инструкция также перечисляет методы create_agent() для создания агента, get_agent(agent_id) для получения существующего агента и as_agent(sdk_agent) для обёртки SDK-объекта без дополнительного HTTP-вызова. Установка вынесена в два варианта. Полный фреймворк устанавливается пакетом agent-framework с пометкой pre-release, а для Azure-специфичного сценария можно использовать agent-framework-azure-ai с той же пометкой. Для подключения требуется AZURE_AI_PROJECT_ENDPOINT, указывающий endpoint проекта, и AZURE_AI_MODEL_DEPLOYMENT_NAME с именем deployment модели. Для web search в примере предусмотрен BING_CONNECTION_ID. Эти переменные не заменяют настройку самого Azure AI проекта: они только задают адрес проекта, модель и дополнительное подключение, которое использует hosted web search. Отдельный акцент сделан на аутентификации и освобождении ресурсов. Для локальной разработки в примере используется AzureCliCredential, а общим предпочтительным вариантом назван DefaultAzureCredential: он позволяет работать через Azure CLI, VS Code или Developer CLI локально и через managed identity либо workload identity в Azure. Для production исходник рекомендует AZURE_TOKEN_CREDENTIALS=prod или конкретное ограничение цепочки credentials. Connection strings и account/API keys в этой инструкции не предлагаются как основной путь. Sync- и async-клиенты, включая асинхронный credential, следует оборачивать в context manager, чтобы HTTP-транспорт, сокеты и token cache освобождались детерминированно. Скилл поддерживает обычные function tools: Python-функции можно передать в tools напрямую, а typing.Annotated и pydantic Field помогают описать входной параметр. В quick reference перечислены HostedCodeInterpreterTool для выполнения Python-кода, HostedFileSearchTool для поиска по vector stores, HostedWebSearchTool для Bing web search, HostedMCPTool для service-managed MCP и MCPStreamableHTTPTool для client-managed MCP. Поэтому практические сценарии включают агента с погодным или иным доменным function tool, вычисления через code interpreter, поиск по файлам, web search и подключение MCP. Hosted-инструменты требуют доступности соответствующей возможности на стороне Azure AI, а BING_CONNECTION_ID нужен именно для web search. Для пользовательских интерфейсов предусмотрен streaming: async-цикл читает chunks из agent.run_stream() и выводит только непустой chunk.text. Для интеграций, где ответ должен быть машинно проверяемым, можно передать response_format с Pydantic-моделью, в примере дополнительно запрещены лишние поля через ConfigDict(extra="forbid"). Такой режим удобен для weather-подобных структурированных ответов, но сам по себе не гарантирует правильность бизнес-данных: после получения текста его всё равно нужно валидировать моделью приложения. Исходная инструкция показывает базовые вызовы и архитектурные приёмы; она не обещает готовую production-конфигурацию, конкретные цены, SLA или поддержку всех моделей. Карточка полезна как проверяемая точка входа в Azure AI Foundry agents, tool calling, persistent threads, streaming и structured outputs, а конкретные разрешения, deployment и credentials должны быть настроены в проекте Azure.
Для чего подходит
- Создание агентов Azure AI Foundry
- Подключение hosted tools и MCP
- Работа с persistent threads и streaming
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-python/skills/agent-framework-azure-ai-py