Del via


Bruk AI-funksjoner (forhåndsvisning)

Gjelder for:✅ SQL Analytics-endepunkt og Warehouse i Microsoft Fabric

Viktig!

Denne funksjonen er i forhåndsversjon.

Fabric Data Warehouse og SQL-analyse-endpoint tilbyr innebygde AI-funksjoner som du kan bruke til å analysere, klassifisere, oppsummere og transformere tekst direkte i SQL-spørringer. Ved å bruke disse funksjonene kan du utføre avansert tekstbehandling uten å forlate datamiljøet ditt. I denne veiledningen lærer du hvordan du bruker AI-funksjoner for å transformere tekst.

Funksjon Formål Syntakseksempel
ai_analyze_sentiment Oppdag sentiment i inndatateksten ai_analyze_sentiment(<text>)
ai_classify Klassifiser tekst basert på oppgitte etiketter ai_classify(<text>, <class1>, <class2>, ...)
ai_extract Trekk ut enheter som JSON-egenskaper ai_extract(<text>, <class1>, <class2>, ...)
ai_summarize Oppsummer tekst ai_summarize(<text>)
ai_generate_response Generer svar basert på prompt ai_generate_response(<prompt>, <data>)
ai_translate Oversett inndatatekst til det angitte målspråket ai_translate(<text>, <lang>)
ai_fix_grammar Korriger grammatikk i teksten ai_fix_grammar(<text>)

Disse funksjonene kaller eksterne AI-API-er for å behandle tekst, noe som kan påvirke spørringsytelsen. For å optimalisere effektiviteten, unngå å bruke repeterende teksttransformasjoner i SELECT spørringer på samme datasett. I stedet, forhåndsberegne og materialisere resultatene av AI-funksjoner som separate kolonner eller i staging-tabeller.

Advarsel!

Funksjonene returneres NULL hvis AI-modellen ikke kan behandle teksten. Vanlige grunner inkluderer:

  • Ansvarlige AI-regler blokkerer upassende innhold i inndatateksten.
  • Inndatateksten overskrider tokengrensene. Den nåværende modellen støtter opptil 15 KB tekst.

Typisk prosesseringshastighet for AI-funksjoner er 20–100 rader per sekund. Hvis du opplever tregere ytelse, rapporter den problematiske søken som et spørsmål.

Sjekk forutsetningene for AI-funksjoner for å aktivere AI-funksjoner i arbeidsplassen din. AI-funksjoner for Azure OpenAI Service er tilgjengelige i noen regioner.

Analyser sentiment

Funksjonen ai_analyze_sentiment(text) analyserer sentiment fra inputen text og returnerer en av følgende verdier: positive, negative, , mixedeller neutral.

Eksempel:

SELECT ai_analyze_sentiment('This hotel was great!') AS sentiment;

Forventet resultat:positive

Klassifisere tekst

Funksjonen ai_classify(text, class1, class2, ...) klassifiserer inputen text i en av de oppgitte kategoriene.

Eksempel:

SELECT ai_classify('Room was dirty', 'service','dirt','food') AS classification;

Forventet resultat:dirt

Trekk ut entiteter fra tekst

Funksjonen ai_extract(text, class1, class2, ...) trekker ut enheter fra input text basert på de spesifiserte klassene.

Eksempel:

SELECT ai_extract('Check-in was late and room dirty', 'sentiment','problem') AS extraction;

Forventet resultat:{"sentiment":"Negative","problem":"Dirty room"}

Generer respons

Funksjonen ai_generate_response(prompt, data) genererer et svar basert på en gitt prompt og valgfri data.

Eksempel:

SELECT ai_generate_response('Reply in 20 words:', 'The room was noisy.') AS response;

Forventet resultat: 'Vi beklager oppriktig ulempen støyen har forårsaket, og er forpliktet til å forbedre våre lydisoleringstiltak.'

Oppsummer tekst

Funksjonen ai_summarize(text) oppsummerer inputen text i en konsis versjon.

Eksempel:

SELECT ai_summarize('The hotel was clean and staff were friendly.') AS summary;

Forventet resultat: 'Rent hotell, vennlig personale.'

Oversette tekst

Funksjonen ai_translate(text, lang_code) oversettes text til det angitte språket ved hjelp av lang_code.

Støttede språkkoder er de (tysk), en (engelsk), fr (fransk), it (italiensk), (spansk), eles (gresk), pl (polsk), sv (svensk), fi (finsk) og cs (tsjekkisk).

Eksempel:

SELECT ai_translate('The hotel was great','de') AS translation_de;

Forventet resultat: 'Das Hotel war großartig.'

Korriger grammatikk

Funksjonen ai_fix_grammar(text) korrigerer grammatikk i inngangen text.

Eksempel:

SELECT ai_fix_grammar('Th room are clean and staff were nice') AS fixed_text;

Forventet resultat: 'Rommene er rene, og personalet var hyggelig.'

Eksempler

A. Importer data og transformér tekstkolonnen ved hjelp av AI-funksjoner

Dette eksempelet laster data fra en Lakehouse-fil inn i hotel_reviews tabellen i lageret. Den velger fra en fil i seksjonen /Files , og anvender deretter AI-funksjonene for å berike dataene:

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. Oppdater tekstkolonnen ved hjelp av AI-funksjonen

Følgende eksempel retter grammatikkfeilene i kolonnen reviews_text :

UPDATE HotelDW.dbo.hotel_reviews
SET reviews_text = ISNULL(ai_fix_grammar(reviews_text), reviews_text);

AI-funksjonene kan returnere NULL hvis en feil oppstår, så unngå å overskrive eksisterende verdier med NULL.

Bruk mønsteret ISNULL(<ai function>, <original value>) for å bevare originalteksten når AI-funksjoner ikke kan returnere resultater.

C. Trekk ut verdier fra tekst

I dette eksempelet ai_extract analyserer funksjonen gjennomgangsteksten og returnerer et JSON-objekt som inneholder egenskapene sentiment, time_reported, og problem. Funksjonen OPENJSON parser deretter denne JSON-en og mapper disse egenskapene til separate kolonner for enkel spørring og analyse.

Dette eksempelskriptet setter inn de uttrukne verdiene som separate kolonner 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) );

Funksjonen ai_extract anvender uklare kontekstuelle regler for å identifisere og trekke ut temaer fra tekst uten å kreve manuell parsing eller komplekse regulære uttrykk. Denne tilnærmingen forenkler tekstanalyse ved å bruke AI-drevet semantisk forståelse i stedet for rigid mønstergjenkjenning, noe som gjør den mer robust og tilpasningsdyktig til naturlige språkvariasjoner.