Выстроить подключения к провайдерам в порядок переключения
Объедините подключения в пул, выберите, как пул выбирает подключение для вызова и что он делает, когда провайдер отказывает или ошибается.
4 мин чтения
Пул провайдеров объединяет подключения к провайдерам и решает, какое из них обслужит вызов модели и что будет, если попытка не удалась. Эта страница — о странице пулов провайдеров в консоли.
Где находятся пулы
Откройте Настройки, затем Пулы провайдеров. Страница показывает пулы проекта, выбранного в шапке, и пулы всей организации. Строка показывает провайдера пула, его стратегию, где он действует, сколько в нём подключений и до скольких попыток делает вызов.
Страница открывается тому, у кого есть разрешение management:read. Для создания и изменения пула нужно management:write. Пул всей организации меняет только участник, которому доступен каждый проект.
Какие вызовы обслуживает пул
Узел AI-модель, в котором указан пул, вызывает модель через этот пул.
Любой другой вызов идёт через пул провайдера модели по умолчанию: пул этого провайдера в проекте, иначе пул всей организации, иначе пул, который принимает подключения других провайдеров.
Когда вызов не обслуживает ни один пул, Slen вызывает провайдера через одно подключение, одной попыткой — какое именно, говорит статья Подключения.
Пул выбирает только среди своих подключений, которые могут обслужить вызов: включённых в пуле и не находящихся в состоянии Выключен, На паузе или Ошибка. Когда таких нет, вызов отклоняется с кодом provider_not_configured.
Создать пул
1. Начните новый пул
Нажмите Новый пул.
2. Заполните основное
В разделе Основное заполните Название, выберите значение поля Провайдер и выберите в поле Применяется к, где действует пул: Этот проект или Вся организация. Провайдера нельзя изменить после создания пула. Включите Подключения других провайдеров, чтобы пул мог содержать и их: такое подключение выполняет равноценную модель своего провайдера, а подключение без равноценной модели пропускается.
3. Выберите маршрутизацию
В разделе Маршрутизация задайте поля Стратегия и Макс. попыток — от 1 до 5. Попытка — это один запрос к одному подключению.
4. Скажите, что делает сбой
В разделе При сбоях выберите в полях Лимит запросов (429) и Ошибка провайдера, что следует за таким сбоем.
5. Создайте пул
Нажмите Создать пул. Откроется страница нового пула. Добавьте в него подключения, прежде чем на него будут рассчитывать вызовы.
Как выбирается подключение
| Стратегия | Порядок подключений для вызова |
|---|---|
| По приоритету | Сначала подключение с наименьшим числом приоритета |
| Наименее загруженное | Сначала подключение, которое дальше всех от своих пределов мощности |
| По весу | Случайный выбор, в котором подключение с большим весом чаще оказывается первым. Подключение с весом 0 пробуется только после остальных, в порядке приоритета |
После неудачной попытки вызов переходит к следующему подключению в этом порядке, пока остаются попытки и сбой это позволяет. Подключение, которое ответило ограничением частоты или сбоем провайдера, на время откладывается и показывается как На паузе.
Что делает сбой
| Вариант | Лимит запросов (429) | Ошибка провайдера |
|---|---|---|
| Переключить подключение | Следующая попытка идёт к другому подключению | Следующая попытка идёт к другому подключению |
| Отклонить | Вызов заканчивается отказом провайдера, provider_rate_limit | Вызов заканчивается ошибкой провайдера |
| Резервная модель (кросс-провайдерные пулы) | Следующие попытки пропускают подключения, которые выполнили бы ту же модель, поэтому вызов переходит на другую модель. У пула без такого подключения они заканчиваются | — |
Очередь (флоу ждёт и повторяет) тоже есть в списке, но в консоли её выбрать нельзя. С ней вызов, получивший ограничение частоты, ждёт свободного подключения, и его узел модели пробует снова.
Когда попытки или подключения заканчиваются без ответа, вызов заканчивается кодом pool_exhausted — если только узел AI-модель не направляет его в один из своих портов, как объясняет статья Порты и ветвление. Узел AI-модель может задать собственное число попыток и собственное поведение после ограничения частоты; они главнее настроек пула.
Добавить и упорядочить подключения
На странице пула вкладка Подключения показывает его подключения. Нажмите Добавить подключение, выберите Подключение и задайте его Приоритет: меньшее значение пробуется раньше. В разделе Дополнительные параметры задайте Вес для стратегии По весу и Множитель стоимости: на него умножается стоимость попытки через это подключение, начиная со следующей попытки. Нажмите Присоединить.
Список предлагает подключения провайдера пула. Подключение другого провайдера предлагается, только когда пул их принимает; через API оно отклоняется с кодом
connection_incompatible.Включено в строке выводит подключение из пула и возвращает его. В строке подключение можно и отсоединить от пула; само подключение и его ключ остаются.
Отказоустойчивость под списком меняет стратегию, число попыток и оба варианта поведения при сбоях. Нажмите Сохранить настройки.
Вкладка Аналитика считает за выбранный период попытки и операции через пул, переключения и вызовы, которые спасла повторная попытка, и показывает, как трафик распределился по подключениям.
Изменить или удалить пул
В меню в строке пула — Изменить и Удалить. Изменить меняет название, стратегию, число попыток, поведение при сбоях и то, принимает ли пул других провайдеров; провайдер и то, где действует пул, остаются. Удалить удаляет пул после подтверждения и сохраняет его подключения. Пул, через который всё ещё вызывает активная версия флоу или незавершённое выполнение, не удаляется: запрос отклоняется с кодом pool_in_use.
Что читать дальше
Подключения — добавить подключения, которые объединяет пул.
Глоссарий — провайдер, подключение и пул, по одной строке на каждое.
Пулы провайдеров — те же пулы через API.
AI-модель — узел флоу, который вызывает модель через пул.