Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Important
Deze functie bevindt zich in de bètaversie.
De ai_decide() functie beoordeelt één of meer vragen aan de hand van tekst of gestructureerde data. Voor elke vraag levert het ofwel een waarschijnlijkheid, een keuze uit benoemde criteria, of een score op een geordende schaal op. Gebruik het om supporttickets te routeren, te beoordelen of een evenement aandacht nodig heeft, of om werk te prioriteren met een door jou gedefinieerde rubric.
Alle vragen in een gesprek gebruiken dezelfde invoer, genaamd state. Je kunt verschillende vraagtypes in één call combineren en de teruggegeven antwoorden gebruiken in downstream SQL-zoekopdrachten.
Gegevensbeveiliging
Uw documentgegevens worden verwerkt binnen de Databricks-beveiligingsperimeter. Databricks slaat de parameters die aan de AI-functieaanroepen worden doorgegeven niet op, maar behoudt wel details van de uitvoering van metadata, zoals de gebruikte Databricks Runtime-versie.
Requirements
Apache 2.0-licentie
De onderliggende modellen die op dit moment kunnen worden gebruikt, hebben een licentie onder de Apache 2.0-licentie, Copyright © The Apache Software Foundation. Klanten zijn verantwoordelijk voor het garanderen van naleving van toepasselijke modellicenties.
Databricks raadt aan deze licenties te controleren om ervoor te zorgen dat alle toepasselijke voorwaarden worden nageleefd. Als modellen in de toekomst beter presteren volgens de interne benchmarks van Databricks, kan Databricks het model (en de lijst met toepasselijke licenties op deze pagina) wijzigen.
Het model dat deze functie mogelijk maakt, wordt beschikbaar gesteld met behulp van Model Serving Foundation Model-API's. Zie Toepasselijke modelvoorwaarden voor informatie over welke modellen beschikbaar zijn in Databricks en de licenties en beleidsregels die het gebruik van deze modellen bepalen.
Als er modellen ontstaan die beter presteren volgens de interne benchmarks van Azure Databricks, kan Databricks de modellen wijzigen en de documentatie bijwerken.
Deze functie is alleen beschikbaar in sommige regio's, zie beschikbaarheid van AI-functies.
Voor werkruimten met de invoegtoepassing Verbeterde beveiliging en naleving,
- Bekijk de regionale ondersteuning voor
ai_decidevoor de juiste compliancestandaard. - Zie Azure Databricks-previews beheren voor informatie over het inschakelen ervan in uw werkruimte.
- Bekijk de regionale ondersteuning voor
Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
Databricks Runtime 15.4 LTS of hoger is vereist. Databricks Runtime 18.2 of hoger wordt aanbevolen voor de beste prestaties en toegang tot de nieuwste functies.
Controleer de pagina met prijzen voor Databricks SQL.
Syntaxis
ai_decide(state, questions [, options])
Arguments
state: EenVARIANTof uitdrukkingSTRINGmet de inhoud, context en voorbeelden die nodig zijn om de vragen te beantwoorden. De waarde kan per rij variëren. Accepteert ofwel:- Een
STRINGmet platte tekst of een JSON-gecodeerd object of array. JSON-objecten en arrays worden geïnterpreteerd als gestructureerde data. Andere strings worden als tekst behandeld. - Een
VARIANTfunctie die wordt geproduceerd door een andere AI-functie (zoalsai_parse_documentofai_extract)
- Een
questions: Een constanteSTRINGexpressie die een niet-leeg JSON-object bevat. Elke sleutel is een niet-lege vraag-ID, en elke waarde is een vraagdefinitie. Dezelfde definities gelden voor elke rij. Zie definities van vragen.options: Een optionele constanteMAP<STRING, STRING>uitdrukking. De ondersteunde optie isversion, met de waarde'1.0'. Versie 1.0 is de standaardversie. Om het expliciet te specificeren, gebruikmap('version', '1.0').
Vraagdefinities
Elke vraagdefinitie vereist type en instructions, plus criteria wanneer vereist door het vraagtype. Vereiste velden kunnen niet .null Andere velden worden niet ondersteund.
-
type: Een vannoul,choiceofscore. -
instructions: Instructies voor het evalueren van de toestand, uitgedrukt als een string, JSON-object of JSON-array. -
criteria: De beschrijvingen die bepalen hoe te antwoorden. De vereiste vorm hangt af vantype.
Noul-vragen
Gebruik noul dit om de kans te schatten dat een vraag waar is. Het resultaat is een getal van 0 tot 1.
Het optionele criteria object kan en false sleutels bevatten true om die uitkomsten te beschrijven. Elke beschrijving kan een string, JSON-object of JSON-array zijn. Laat deze beschrijvingen criteria weg als je deze beschrijvingen niet nodig hebt. Als geleverd is, criteria moet een object zijn en kan het niet zijn 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."
}
}
}
Keuzevragen
Gebruik choice om één label te selecteren uit een set benoemde criteria.
Het vereiste criteria object koppelt 1 tot 255 niet-lege labels aan beschrijvingen. Elke beschrijving kan een string, JSON-object, JSON-array of null. zijn. Gebruik null wanneer alleen het label de keuze beschrijft.
{
"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"
}
}
}
Scorevragen
Gebruik score het om de toestand te evalueren aan de hand van een geordende schaal.
De vereiste criteria array bevat 2 tot 10 beschrijvingen, geordend van laagst naar hoogst. Elke beschrijving kan een string, JSON-object of JSON-array zijn. Het eerste criterium heeft een index 0, het volgende heeft een index 1, enzovoort.
Het resultaat is het waarschijnlijkheidsgewogen gemiddelde van deze indices. Het kan fractioneel zijn en varieert van 0 het aantal criteria min één. Bijvoorbeeld, kansen van 0.1, , en 0.6 over drie criteria leveren een score van 1.50.3op.
{
"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
Geeft a VARIANT terug met de velden response, metadata, en error_message. Het response veld bevat een answers object met één vermelding per vraag. Vraag-ID's komen exact overeen met die in de questions parameter worden gegeven. Elk antwoord bevat een type veld dat overeenkomt met het vraagtype: noul, choice, , of score. De volgende voorbeelden tonen het response veld voor elk vraagtype:
Noul-vragen: A
probabilityvan 0 naar 1 die de kans schat dat de vraag waar is.{ "answers": { "needs_escalation": { "type": "noul", "probability": 0.1 } } }Keuzevragen: A
choicebevat het label met de hoogste kans en eenprobabilitiesobject dat elk label aan zijn kans koppelt.confidenceis een getal van 0 tot 1 dat aangeeft hoe goed de staat de beoordeling ondersteunt. Deprobabilitieswaarden tellen op tot 1. Labelnamen komen exact overeen met die incriteria.{ "answers": { "team": { "type": "choice", "choice": "shipping", "probabilities": { "shipping": 0.8, "billing": 0.1, "technical_support": 0.1 }, "confidence": 0.9 } } }Scorevragen: A met
scorehet door kansgewogen gemiddelde van de criteriumindices, eenlegendkoppeling van stringindices (zoals"0") aan de oorspronkelijke criteriebeschrijvingen, en eenprobabilitiesobject dat deze indices naar kansen afbeeldt.confidenceis een getal van 0 tot 1 dat aangeeft hoe goed de staat de beoordeling ondersteunt. Deprobabilitieswaarden tellen op tot 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 } } }
Bij succes metadata.version identificeert de gebruikte functieversie en error_message is null.
Bij falen response is null en error_message beschrijft het falen. Ongeldige argumenttypes of niet-constante vraagdefinities kunnen ook fouten in zoekopdrachten veroorzaken.
Voorbeelden
Het volgende voorbeeld laat zien hoe je meerdere vragen in één gesprek kunt evalueren. Gegenereerde antwoorden kunnen per gesprek verschillen.
Evalueer meerdere vraagtypes
Dit voorbeeld beoordeelt een productlijst op zijn categorie, gebruik van gerecyclede materialen en geschiktheid voor wandelen bij regenachtig weer:
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;
Voorbeeldantwoord:
{
"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
}