Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этой статьи вы узнаете, как настроить Mosaic AI Gateway на конечной точке обслуживания модели.
Требования
- Рабочая область Databricks в регионе, где поддерживается обслуживание моделей. См. статью "Модель обслуживания региональной доступности".
- Конечная точка обслуживания модели машинного обучения. Вы можете использовать одну из предварительно настроенных конечных точек с оплатой за токен в рабочей области или выполнить следующие действия:
- Чтобы создать точку доступа для обслуживания внешней модели, выполните шаги 1 и 2 из Создание точки доступа для обслуживания внешней модели.
- Чтобы создать конечную точку для предоставленной пропускной способности, см. API базовой модели.
- Сведения о создании конечной точки для пользовательской модели см. в статье "Создание конечной точки".
Настройка шлюза искусственного интеллекта с помощью пользовательского интерфейса
В разделе AI Gateway страницы создания конечной точки можно настроить отдельные функции шлюза AI Gateway. См. поддерживаемые функции, для которых доступны функции во внешних конечных точках обслуживания моделей и подготовленных конечных точках пропускной способности.
В следующей таблице показано, как настроить шлюз искусственного интеллекта во время создания конечной точки с помощью пользовательского интерфейса обслуживания. Если вы предпочитаете выполнять это программным способом, см. пример записной книжки.
Функция | Как включить | Сведения |
---|---|---|
Отслеживание использования | Выберите Включить отслеживание использования, чтобы активировать отслеживание и мониторинг показателей использования данных. Эта функция включена по умолчанию для конечных точек с оплатой за токен . |
|
Ведение журнала полезной нагрузки | Выберите Включить таблицы вывода результатов, чтобы с вашего конечного узла автоматически записывать запросы и ответы в таблицы Delta, управляемые каталогом Unity. |
|
AI Guardrails | См. раздел "Настройка AI Guardrails" в пользовательском интерфейсе. |
|
Ограничения скорости | Выберите ограничения частоты, чтобы управлять и устанавливать количество запросов в минуту (QPM), которые ваша конечная точка может получать как в целом, так и от каждого пользователя. Ограничения скорости применяются только к пользователям, у которых есть разрешение на запрос конечной точки. Можно определить ограничения скорости на разных уровнях.
Можно указать настраиваемые ограничения скорости для:
|
|
Разделение трафика | В разделе Обслуживаемых сущностей укажите процент трафика, который требуется перенаправить в определенные модели. Сведения о том, как настроить разделение трафика в конечной точке программным способом, см. в статье Обслуживать несколько внешних моделей для конечной точки. |
|
Резервные копии | Выберите Включить резервные варианты в разделе Шлюза ИИ, чтобы отправить запрос другим обслуживаемым моделям на конечную точку в качестве резервного варианта. |
|
На следующей схеме показан резервный пример, в котором:
- Три обслуживаемые сущности обслуживаются в конечной точке обслуживания модели.
- Запрос изначально направляется к обслуживаемой сущности 3.
- Если запрос возвращает ответ 200, запрос был успешно выполнен на обслуживаемой сущности 3, а запрос и его ответ регистрируются в таблицах отслеживания использования и журнала полезной нагрузки конечной точки.
- Если запрос возвращает ошибку 429 или 5xx для обслуживаемой сущности 3, запрос возвращается к следующей обслуживаемой сущности в конечной точке, обслуживаемой сущности 1.
- Если запрос возвращает ошибку 429 или 5xx для обслуживаемой сущности 1, запрос возвращается к следующей обслуживаемой сущности в конечной точке, обслуживаемой сущности 2.
- Если запрос возвращает ошибку 429 или 5xx для обслуживаемой сущности 2, запрос завершается ошибкой, так как это максимальное количество резервных сущностей. Неудачный запрос и ошибка ответа регистрируются в таблицах отслеживания использования и в таблицах логирования полезной нагрузки.
Настройка AI Guardrails в пользовательском интерфейсе
Это важно
Эта функция доступна в общедоступной предварительной версии.
В следующей таблице показано, как настроить поддерживаемые ограничители.
Примечание.
После 30 мая 2025 года модерация тем и фильтрация ключевых слов больше не поддерживаются ИИ. Если эти функции необходимы для рабочих процессов, обратитесь к группе учетной записи Databricks, чтобы принять участие в пользовательской предварительной версии.
Ограждение | Как включить |
---|---|
Безопасность | Выберите Безопасность, чтобы включить защитные меры и предотвратить взаимодействие модели с небезопасным и вредным содержимым. |
Обнаружение персонально идентифицируемой информации (PII) | Выберите для блокировки или маскирования данных PII, таких как имена, адреса, номера кредитной карты, если такая информация обнаружена в запросах и ответах конечных точек. В противном случае выберите "Нет" , чтобы не обнаруживать личные данные. |
схемы таблиц отслеживания использования
В следующих разделах перечислены схемы таблиц отслеживания использования для системных таблиц system.serving.served_entities
и system.serving.endpoint_usage
.
схема таблицы отслеживания использования system.serving.served_entities
Примечание.
Системная system.serving.served_entities
таблица отслеживания использования в настоящее время не поддерживается для конечных точек с оплатой за токен.
Системная таблица отслеживания использования system.serving.served_entities
имеет следующую схему:
Имя столбца | Описание | Тип |
---|---|---|
served_entity_id |
Уникальный идентификатор обслуживаемой сущности. | СТРОКА |
account_id |
Идентификатор учетной записи клиента для Delta Sharing. | СТРОКА |
workspace_id |
Идентификатор рабочего пространства клиента для конечной точки обслуживания. | СТРОКА |
created_by |
Идентификатор создателя. | СТРОКА |
endpoint_name |
Имя конечной точки обслуживания. | СТРОКА |
endpoint_id |
Уникальный идентификатор конечной точки обслуживания. | СТРОКА |
served_entity_name |
Имя обслуживаемой сущности. | СТРОКА |
entity_type |
Тип обслуживаемой сущности. Может бытьFEATURE_SPEC , , EXTERNAL_MODEL FOUNDATION_MODEL илиCUSTOM_MODEL |
СТРОКА |
entity_name |
Базовое имя сущности. Отличается от served_entity_name , которое является именем, указанным пользователем. Например, entity_name — это имя модели каталога Unity. |
СТРОКА |
entity_version |
Версия обслуживаемой сущности. | СТРОКА |
endpoint_config_version |
Версия конфигурации конечной точки. | ИНТ |
task |
Тип задачи. Возможные значения: llm/v1/chat , llm/v1/completions или llm/v1/embeddings . |
СТРОКА |
external_model_config |
Конфигурации для внешних моделей. Например: {Provider: OpenAI} |
структура |
foundation_model_config |
Конфигурации для базовых моделей. Например: {min_provisioned_throughput: 2200, max_provisioned_throughput: 4400} . |
структура |
custom_model_config |
Конфигурации для пользовательских моделей. Например: { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } . |
структура |
feature_spec_config |
Конфигурации для спецификаций функций. Например: { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } |
структура |
change_time |
Временная метка изменения для обслуживаемой единицы. | TIMESTAMP |
endpoint_delete_time |
Метка времени удаления сущности. Конечная точка — это контейнер для обслуживаемой сущности. После удаления конечной точки также удаляется обслуживаемая сущность. | TIMESTAMP |
схема таблицы отслеживания использования system.serving.endpoint_usage
Системная таблица отслеживания использования system.serving.endpoint_usage
имеет следующую схему:
Имя столбца | Описание | Тип |
---|---|---|
account_id |
Идентификатор учетной записи клиента. | СТРОКА |
workspace_id |
Идентификатор рабочей области клиента для точки обслуживания. | СТРОКА |
client_request_id |
Пользователь предоставил идентификатор запроса, который можно указать в тексте запроса на обслуживание модели. Для конечных точек пользовательской модели это не поддерживается для запросов размером более 4MiB. | СТРОКА |
databricks_request_id |
Идентификатор запроса, созданный Azure Databricks, прикреплён ко всем запросам на обслуживание модели. | СТРОКА |
requester |
Идентификатор пользователя или субъекта-службы, разрешения которого используются для запроса вызова конечной точки обслуживания. | СТРОКА |
status_code |
Код состояния HTTP, возвращенный из модели. | ЦЕЛОЕ ЧИСЛО |
request_time |
Отметка времени, когда запрос был получен. | TIMESTAMP |
input_token_count |
Количество токенов входных данных. | ДЛИННЫЙ |
output_token_count |
Количество токенов выходных данных. | ДЛИННЫЙ |
input_character_count |
Число символов входной строки или запроса. | ДЛИННЫЙ |
output_character_count |
Число символов выходной строки ответа. | ДЛИННЫЙ |
usage_context |
Пользователь предоставил карту, содержащую идентификаторы конечного пользователя или клиентского приложения, которое вызывает конечную точку. Определите более точно использование с помощью usage_context . Для конечных точек пользовательской модели это не поддерживается для запросов размером более 4MiB. |
Карта |
request_streaming |
Указывает, находится ли запрос в режиме потоковой передачи. | Булевый |
served_entity_id |
Уникальный идентификатор, используемый для соединения с таблицей измерений system.serving.served_entities для поиска сведений о конечной точке и обслуживаемой сущности. |
СТРОКА |
Дальнейшее определение использования с помощью usage_context
При запросе внешней модели с включенным отслеживанием использования, вы можете указать параметр usage_context
с типом Map[String, String]
. Сопоставление контекста использования отображается в таблице отслеживания использования в столбце usage_context
. Размер usage_context
карты не может превышать 10 КИБ.
{
"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"
}
}
Если вы используете клиент OpenAI Python, можно указать usage_context
, включив его в параметр extra_body
.
from openai import OpenAI
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
response = client.chat.completions.create(
model="databricks-claude-3-7-sonnet",
messages=[{"role": "user", "content": "What is Databricks?"}],
temperature=0,
extra_body={"usage_context": {"project": "project1"}},
)
answer = response.choices[0].message.content
print("Answer:", answer)
Администраторы учетных записей могут агрегировать различные строки в зависимости от контекста использования, чтобы получить аналитические сведения и присоединить эти сведения к данным в таблице ведения журнала полезных данных. Например, можно добавить end_user_to_charge
в usage_context
для отслеживания распределения затрат для конечных пользователей.
Мониторинг использования конечных точек
Чтобы отслеживать использование конечной точки, можно объединить системные таблицы и таблицы инференса для вашей конечной точки.
Объединение системных таблиц
Этот пример относится только к внешней модели и подготовленным конечным точкам пропускной способности. Системная served_entities
таблица не поддерживается в конечных точках с оплатой за токен, но вы можете присоединиться к таблицам вывода и использования , чтобы получить аналогичные сведения.
Чтобы соединить системные таблицы endpoint_usage
и served_entities
, используйте следующий SQL:
SELECT * FROM system.serving.endpoint_usage as eu
JOIN system.serving.served_entities as se
ON eu.served_entity_id = se.served_entity_id
WHERE created_by = "\<user_email\>";
Объединение таблиц вывода и использования
Ниже объединяются системная таблица endpoint_usage
и таблица вывода результатов для конечной точки с оплатой за токен. Таблицы вывода данных и отслеживание использования должны быть активированы на конечной точке для подключения к этим таблицам.
SELECT * FROM system.serving.endpoint_usage AS endpoint_usage
JOIN
(SELECT DISTINCT(served_entity_id) AS fmapi_served_entity_id
FROM <inference table name>) fmapi_id
ON fmapi_id.fmapi_served_entity_id = endpoint_usage.served_entity_id;
Обновление функций шлюза искусственного интеллекта в конечных точках
Вы можете обновить функции шлюза ИИ на конечных точках обслуживания моделей как для тех, где они были ранее включены, так и для тех, где не были. Обновления конфигураций шлюза искусственного интеллекта занимают около 20–40 секунд, однако ограничение скорости обновлений может занять до 60 секунд.
Ниже показано, как обновить функции шлюза искусственного интеллекта в конечной точке обслуживания модели с помощью пользовательского интерфейса обслуживания.
В разделе шлюза на странице конечной точки можно увидеть, какие функции включены. Чтобы обновить эти функции, щелкните , чтобы изменить шлюз ИИ.
Пример записной книжки
В следующей записной книжке показано, как программно включить и использовать функции шлюза Databricks Mosaic AI для управления моделями от поставщиков. Дополнительные сведения об REST API см. в PUT /api/2.0/services-endpoints/{name}/ai-gateway.