Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
gäller för:
Databricks SQL
Databricks Runtime
Important
Den här funktionen finns i Beta.
Funktionen ai_decide() utvärderar en eller flera frågor mot text eller strukturerad data. För varje fråga returneras antingen en sannolikhet, ett val från namngivna kriterier eller en poäng på en ordnad skala. Använd den för att skicka supportärenden, bedöma om ett evenemang behöver uppmärksamhet eller prioritera arbetet med hjälp av en bedömningsmall du själv bestämmer.
Alla frågor i ett samtal använder samma inmatning, kallad state. Du kan kombinera olika frågetyper i ett samtal och använda de returnerade svaren i nedströms SQL-frågor.
Datasäkerhet
Dina dokumentdata bearbetas inom Databricks säkerhetsperimeter. Databricks lagrar inte parametrarna som skickas till AI-funktionsanropen, men behåller metadata-kördetaljer, såsom Databricks Runtime-versionen som används.
Requirements
Apache 2.0-licens
De underliggande modeller som kan användas just nu är licensierade under Apache 2.0-licensen, Copyright © Apache Software Foundation. Kunderna ansvarar för att säkerställa efterlevnaden av tillämpliga modelllicenser.
Databricks rekommenderar att du granskar dessa licenser för att säkerställa efterlevnad av tillämpliga villkor. Om modeller dyker upp i framtiden som presterar bättre enligt Databricks interna riktmärken kan Databricks ändra modellen (och listan över tillämpliga licenser som tillhandahålls på den här sidan).
Den modell som driver den här funktionen görs tillgänglig med hjälp av API:er för Modellserver foundation-modell. Se Tillämpliga modellvillkor för information om vilka modeller som är tillgängliga på Databricks och de licenser och principer som styr användningen av dessa modeller.
Om modeller dyker upp som presterar bättre enligt Azure Databricks interna riktmärken kan Databricks ändra modellerna och uppdatera dokumentationen.
Den här funktionen är endast tillgänglig i vissa regioner, se TILLGÄNGLIGHET för AI-funktioner.
För arbetsytor med tillägget Förbättrad säkerhet och efterlevnad
- Se regionalt stöd för
ai_decidelämplig efterlevnadsstandard. - Se Hantera Azure Databricks förhandsversioner för hur du aktiverar den på din arbetsyta.
- Se regionalt stöd för
Den här funktionen är inte tillgänglig i Azure Databricks SQL Classic.
Databricks Runtime 15.4 LTS eller högre krävs. Databricks Runtime 18.2 eller högre rekommenderas för bästa prestanda och tillgång till de senaste funktionerna.
Kontrollera prissättningssidan för Databricks SQL.
Syntax
ai_decide(state, questions [, options])
Arguments
state: EttVARIANTellerSTRINGuttryck som innehåller innehåll, kontext och exempel som behövs för att besvara frågorna. Värdet kan variera mellan rader. Accepterar antingen:- En som
STRINGinnehåller klartext eller ett JSON-kodat objekt eller array. JSON-objekt och arrayer tolkas som strukturerad data. Andra strängar behandlas som text. - En
VARIANTsom produceras av en annan AI-funktion (till exempelai_parse_documentellerai_extract)
- En som
questions: Ett konstantSTRINGuttryck som innehåller ett icke-tomt JSON-objekt. Varje nyckel är ett icke-tomt fråge-ID, och varje värde är en frågedefinition. Samma definitioner gäller för varje rad. Se Frågedefinitioner.options: Ett valfritt konstantMAP<STRING, STRING>uttryck. Det stödda alternativet ärversion, med värdet'1.0'. Version 1.0 är standard. För att specificera det explicit, användmap('version', '1.0').
Frågedefinitioner
Varje frågedefinition kräver type och instructions, plus criteria när det krävs av frågetypen. Obligatoriska fält kan inte vara null. Andra fält stöds inte.
-
type: En avnoul,choiceellerscore. -
instructions: Instruktioner för att utvärdera tillståndet, uttryckt som en sträng, JSON-objekt eller JSON-array. -
criteria: Beskrivningarna som definierar hur man ska svara. Den nödvändiga formen beror påtype.
Noul-frågor
Använd noul för att uppskatta sannolikheten att en fråga är sann. Resultatet är ett tal från 0 till 1.
Det valfria criteria objektet kan innehålla true och false nycklar för att beskriva dessa utfall. Varje beskrivning kan vara en sträng, ett JSON-objekt eller en JSON-array. Utelämna criteria när du inte behöver dessa beskrivningar. Om tillhandahållet criteria måste vara ett objekt och kan inte vara 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."
}
}
}
Valfrågor
Använd choice för att välja en etikett från en uppsättning namngivna kriterier.
Det nödvändiga criteria objektet mappar 1 till 255 icke-tomma etiketter till beskrivningar. Varje beskrivning kan vara en sträng, ett JSON-objekt, en JSON-array eller null. Använd null när etiketten ensam beskriver valet.
{
"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"
}
}
}
Poängfrågor
Använd score för att utvärdera tillståndet mot en ordnad skala.
Den nödvändiga criteria matrisen innehåller 2 till 10 beskrivningar, ordnade från lägst till högst. Varje beskrivning kan vara en sträng, ett JSON-objekt eller en JSON-array. Det första kriteriet har index 0, nästa har index 1, och så vidare.
Resultatet är det sannolikhetsviktade medelvärdet av dessa index. Den kan vara fraktionell och varierar från 0 antalet kriterier minus ett. Till exempel ger sannolikheterna för 0.1, , och 0.6 över tre kriterier ett värde på 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
Returnerar a VARIANT med fälten response, metadata, och error_message. Fältet response innehåller ett answers objekt med en post per fråga. Fråge-ID:n matchar exakt de som anges i parametern questions . Varje svar innehåller ett type fält som matchar frågetypen: noul, , choiceeller score. Följande exempel visar response fältet för varje frågetyp:
Noul-frågor: A
probabilityfrån 0 till 1 som uppskattar sannolikheten att frågan är sann.{ "answers": { "needs_escalation": { "type": "noul", "probability": 0.1 } } }Valfrågor: A
choicesom innehåller etiketten med högst sannolikhet och ettprobabilitiesobjekt som mappar varje etikett till dess sannolikhet.confidenceär ett tal från 0 till 1 som visar hur väl staten stödjer bedömningen. Värdenaprobabilitiessummeras till 1. Etikettnamnen stämmer exakt överens med de som anges icriteria.{ "answers": { "team": { "type": "choice", "choice": "shipping", "probabilities": { "shipping": 0.8, "billing": 0.1, "technical_support": 0.1 }, "confidence": 0.9 } } }Poängfrågor: A som
scoreinnehåller det sannolikhetsviktade medelvärdet av kriteriindexen, enlegendavbildning av strängindex (såsom"0") till de ursprungliga kriteribeskrivningarna, och ettprobabilitiesobjekt som mappar dessa index till sannolikheter.confidenceär ett tal från 0 till 1 som visar hur väl staten stödjer bedömningen. Värdenaprobabilitiessummeras till 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 } } }
Vid framgång metadata.version identifierar funktionsversionen som används och error_message är null.
Vid misslyckande response är null och error_message beskriver misslyckandet. Ogiltiga argumenttyper eller icke-konstanta frågedefinitioner kan också orsaka frågefel.
Exempel
Följande exempel visar hur man utvärderar flera frågor i ett samtal. Genererade svar kan variera mellan samtal.
Utvärdera flera frågetyper
Detta exempel utvärderar en produktlista utifrån dess kategori, användning av återvunna material och lämplighet för vandring i regnigt väder:
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;
Exempelsvar:
{
"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
}