azure-ai-projects-py
Этот навык Microsoft описывает создание AI-приложений в Microsoft Foundry через Python-пакет azure-ai-projects. Он предназначен для проектов, где нужно работать с Foundry project client, создавать версионируемых агентов через PromptAgentDefinition, запускать evaluations, управлять connections, deployments, datasets и indexes либо получать OpenAI-совместимый клиент. Документ позиционирует azure-ai-projects как высокоуровневый Foundry SDK; для низкоуровневых операций с агентами он направляет к отдельному azure-ai-agents-python skill. Установка в источнике показана через pip install azure-ai-projects azure-identity. Основной endpoint передаётся через AZURE_AI_PROJECT_ENDPOINT, а имя развёртывания модели — через AZURE_AI_MODEL_DEPLOYMENT_NAME. Для production-сценариев с DefaultAzureCredential рекомендуется задать AZURE_TOKEN_CREDENTIALS=prod либо конкретный тип credential, чтобы ограничить цепочку безопасными для production вариантами. Навык явно не предлагает обходить Entra-аутентификацию connection string, account key или API key: предпочтение отдано DefaultAzureCredential, который может работать локально через Azure CLI, VS Code или Developer CLI, а в Azure — через managed identity или workload identity. Второе обязательное правило касается жизненного цикла клиента. Синхронный AIProjectClient нужно использовать в with, асинхронный клиент и async credential — в async with. Это освобождает HTTP transport, сокеты и token cache детерминированно, а не оставляет их на произвол сборщика мусора. Через client доступны агенты, connections, deployments, datasets, indexes, evaluations и red teams. Для совместимого с OpenAI кода можно получить client.get_openai_client() и вызвать chat.completions, используя имя развернутой модели из окружения. Для агентов приведены два уровня работы. Базовый вариант создаёт агента с model, name и instructions через client.agents.create_agent. Дополнительно можно передать CodeInterpreterTool, FileSearchTool и другие инструменты, включая Bing grounding, Azure AI Search, function calling, OpenAPI, MCP, memory search и SharePoint grounding. Версионируемый вариант использует client.agents.create_version, имя агента, PromptAgentDefinition и version_label. С потоками сообщений workflow состоит из создания thread, добавления user message, запуска run и чтения assistant message после статуса completed. Остальные разделы показывают чтение connections, список model deployments, datasets и indexes, а также запуск evaluations через OpenAI-совместимый клиент. Эти примеры задают форму SDK-вызова, но не создают автоматически Azure project, deployment, dataset, index или права доступа. Endpoint, deployment name, разрешения Entra, доступность региона и подключённые сервисы должны существовать в конкретной среде. Навык не гарантирует качество промпта, корректность tool schema, наличие квоты или успешный результат run. Перед production-изменением нужны проверка credential, smoke-вызов, обработка статусов и закрытие всех клиентов через контекстный менеджер; секреты не следует печатать и хранить в исходниках.
Для чего подходит
- Создание агентов Azure AI Projects
- Запуск оценок и управление datasets
- Работа с Foundry connections и indexes
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-python/skills/azure-ai-projects-py