Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Databricks SQL
Databricks Runtime
Important
Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".
Функция ai_decide() оценивает один или несколько вопросов по тексту или структурированным данным. Для каждого вопроса он возвращает либо вероятность, либо выбор из указанных критериев, либо балл по упорядоченной шкале. Используйте его для маршрутизации заявок в поддержку, оценки необходимости мероприятия или распределения приоритетов работы с помощью определённой вами рубрики.
Все вопросы в звонке используют один и тот же ввод, называемый state. Вы можете комбинировать разные типы вопросов в одном звонке и использовать ответы в последующих SQL-запросах.
Безопасность данных
Данные документа обрабатываются в периметре безопасности Databricks. Databricks не хранит параметры, передаваемые в вызовы функций AI, но сохраняет детали запуска метаданных, такие как используемая версия Databricks Runtime.
Требования
Лицензия Apache 2.0
Базовые модели, которые могут использоваться в настоящее время, лицензируются в соответствии с лицензией Apache 2.0, авторским правом © Apache Software Foundation. Клиенты отвечают за обеспечение соответствия применимым лицензиям модели.
Databricks рекомендует просматривать эти лицензии, чтобы обеспечить соответствие любым применимым условиям. Если модели появляются в будущем, которые лучше работают в соответствии с внутренними тестами Databricks, Databricks может изменить модель (и список применимых лицензий, предоставленных на этой странице).
Модель, работающая с этой функцией, становится доступной с помощью API модели обслуживания модели. Сведения о моделях, доступных в Databricks, и лицензиях и политиках, которые управляют использованием этих моделей, см. в применимых условиях модели.
Если модели появляются, которые лучше работают в соответствии с внутренними тестами Azure Databricks, Databricks может изменить модели и обновить документацию.
Эта функция доступна только в некоторых регионах, см. сведения о доступности функций ИИ.
Для рабочих областей с надстройкой повышенной безопасности и соответствия требованиям
- См. региональную поддержку для
ai_decideприменительно к соответствующему стандарту соответствия требованиям. - Сведения о включении Azure Databricks в рабочей области см. в статье "Управление Azure Databricks предварительной версии".
- См. региональную поддержку для
Эта функция недоступна в Классической версии SQL Azure Databricks.
Требуется Databricks Runtime 15.4 LTS и выше. Для лучшей производительности и доступа к новейшим функциям рекомендуется Databricks Runtime 18.2 и выше.
Проверьте страницу цен на Databricks SQL.
Syntax
ai_decide(state, questions [, options])
Arguments
state: AVARIANTилиSTRINGвыражение, содержащее содержание, контекст и примеры, необходимые для ответа на вопросы. Значение может варьироваться в зависимости от строки. Принимает любую из них:- A
STRINGсодержит простой текст или объект или массив с JSON-кодированием. Объекты и массивы JSON интерпретируются как структурированные данные. Другие строки рассматриваются как текст. - Созданная
VARIANTдругой функцией ИИ (напримерai_parse_document, илиai_extract)
- A
questions: КонстантноеSTRINGвыражение, содержащее непустой JSON-объект. Каждый ключ — это непустой идентификатор вопроса, а каждое значение — определение вопроса. Одинаковые определения применимы к каждой строке. См. определения вопросов.options: Необязательное выражение постояннойMAP<STRING, STRING>. Поддерживаемый вариант —version, со значением'1.0'. Версия 1.0 — по умолчанию. Для явного указания используйтеmap('version', '1.0').
Определения вопросов
Каждое определение вопроса требует type и instructions, плюс criteria , когда требуется тип вопроса. Обязательные поля не могут быть null. Другие области не поддерживаются.
-
type: один изnoul,choiceилиscore. -
instructions: Инструкции для оценки состояния, выраженные в виде строки, JSON-объекта или массива JSON. -
criteria: Описания, которые определяют, как отвечать. Требуемая форма зависит отtype.
Вопросы Нуля
Используйте noul для оценки вероятности того, что вопрос истинен. В результате получается число от 0 до 1.
Необязательный criteria объект может содержать true ключи и false для описания этих результатов. Каждое описание может быть строкой, JSON-объектом или массивом JSON. Опускайте, criteria когда вам не нужны эти описания. Если предоставлено, criteria то должно быть объектом и не может быть null.
{
"needs_escalation": {
"type": "noul",
"instructions": "Does this ticket need immediate escalation?",
"criteria": {
"true": "An active service outage blocks the customer from working.",
"false": "The customer can continue working or has a workaround."
}
}
}
Вопросы выбора
Используйте choice для выбора одной метки из набора именованных критериев.
Требуемый criteria объект отображает от 1 до 255 непустых меток в описания. Каждое описание может быть строкой, объектом JSON, массивом JSON или null. Используйте null тогда, когда только этикетка описывает выбор.
{
"team": {
"type": "choice",
"instructions": "Which team should handle this ticket?",
"criteria": {
"shipping": "Delivery or shipment issues",
"billing": "Payment or invoice issues",
"technical_support": "Product technical problems"
}
}
}
Вопросы по баллам
Используйте score для оценки состояния по упорядоченной шкале.
Требуемый criteria массив содержит от 2 до 10 описаний, упорядоченных от самого низкого к наибольшему. Каждое описание может быть строкой, JSON-объектом или массивом JSON. Первый критерий имеет индекс 0, следующий — индекс 1, и так далее.
В результате получается взвешенное по вероятности среднее значения этих индексов. Он может быть дробным и варьируется от 0 числа критериев минус один. Например, вероятности 0.1, 0.3, и 0.6 по трём критериям дают оценку 1.5.
{
"urgency": {
"type": "score",
"instructions": "How urgent is this ticket?",
"criteria": [
"Routine request with no time pressure",
"Time-sensitive issue with a workaround",
"Critical issue that blocks the customer"
]
}
}
Returns
Возвращает a VARIANT с полями response, metadata, и error_message. Поле response содержит answers объект с одной записью на каждый вопрос. Идентификаторы вопросов точно совпадают с теми, что questions указаны в параметре. Каждый ответ содержит type поле, соответствующее типу вопроса: noul, choice, или score. Следующие примеры показывают response поле для каждого типа вопроса:
Вопросы Нуля: A
probabilityот 0 до 1 оценивает вероятность истинности вопроса.{ "answers": { "needs_escalation": { "type": "noul", "probability": 0.1 } } }Вопросы выбора: A,
choiceсодержащий метку с наибольшей вероятностью, иprobabilitiesобъект, сопоставляющий каждую метку с её вероятностью.confidenceэто число от 0 до 1, указывающее на то, насколько хорошо штат поддерживает оценку. Суммируютсяprobabilitiesзначения в 1. Имена ярлыков точно совпадают с теми, что приведены вcriteria.{ "answers": { "team": { "type": "choice", "choice": "shipping", "probabilities": { "shipping": 0.8, "billing": 0.1, "technical_support": 0.1 }, "confidence": 0.9 } } }Вопросы по оценке: A,
scoreсодержащие взвешенное по вероятности среднее индексов критериев, alegendотображает индексы строк (например"0", ) с исходными описаниями критериев иprobabilitiesобъект, отображающий эти индексы с вероятностями.confidenceэто число от 0 до 1, указывающее на то, насколько хорошо штат поддерживает оценку. Суммируютсяprobabilitiesзначения в 1.{ "answers": { "urgency": { "type": "score", "score": 1.5, "legend": { "0": "Routine request with no time pressure", "1": "Time-sensitive issue with a workaround", "2": "Critical issue that blocks the customer" }, "probabilities": { "0": 0.1, "1": 0.3, "2": 0.6 }, "confidence": 0.8 } } }
При успехе metadata.version определяется используемая версия функции и error_message равна null.
При неудаче — response есть null и error_message описывает неудачу. Неправильные типы аргументов или непостоянные определения вопросов также могут вызывать ошибки запросов.
Examples
Следующий пример показывает, как оценивать несколько вопросов за один звонок. Генерированные ответы могут различаться между звонками.
Оценивайте несколько типов вопросов
В этом примере оценивается список товаров по категории, использованию переработанных материалов и пригодности для походов в дождливую погоду:
SELECT ai_decide(
'{"name": "TrailShell jacket", "description": "Lightweight waterproof hiking jacket made from recycled polyester. Packs into its own pocket."}',
'{
"category": {
"type": "choice",
"instructions": "Which product category best fits this item?",
"criteria": {
"outerwear": "Jackets, coats, and other protective outer layers",
"footwear": "Shoes, boots, and sandals",
"accessories": "Bags, hats, and other accessories"
}
},
"recycled_materials": {
"type": "noul",
"instructions": "Does the listing state that the product uses recycled materials?"
},
"hiking_suitability": {
"type": "score",
"instructions": "How suitable is this product for hiking in rainy weather?",
"criteria": [
"Not suitable for outdoor use in rain",
"Offers some protection from rain",
"Designed for hiking with waterproof protection"
]
}
}',
map('version', '1.0')
) AS decision;
Пример ответа:
{
"response": {
"answers": {
"category": {
"type": "choice",
"choice": "outerwear",
"probabilities": { "outerwear": 0.95, "footwear": 0.01, "accessories": 0.04 },
"confidence": 0.95
},
"recycled_materials": { "type": "noul", "probability": 0.98 },
"hiking_suitability": {
"type": "score",
"score": 1.8,
"legend": {
"0": "Not suitable for outdoor use in rain",
"1": "Offers some protection from rain",
"2": "Designed for hiking with waterproof protection"
},
"probabilities": { "0": 0.05, "1": 0.1, "2": 0.85 },
"confidence": 0.9
}
}
},
"metadata": { "version": "1.0" },
"error_message": null
}