Поделиться через


Настройка шлюза ИИ на конечных точках обслуживания моделей

Из этой статьи вы узнаете, как настроить шлюз ИИ Мозаики в конечной точке обслуживания модели.

Требования

Настройка шлюза искусственного интеллекта с помощью пользовательского интерфейса

В этом разделе показано, как настроить шлюз искусственного интеллекта во время создания конечной точки с помощью пользовательского интерфейса обслуживания.

Если вы предпочитаете выполнять это программным способом, см. пример записной книжки.

В разделе "Шлюз искусственного интеллекта" страницы создания конечной точки можно настроить отдельные функции шлюза ИИ:

Функция Включение Сведения
Отслеживание использования Выберите "Включить отслеживание использования", чтобы включить отслеживание и мониторинг метрик использования данных. — У вас должен быть включен каталог Unity.
— Администраторы учетных записей должны включить схему системной таблицы перед использованием системных таблиц: system.serving.endpoint_usage которая фиксирует количество маркеров для каждого запроса к конечной точке и system.serving.served_entities сохраняет метаданные для каждой внешней модели.
— См . схемы таблиц отслеживания использования
— Только администраторы учетных записей имеют разрешение на просмотр или endpoint_usage запрос served_entities таблицы, даже если пользователь, управляющий конечной точкой, должен включить отслеживание использования. См. раздел "Предоставление доступа к системным таблицам"
— Число входных и выходных маркеров оценивается как (text_length+1)/4, если число маркеров не возвращается моделью.
Ведение журнала полезных данных Выберите "Включить таблицы вывода", чтобы автоматически регистрировать запросы и ответы из конечной точки в таблицы Delta, управляемые каталогом Unity. — У вас должен быть включен каталог Unity и CREATE_TABLE доступ к ней в указанной схеме каталога.
— Таблицы вывода, включенные шлюзом ИИ, имеют другую схему, чем таблицы вывода, созданные для конечных точек обслуживания моделей, которые служат пользовательским моделям. См . схему таблицы вывода с поддержкой шлюза ИИ.
— данные ведения журнала полезных данных заполняют эти таблицы менее чем через час после запроса конечной точки.
— Полезные данные размером более 1 МБ не регистрируются.
— Полезные данные ответа агрегируют ответ всех возвращаемых блоков.
— поддерживается потоковая передача. В сценариях потоковой передачи полезные данные ответа агрегируют ответ возвращаемых блоков.
AI Guardrails См. раздел "Настройка AI Guardrails" в пользовательском интерфейсе. — Guardrails предотвращает взаимодействие модели с небезопасным и вредным содержимым, обнаруженным в входных и выходных данных модели.
— Выходные ограждения не поддерживаются для моделей внедрения или потоковой передачи.
Ограничения скорости Вы можете применить ограничения частоты запросов для управления трафиком для конечной точки на пользователя и на конечную точку — Ограничения скорости определяются в запросах в минуту (QPM).
— Значение по умолчанию не ограничивается как для каждого пользователя, так и для каждой конечной точки.
Маршрутизация трафика Сведения о настройке маршрутизации трафика в конечной точке см. в статье "Обслуживание нескольких внешних моделей в конечной точке".

Настройка функций шлюза искусственного интеллекта

Настройка AI Guardrails в пользовательском интерфейсе

В следующей таблице показано, как настроить поддерживаемые охранники.

Проверка Включение Сведения
Безопасность Выберите "Безопасность" , чтобы обеспечить защиту, чтобы предотвратить взаимодействие модели с небезопасным и вредным содержимым.
Обнаружение личных сведений (PII) Выберите обнаружение PII, чтобы обнаружить такие данные piI, как имена, адреса, номера кредитной карты.
Допустимые разделы Вы можете вводить разделы непосредственно в это поле. Если у вас несколько записей, обязательно нажмите клавишу ВВОД после каждого раздела. Кроме того, можно отправить .csv файл или .txt файл. Можно указать не более 50 допустимых разделов. Каждый раздел не может превышать 100 символов
Недопустимые ключевые слова Вы можете вводить разделы непосредственно в это поле. Если у вас несколько записей, обязательно нажмите клавишу ВВОД после каждого раздела. Кроме того, можно отправить .csv файл или .txt файл. Можно указать не более 50 недопустимых ключевых слов. Каждое ключевое слово не может превышать 100 символов.

Настройка функций AI Guardrail

Схемы таблиц отслеживания использования

Системная system.serving.served_entities таблица отслеживания использования имеет следующую схему:

Имя столбца Описание Тип
served_entity_id Уникальный идентификатор обслуживаемой сущности. STRING
account_id Идентификатор учетной записи клиента для разностного общего доступа. STRING
workspace_id Идентификатор рабочей области клиента конечной точки обслуживания. STRING
created_by Идентификатор создателя. STRING
endpoint_name Имя конечной точки обслуживания. STRING
endpoint_id Уникальный идентификатор конечной точки обслуживания. STRING
served_entity_name Имя обслуживаемой сущности. STRING
entity_type Тип обслуживаемой сущности. Может бытьFEATURE_SPEC, , FOUNDATION_MODELEXTERNAL_MODELилиCUSTOM_MODEL STRING
entity_name Базовое имя сущности. Отличается от served_entity_name имени пользователя. Например, entity_name это имя модели каталога Unity. STRING
entity_version Версия обслуживаемой сущности. STRING
endpoint_config_version Версия конфигурации конечной точки. INT
task Тип задачи. Возможные значения: llm/v1/chat, llm/v1/completions или llm/v1/embeddings. STRING
external_model_config Конфигурации для внешних моделей. Например: {Provider: OpenAI} STRUCT
foundation_model_config Конфигурации для базовых моделей. Например: {min_provisioned_throughput: 2200, max_provisioned_throughput: 4400}. STRUCT
custom_model_config Конфигурации для пользовательских моделей. Например: { min_concurrency: 0, max_concurrency: 4, compute_type: CPU }. STRUCT
feature_spec_config Конфигурации для спецификаций компонентов. Например: { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } STRUCT
change_time Метка времени изменения для обслуживаемой сущности. TIMESTAMP
endpoint_delete_time Метка времени удаления сущности. Конечная точка — это контейнер для обслуживаемой сущности. После удаления конечной точки также удаляется обслуживаемая сущность. TIMESTAMP

