Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime
Importante
Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.
A ai_decide() função avalia uma ou mais perguntas com base em texto ou dados estruturados. Para cada pergunta, retorna uma probabilidade, uma escolha entre critérios nomeados ou uma pontuação em uma escala ordenada. Use-o para encaminhar chamados de suporte, avaliar se um evento precisa de atenção ou priorizar o trabalho usando uma rubrica que você definir.
Todas as perguntas em uma chamada usam a mesma entrada, chamada state. Você pode combinar diferentes tipos de perguntas em uma única chamada e usar as respostas retornadas em consultas SQL posteriores.
Segurança de dados
Os dados do documento são processados dentro do perímetro de segurança do Databricks. O Databricks não armazena os parâmetros que são passados para as chamadas de função de IA, mas mantém detalhes de execução de metadados, como a versão de Runtime do Databricks utilizada.
Requisitos
Licença do Apache 2.0
Os modelos subjacentes que podem ser usados neste momento são licenciados sob a Licença do Apache 2.0, direitos autorais © do Apache Software Foundation. Os clientes são responsáveis por garantir a conformidade com as licenças de modelo aplicáveis.
O Databricks recomenda revisar essas licenças para garantir a conformidade com quaisquer termos aplicáveis. Se surgirem modelos no futuro com melhor desempenho de acordo com os parâmetros de comparação internos do Databricks, o Databricks poderá alterar o modelo (e a lista de licenças aplicáveis fornecidas nesta página).
O modelo que alimenta essa função é disponibilizado usando AS APIs de modelo do Model Serving Foundation. Consulte os termos de modelo aplicáveis para obter informações sobre quais modelos estão disponíveis no Databricks e as licenças e políticas que regem o uso desses modelos.
Se surgirem modelos com melhor desempenho de acordo com os parâmetros de comparação internos da Azure Databricks, o Databricks poderá alterar os modelos e atualizar a documentação.
Essa função só está disponível em algumas regiões, consulte a disponibilidade da função de IA.
Para workspaces com o complemento segurança e conformidade aprimorados,
- Consulte o suporte regional para
ai_decideobter o padrão de conformidade apropriado. - Consulte Gerenciar versões prévias do Azure Databricks para saber como habilitá-las no seu workspace.
- Consulte o suporte regional para
Essa função não está disponível no SQL Clássico do Azure Databricks.
É necessário o Databricks Runtime 15.4 LTS ou posterior. O Databricks Runtime 18.2 ou superior é recomendado para o melhor desempenho e acesso aos recursos mais recentes.
Verifique a página de preços do Databricks SQL.
Sintaxe
ai_decide(state, questions [, options])
Arguments
state: AVARIANTouSTRINGexpressão contendo o conteúdo, contexto e exemplos necessários para responder às perguntas. O valor pode variar de linha para linha. Aceita um:- Um contendo
STRINGtexto simples ou um objeto ou array codificado em JSON. Objetos e arrays JSON são interpretados como dados estruturados. Outras cadeias são tratadas como texto. - Uma
VARIANTproduzida por outra função de IA (comoai_parse_documentouai_extract)
- Um contendo
questions: Uma expressão constanteSTRINGcontendo um objeto JSON não vazio. Cada chave é um ID de pergunta não vazio, e cada valor é uma definição de pergunta. As mesmas definições se aplicam a todas as linhas. Veja definições de perguntas.options: Uma expressão constanteMAP<STRING, STRING>opcional. A opção suportada éversion, com o valor'1.0'. A versão 1.0 é a padrão. Para especificar explicitamente, usemap('version', '1.0').
Definições de perguntas
Cada definição de pergunta requer type e instructions, mais criteria quando exigido pelo tipo de pergunta. Campos obrigatórios não podem ser null. Outros campos não são suportados.
-
type: um denoul,choiceouscore. -
instructions: Instruções para avaliar o estado, expressas como uma string, objeto JSON ou array JSON. -
criteria: As descrições que definem como responder. A forma necessária depende detype.
Noul pergunta
Use noul para estimar a probabilidade de que uma pergunta seja verdadeira. O resultado é um número de 0 a 1.
O objeto opcional criteria pode conter true chaves e false para descrever esses resultados. Cada descrição pode ser uma string, objeto JSON ou array JSON. Omita criteria quando não precisar dessas descrições. Se fornecido, criteria deve ser um objeto e não pode ser 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."
}
}
}
Perguntas de escolha
Use choice para selecionar um rótulo entre um conjunto de critérios nomeados.
O objeto necessário criteria mapeia de 1 a 255 rótulos não vazios para descrições. Cada descrição pode ser uma string, objeto JSON, array JSON ou null. Use null quando o rótulo sozinho descreve a escolha.
{
"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"
}
}
}
Perguntas sobre pontuação
Use score para avaliar o estado em relação a uma escala ordenada.
O array necessário criteria contém de 2 a 10 descrições, ordenadas do menor ao mais alto. Cada descrição pode ser uma string, objeto JSON ou array JSON. O primeiro critério tem índice 0, o próximo tem índice 1, e assim por diante.
O resultado é a média ponderada pela probabilidade desses índices. Pode ser fracional e varia de 0 até o número de critérios menos um. Por exemplo, probabilidades de 0.1, , e 0.6 em três critérios produzem uma pontuação de 1.50.3.
{
"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
Retorna a VARIANT com os campos response, metadata, e error_message. O response campo contém um answers objeto com uma entrada por pergunta. Os IDs das perguntas correspondem exatamente aos fornecidos no questions parâmetro. Cada resposta inclui um type campo que corresponde ao tipo de pergunta: noul, choice, ou score. Os exemplos a seguir mostram o response campo para cada tipo de questão:
Perguntas de Noul: A
probabilityde 0 a 1 estimando a probabilidade de a pergunta ser verdadeira.{ "answers": { "needs_escalation": { "type": "noul", "probability": 0.1 } } }Perguntas de escolha: A contendo
choiceo rótulo com maior probabilidade e umprobabilitiesobjeto mapeando cada rótulo à sua probabilidade.confidenceé um número de 0 a 1 que indica o quanto o estado apoia a avaliação. Osprobabilitiesvalores somam 1. Os nomes das etiquetas correspondem exatamente aos fornecidos emcriteria.{ "answers": { "team": { "type": "choice", "choice": "shipping", "probabilities": { "shipping": 0.8, "billing": 0.1, "technical_support": 0.1 }, "confidence": 0.9 } } }Perguntas de pontuação: A
scorecontendo a média ponderada por probabilidade dos índices critério, umalegendcadeia de mapeamento dos índices (como"0") para as descrições originais do critério, e umprobabilitiesobjeto mapeando esses índices para probabilidades.confidenceé um número de 0 a 1 que indica o quanto o estado apoia a avaliação. Osprobabilitiesvalores somam 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 } } }
Em caso de sucesso, metadata.version identifica a versão da função usada e error_message é null.
Sobre a falha, response é null e error_message descreve a falha. Tipos de argumentos inválidos ou definições de perguntas não constantes também podem causar erros de consulta.
Exemplos
O exemplo a seguir mostra como avaliar várias perguntas em uma única chamada. As respostas geradas podem variar entre as ligações.
Avalie vários tipos de perguntas
Este exemplo avalia uma lista de produto para sua categoria, uso de materiais reciclados e adequação para trilhas em tempo chuvoso:
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;
Resposta de exemplo:
{
"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
}