Среда выполнения агента

Agent Runtime запускает ваш агент на бессерверных вычислительных ресурсах, размещенных в Azure Databricks. Он запускает ваш агент-сервер, например DurableAgentServer, на Databricks Apps, так что вы развёртываете код вместо подготовки серверов. Чтобы узнать, как Agent Runtime вписывается в ваш фреймворк и агентный сервер, смотрите раздел «Развернуть агенты на Azure Databricks».

Что предоставляет Agent Runtime

  • Стабильная аутентифицированная конечная точка: Каждое развертывание — это приложение с именем agent-bricks-<name> и собственным URL. Клиенты аутентифицируются с помощью токена OAuth Azure Databricks. См. агенты запросов, развернутые на Azure Databricks.
  • Идентификация агента: агент работает как субъект-служба приложения. См. идентичность агента.
  • Отказоустойчивое выполнение: Для агентов, использующих DurableAgentServer, развертывание предоставляет Runtime Store, чтобы состояние выполнения сохранялось при перезапуске рабочих процессов, а прерванные выполнения могли быть восстановлены.
  • Трассировка: Развертывание настраивает трассировку MLflow для эксперимента, с которым связан проект. См. обзор трассировки.
  • Масштабирование: Агент может работать на 1–5 экземплярах. См. раздел «Горизонтальное масштабирование приложений Databricks».

Идентификатор агента

Идентичность агента — это сервисный принципал приложения, в котором он развернут. Агент использует эту идентичность для вызова API Azure Databricks и запуска инструментов, которые вы добавляете с помощью --auth app.

  • При развертывании agentbricks deploy предоставляет принципалу службы доступ к памяти, сеансу и хранилищам состояния, которые использует агент.
  • Чтобы дать агенту доступ к другим данным и ресурсам, предоставьте субъекту-службе приложения необходимые для него разрешения, как и для любого приложения. См. раздел "Настройка авторизации" в приложении Databricks.
  • Инструменты, которые используют auth = "user", работают с правами пользователя, отправившего запрос, а не субъекта-службы. См. Авторизация пользователя по запросу.

Развернуть агент

Развернуть проект агента с помощью Agent Bricks CLI:

agentbricks --profile <profile> deploy my-agent

agentbricks deploy выполняет следующие действия:

  1. Создаёт или повторно использует хранилища памяти и сессий, объявленные в agent.toml, и предоставляет субъекту-службе приложения доступ к ним.
  2. Для агентов, использующих DurableAgentServer, создаёт или повторно использует Runtime Store развертывания.
  3. Настраивает трассировку.
  4. Развертывает приложение.

Чтобы запустить агент более чем на одном экземпляре, передайте --instances:

agentbricks --profile <profile> deploy my-agent --instances 2

Когда агент запущен более чем на одном экземпляре, клиенты могут отправить идентификатор сессии в заголовке X-Routing-Key, чтобы направлять все запросы в рамках сессии к одному экземпляру.

Управление развертыванием

Command Description
agentbricks deployments list Перечислите развертывания агентов.
agentbricks deployments get <app-name> Покажите URL, статус и описание развертывания.
agentbricks deployments logs <app-name> Покажите журналы этого развертывания.
agentbricks deployments start <app-name> и agentbricks deployments stop <app-name>. Начать или остановить развертывание.
agentbricks deployments delete <app-name> Удалите развертывание.

Поскольку каждое развертывание — это приложение, вы также можете просматривать и мониторить его в приложениях Databricks. См. статью "Ведение журнала и мониторинг для приложений Databricks".

Limitations

Вы не можете изменить сервер агента существующего развертывания. Чтобы сменить сервер, создайте новый проект с нужным параметром agentbricks init --server и разверните его под новым именем.

Дополнительные ресурсы