Системная system.serving.endpoint_usage таблица отслеживания использования имеет следующую схему:

Имя столбца Описание Тип
account_id Идентификатор учетной записи клиента. STRING
workspace_id Идентификатор рабочей области клиента конечной точки обслуживания. STRING
client_request_id Пользователь предоставил идентификатор запроса, который можно указать в тексте запроса на обслуживание модели. STRING
databricks_request_id Созданный идентификатор запроса Azure Databricks, подключенный ко всем запросам на обслуживание модели. STRING
requester Идентификатор пользователя или субъекта-службы, разрешения которого используются для запроса вызова конечной точки обслуживания. STRING
status_code Код состояния HTTP, возвращенный из модели. INTEGER
request_time Метка времени получения запроса. TIMESTAMP
input_token_count Число маркеров входных данных. LONG
output_token_count Число маркеров выходных данных. LONG
input_character_count Число символов входной строки или запроса. LONG
output_character_count Число символов выходной строки ответа. LONG
usage_context Пользователь предоставил карту, содержащую идентификаторы конечного пользователя или клиентского приложения, которое вызывает конечную точку. См. дополнительные сведения об использовании с usage_context. MAP
request_streaming Указывает, находится ли запрос в режиме потоковой передачи. BOOLEAN
served_entity_id Уникальный идентификатор, используемый для соединения с таблицей измерений для поиска сведений о конечной system.serving.served_entities точке и обслуживаемой сущности. STRING

Дальнейшее определение использования с помощью usage_context

При запросе внешней модели с включенным отслеживанием использования можно указать параметр с типом usage_context Map[String, String]. Сопоставление контекста использования отображается в таблице отслеживания использования в столбце usage_context . Размер usage_context карты не может превышать 10 КИБ.

Администраторы учетных записей могут агрегировать различные строки в зависимости от контекста использования, чтобы получить аналитические сведения и присоединить эти сведения к данным в таблице ведения журнала полезных данных. Например, можно добавить end_user_to_charge usage_context в отслеживание затраты на отслеживание для конечных пользователей.

{
  "messages": [
    {
      "role": "user",
      "content": "What is Databricks?"
    }
  ],
  "max_tokens": 128,
  "usage_context":
    {
      "use_case": "external",
      "project": "project1",
      "priority": "high",
      "end_user_to_charge": "abcde12345",
      "a_b_test_group": "group_a"
    }
}

Схема таблицы вывода с поддержкой шлюза ИИ

Таблицы вывода, включенные с помощью шлюза ИИ, имеют следующую схему:

Имя столбца Описание Тип
request_date Дата UTC, по которой был получен запрос на обслуживание модели. DATE
databricks_request_id Созданный идентификатор запроса Azure Databricks, подключенный ко всем запросам на обслуживание модели. STRING
client_request_id Необязательный идентификатор запроса, созданный клиентом, который можно указать в тексте запроса на обслуживание модели. STRING
request_time Метка времени получения запроса. TIMESTAMP
status_code Код состояния HTTP, возвращенный из модели. INT
sampling_fraction Дробь выборки, используемая в том случае, если запрос был понижен. Это значение составляет от 0 до 1, где 1 представляет, что 100% входящих запросов были включены. DOUBLE
execution_duration_ms Время в миллисекундах, для которого модель выполнила вывод. Это не включает задержку накладных расходов на сеть и представляет только время, необходимое для модели для создания прогнозов. BIGINT
request Необработанный текст JSON запроса, отправленный в конечную точку обслуживания модели. STRING
response Текст JSON необработанного ответа, возвращаемый конечной точкой обслуживания модели. STRING
served_entity_id Уникальный идентификатор обслуживаемой сущности. STRING
logging_error_codes ARRAY
requester Идентификатор пользователя или субъекта-службы, разрешения которого используются для запроса вызова конечной точки обслуживания. STRING

Обновление функций шлюза искусственного интеллекта в конечных точках

Вы можете обновить функции шлюза ИИ на конечных точках обслуживания моделей, которые ранее были включены и конечные точки, которые не были. Обновления конфигураций шлюза искусственного интеллекта занимают около 20–40 секунд, однако ограничение скорости обновлений может занять до 60 секунд.

Ниже показано, как обновить функции шлюза искусственного интеллекта в конечной точке обслуживания модели с помощью пользовательского интерфейса обслуживания.

В разделе шлюза на странице конечной точки можно увидеть, какие функции включены. Чтобы обновить эти функции, нажмите кнопку "Изменить шлюз ИИ".

Обновление функций шлюза искусственного интеллекта

Пример записной книжки

В следующей записной книжке показано, как программно включить и использовать функции Шлюза ИИ Databricks Для управления моделями от поставщиков и управления ими. Дополнительные сведения об REST API см. в следующих статьях:

Включение записной книжки Databricks Mosaic AI Gateway

Получить записную книжку

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