Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Средства самостоятельного хостинга для протокола в .NET скоро появятся. Модель размещения позволит приложению самостоятельно выполнять интеграцию с сервером, состоянием и протоколом.
Note
Вспомогательные средства протокола для самостоятельного хостинга в настоящее время недоступны для Go.
Самостоятельное размещение позволяет запускать агент Agent Framework или рабочий процесс в собственном веб-приложении, контейнере, службе или среде выполнения. Приложение управляет маршрутизацией, удостоверением, авторизацией, политикой запросов, хранилищем, развертыванием и масштабированием. Добавьте на этот сервер одну или несколько интеграций протоколов в зависимости от того, каких клиентов необходимо поддерживать.
Используйте этот параметр, если необходимо интегрировать конечную точку агента с существующей инфраструктурой приложений. Если вы хотите Microsoft Foundry запустить агент для вас, см. статью "Размещенные агенты Foundry". Если вам нужны Функции Azure триггеры или устойчивое выполнение, см. раздел "Устойчивое расширение".
Разработка этих пакетов обеспечивает максимальную гибкость для разработчика. Это означает, что если вы хотите создать хост, который предоставляет агента через Responses API, и использовать параметры для других целей (то есть сопоставить temperature с top_p), вы можете это сделать. Если вы не хотите хранить сеансы, вы можете этого не делать; если вы хотите разрешить вызывающей стороне полностью управлять запуском агента, вы можете сделать и это. Мы не будем стоять у вас на пути: мы предоставляем вспомогательные инструменты для типичных сценариев, а за всё остальное оставляем отвечать вам, чтобы вы могли создать именно тот узел, который вам нужен.
Important
agent-framework-hosting, agent-framework-hosting-responses, , agent-framework-hosting-telegramagent-framework-a2aagent-framework-hosting-a2aи agent-framework-hosting-mcp являются предварительной версией пакетов Python. Установите предварительные версии явным образом и просмотрите заметки о выпуске перед обновлением рабочего развертывания.
pip install --pre agent-framework-hosting
Что предоставляют вспомогательные службы размещения
Обобщённый пакет размещения предоставляет общее состояние выполнения для сервера, принадлежащего приложению:
-
AgentStateсвязывает целевой объект агента с объектомSessionStoreи создает сеансы, когда приложение выбирает новый ключ. -
SessionStoreсохраняет, извлекает и удаляет сеансы по идентификатору, выбранному приложением. Его хранилище по умолчанию является локальным процессом и не имеет политики вытеснения. -
WorkflowStateопределяет цель рабочего процесса. Приложение отвечает за хранилище контрольных точек и за любое сопоставление идентификатора продолжения клиента с контрольной точкой.
AgentState не является сервером или реестром протоколов. Приложение выбирает ключ авторизованного сеанса, определяет целевой объект и сохраняет состояние после завершения выполнения. Он может использовать одну и ту же целевую и общую инфраструктуру приложений для одной или нескольких конечных точек протокола.
Настройка хранилища сеансов
SessionStore— это небольшой асинхронный класс хранилища с getsetметодами , а также delete методами. Реализация по умолчанию сохраняет сеансы в памяти процесса. Создайте его подкласс и переопределите эти методы, чтобы хранить объекты AgentSession в Redis, базе данных, хранилище BLOB-объектов или другом хранилище, принадлежащем приложению, а затем передайте экземпляр в AgentState(session_store=...).
SessionStore и поставщики истории сохраняют отдельные части разговора агента. Хранилище сеансов сохраняет один объект сеанса для каждого идентификатора сеанса, включая метаданные сеанса и состояние провайдера.
HistoryProvider Выделенное хранилище сохраняет беседу отдельно, как правило, как одну запись для каждого сообщения. Такое разделение рекомендуется для постоянных хостов, поскольку добавлять отдельные сообщения обычно эффективнее, чем перезаписывать растущий объект сеанса после каждого шага. Поставщик журнала определяется для каждого агента, передав требуемый класс поставщика журнала параметру context_providers .
Note
Поставщик истории по умолчанию: InMemoryHistoryProvider — это исключение: он хранит весь разговор в AgentSession.state. При использовании этого поставщика SessionStore сохраняет разговор в объекте сеанса. Для долгих диалогов или постоянного хранения в рабочей среде используйте отдельный поставщик истории, чтобы хранилище сеансов отвечало только за облегчённое состояние сеанса.
Используйте собственный фреймворк или клиентскую библиотеку
Пакеты размещения не привязаны к веб-платформе или клиентской библиотеке. В примерах используются FastAPI и aiogram, потому что они позволяют привести краткие рабочие примеры, а не потому, что вспомогательные функции требуют их.
- Для конечных точек HTTP используйте API маршрутизации и запроса и ответа платформы приложений, такие как FastAPI, Starlette, Django, Flask, Функции Azure или другая платформа.
- Для клиентов протокола, таких как Telegram, используйте любую клиентную библиотеку, которая может предоставить обновление протокола и выполнить операции, созданные вспомогательным поставщиком.
Приложение выбирает свою платформу и клиентную библиотеку; Пакеты Agent Framework преобразуют только данные протокола и управляют необязательным состоянием выполнения. Они не регистрируют маршруты, не аутентифицируют вызывающих, не авторизуют доступ к состоянию, не выбирают допустимые параметры модели и не предоставляют постоянное хранилище.
Добавление протоколов на сервер
Выберите одну или несколько интеграции протокола:
| Protocol | Упаковка и интеграция |
|---|---|
| Ответы OpenAI | agent-framework-hosting-responses |
| Телеграмма | agent-framework-hosting-telegram |
| A2A |
agent-framework-a2a или agent-framework-hosting-a2a |
| MCP | agent-framework-hosting-mcp |
Каждая страница протокола описывает ее настройку. Однако они предназначены для создания одного узла с поддержкой одного или нескольких протоколов и вызываемого целевого объекта; агент или рабочий процесс. Поскольку мы не ограничиваем вас одним веб-фреймворком, вы можете выбрать тот, который вам нужен, и без труда настроить хост с этими протоколами.
Продолжение безопасного сеанса
Обрабатывать каждый предоставленный протоколом идентификатор как ненадежные входные данные. Прежде чем использовать идентификатор для загрузки сеанса, контрольной точки, задачи или другого состояния:
- Проверьте подлинность вызывающей стороны.
- Авторизуйте вызывающий объект для доступа к указанному состоянию.
- Разделяйте сохраняемое состояние по прошедшему аутентификацию арендатору, пользователю или рабочей области.
- Сохраняйте состояние сеанса и контрольной точки только после завершения запуска или потока.
Этот шаблон самостоятельного размещения позволяет приложению реализовать только необходимые конечные точки протокола и политики; Он не пытается реализовать полную поверхность API каждого поддерживаемого протокола.
Дальнейшие действия
Вернитесь глубже: