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.
Gäller för:✅ SQL-analysslutpunkt och lager i Microsoft Fabric
Viktigt!
Den här funktionen är i förhandsversion.
Fabric Data Warehouse och SQL-analysslutpunkten tillhandahåller inbyggda AI-funktioner som du kan använda för att analysera, klassificera, sammanfatta och transformera text direkt i SQL-frågor. Med hjälp av dessa funktioner kan du utföra avancerad textbearbetning utan att lämna datamiljön. I den här självstudien lär du dig hur du använder AI-funktioner för att transformera text.
| Function | Avsikt | Syntaxexempel |
|---|---|---|
AI_ANALYZE_SENTIMENT |
Identifiera attityd för indatatext | AI_ANALYZE_SENTIMENT(<text>) |
AI_CLASSIFY |
Klassificera text baserat på angivna etiketter | AI_CLASSIFY(<text>, <class1>, <class2>, ...) |
AI_EXTRACT |
Extrahera entiteter som JSON-egenskaper | AI_EXTRACT(<text>, <class1>, <class2>, ...) |
AI_SUMMARIZE |
Sammanfatta text | AI_SUMMARIZE(<text>) |
AI_GENERATE_RESPONSE |
Generera svar baserat på fråga | AI_GENERATE_RESPONSE(<prompt>, <data>) |
AI_TRANSLATE |
Översätta indatatext till det angivna målspråket | AI_TRANSLATE(<text>, <lang_code>) |
AI_FIX_GRAMMAR |
Korrigera grammatik i texten | AI_FIX_GRAMMAR(<text>) |
Dessa funktioner anropar externa AI-API:er för att bearbeta text, vilket kan påverka frågeprestanda. Undvik att använda repetitiva texttransformeringar i SELECT frågor på samma datauppsättning för att optimera effektiviteten. I stället kan du förberäkna och generera resultatet av AI-funktioner som separata kolumner eller i temporära tabeller.
Varning
Funktionerna returnerar NULL om AI-modellen inte kan bearbeta texten. Vanliga orsaker:
- Ansvarsfulla AI-regler blockerar olämpligt innehåll i indatatexten.
- Indatatexten överskrider tokengränserna. Den aktuella modellen stöder upp till 15 kB text.
Typisk bearbetningshastighet för AI-funktioner är 20–100 rader per sekund. Om du får långsammare prestanda rapporterar du den problematiska frågan som ett problem.
Prerequisites
- Om du vill använda AI-funktioner med den inbyggda AI-slutpunkten i Fabric måste administratören aktivera klientväxeln för Copilot och andra funktioner som drivs av Azure OpenAI.
- Beroende på var du befinner dig kan du behöva aktivera en klientinställning för bearbetning över geografiska områden. Läs mer om tillgängliga regioner för Azure OpenAI Service.
- Du behöver en betald Fabric-kapacitet (F2 eller högre, eller någon P-version).
- Du kan endast använda AI-funktioner i regioner som stöds.
Kontrollera kraven för AI-funktionerna för ytterligare krav.
Analysera sentiment
Funktionen AI_ANALYZE_SENTIMENT(text) analyserar sentiment från indata text och returnerar något av följande värden: positive, negative, mixed, eller neutral.
Ett exempel:
SELECT AI_ANALYZE_SENTIMENT('This hotel was great!') AS sentiment;
Förväntat resultat:positive
Mer information finns i AI_ANALYZE_SENTIMENT (Transact-SQL).
Klassificera text
Funktionen AI_CLASSIFY(text, class1, class2, ...) klassificerar indata text i någon av de angivna kategorierna.
Ett exempel:
SELECT AI_CLASSIFY('Room was dirty', 'service','dirt','food') AS classification;
Förväntat resultat:dirt
Mer information finns i AI_CLASSIFY (Transact-SQL).
Extrahera entiteter från text
Funktionen AI_EXTRACT(text, class1, class2, ...) extraherar entiteter från indata text baserat på de angivna klasserna.
Ett exempel:
SELECT AI_EXTRACT('Check-in was late and room dirty', 'sentiment','problem') AS extraction;
Förväntat resultat:{"sentiment":"Negative","problem":"Dirty room"}
Mer information finns i AI_EXTRACT (Transact-SQL).
Generera svar
Funktionen AI_GENERATE_RESPONSE(prompt, data) genererar ett svar baserat på en given prompt och valfri data.
Ett exempel:
SELECT AI_GENERATE_RESPONSE('Reply in 20 words:', 'The room was noisy.') AS response;
Förväntat resultat: "Vi ber uppriktigt om ursäkt för de olägenheter som orsakas av bullret och är fast beslutna att förbättra våra ljudisoleringsåtgärder."
Mer information finns i AI_GENERATE_RESPONSE (Transact-SQL).
Sammanfatta text
Funktionen AI_SUMMARIZE(text) sammanfattar indata text i en kortfattad version.
Ett exempel:
SELECT AI_SUMMARIZE('The hotel was clean and staff were friendly.') AS summary;
Förväntat resultat: "Rent hotell, vänlig personal."
Mer information finns i AI_SUMMARIZE (Transact-SQL).
Översätta text
Funktionen AI_TRANSLATE(text, lang_code) översätts text till det angivna språket med hjälp av lang_code.
Språkkoder som stöds är de (tyska), en (engelska), fr (franska), it (italienska), es (spanska), el (grekiska), pl (polska), sv (svenska), fi (finska) och cs (tjeckiska).
Ett exempel:
SELECT AI_TRANSLATE('The hotel was great','de') AS translation_de;
Förväntat resultat: Das Hotel war großartig.
Mer information finns i AI_TRANSLATE (Transact-SQL).
Åtgärda grammatik
Funktionen AI_FIX_GRAMMAR(text) korrigerar grammatik i indata text.
Ett exempel:
SELECT AI_FIX_GRAMMAR('Th room are clean and staff were nice') AS fixed_text;
Förväntat resultat: "Rummet var rent och personalen var trevlig."
Mer information finns i AI_FIX_GRAMMAR (Transact-SQL).
Hantering av fel
AI-funktioner återvänder NULL när ett fel uppstår under textbearbetningen. Fel kan orsakas av säkerhetskontroller från Responsible AI som upptäcker otillåtet innehåll, indata som överskrider tokengränser, problem med tillfälliga tjänster eller andra bearbetningsfel.
Som standard använder AI-funktioner en bäst-ansträngningsmodell och returnerar NULL vid misslyckade förfrågningar. Detta beteende är utformat för att förhindra att fel som påverkar enskilda rader gör att en hel fråga misslyckas. När tusentals rader behandlas genom en extern stor språkmodell (LLM) bör ett fel på ett enda värde inte förhindra att framgångsrika resultat returneras för de återstående raderna. Detta beteende säkerställer också att framgångsrikt behandlade förfrågningar inte går förlorade och inte behöver upprepas.
Inspektera rader som returnerades NULL, fastställ orsaken till felet och försök endast om dessa specifika värden.
Du kan åsidosätta standardbeteendet genom att specificera en ON ERROR klausul i varje funktionsanrop:
-
NULL ON ERROR(default) returnerarNULLnär funktionen inte kan bearbeta ett värde. -
ERROR ON ERRORfår hela frågan att misslyckas om ett fel uppstår i något funktionsanrop. -
DEFAULT <value> ON ERRORreturnerar det angivna standardvärdet istället förNULLnär ett fel uppstår.
Följande exempel visar de tillgängliga felhanteringsalternativen:
SELECT
*,
AI_FIX_GRAMMAR(review_text NULL ON ERROR) AS fixed_text,
AI_EXTRACT(review_text, 'sentiment', 'problem' ERROR ON ERROR) AS info*
AI_CLASSIFY(review_text, 'service', 'dirt', 'food' DEFAULT 'Other' ON ERROR) AS classification
FROM hotel_reviews;
I det här exemplet:
-
AI_FIX_GRAMMARreturnerarNULLför värden som den inte kan bearbeta. Eftersom returNULLär standardbeteendet för felhantering är klausulenNULL ON ERRORvalfri. -
AI_EXTRACTmisslyckas hela frågan om någon cell stöter på ett fel. -
AI_CLASSIFYreturnerarOtherför celler som den inte kan klassificera.
Anmärkningar
AI-funktioner kan returnera fel eller uppleva långsammare prestanda än förväntat av flera orsaker:
- Se till att du uppfyller alla nödvändiga krav innan du använder AI-funktioner. Om en förutsättning saknas returnerar funktionen ett fel.
- Om indatatexten inte kan bearbetas – till exempel eftersom den överskrider tokengränser, innehåller begränsat eller stötande innehåll eller på annat sätt bryter mot tjänstprinciper – returnerar
NULLfunktionen . Kontrollera alltid om returvärdet ärNULLoch hantera detta fall på lämpligt sätt i dina frågor, applikationer eller databearbetningsflöden. - Prestanda beror på indatastorlek, indatakomplexitet och övergripande tjänstbelastning. Enskilda textvärden bearbetas vanligtvis inom några sekunder, medan större batchar kan uppnå dataflöde på cirka 10–30 textvärden per sekund. Om du konsekvent får långsammare prestanda än förväntat kan det finnas ett tjänst- eller konfigurationsproblem som påverkar bearbetningens dataflöde.
Om du stöter på ett problem med AI-funktioner i Fabric Data Warehouse eller en SQL-analys-slutpunkt:
- Skapa ett supportärende via Microsoft support, eller
- Dela feedback, ställ frågor eller diskutera problem med communityn i AI-funktionerna i Microsoft Fabric Data Warehouse subreddit.
Exempel
A. Importera data och transformera textkolumn med hjälp av AI-funktioner
Det här exemplet läser in data från en Lakehouse-fil till hotel_reviews tabellen i lagret.
Den väljer från en fil i /Files avsnittet och tillämpar sedan AI-funktionerna för att utöka data:
CREATE TABLE HotelDW.dbo.hotel_reviews
AS
SELECT
city, latitude, longitude, name, reviews_rating, reviews_text,
AI_SUMMARIZE(reviews_text) AS reviews_summary,
AI_CLASSIFY( reviews_text, 'service', 'dirt', 'food', 'air conditioning', 'other') AS reviews_classification,
AI_ANALYZE_SENTIMENT(reviews_text) AS reviews_sentiment,
AI_TRANSLATE(reviews_text, 'de') AS reviews_text_de,
AI_TRANSLATE(reviews_text, 'es') AS reviews_text_es,
AI_TRANSLATE(reviews_text, 'fr') AS reviews_text_fr,
AI_TRANSLATE(reviews_text, 'it') AS reviews_text_it
FROM OPENROWSET( BULK '/Files/csv/hotel_reviews_demo.csv', DATA_SOURCE = 'TextLakehouse', HEADER_ROW = TRUE);
B. Uppdatera textkolumnen med hjälp av AI-funktionen
I följande exempel åtgärdas grammatikfelen reviews_text i kolumnen:
UPDATE HotelDW.dbo.hotel_reviews
SET reviews_text = ISNULL(AI_FIX_GRAMMAR(reviews_text), reviews_text);
AI-funktionerna kan returneras NULL om ett fel inträffar, så undvik att skriva över befintliga värden med NULL.
ISNULL(<ai function>, <original value>) Använd mönstret för att bevara den ursprungliga texten när AI-funktioner inte kan returnera resultat.
C. Extrahera värden från text
I det här exemplet AI_EXTRACT analyserar funktionen granskningstexten och returnerar ett JSON-objekt som innehåller egenskaperna sentiment, time_reportedoch problem. Funktionen OPENJSON parsar sedan denna JSON och mappar dessa egenskaper till separata kolumner för enkel frågekörning och analys.
Det här exempelskriptet infogar de extraherade värdena som separata kolumner i måltabellen.
INSERT INTO gold.hotel_reviews
SELECT sentiment, time_reported, problem
FROM hotel_reviews
CROSS APPLY
OPENJSON(
AI_EXTRACT(reviews_text, 'sentiment', 'time_reported', 'problem')
) WITH ( sentiment VARCHAR(1000), time_reported VARCHAR(100), problem VARCHAR(1000) );
Funktionen AI_EXTRACT tillämpar fuzzy kontextuella regler för att identifiera och extrahera ämnen från text utan att kräva manuell parsning eller komplexa reguljära uttryck. Den här metoden förenklar textanalysen med hjälp av AI-driven semantisk förståelse snarare än stel mönstermatchning, vilket gör den mer robust och anpassningsbar för variationer i naturligt språk.