Delen via


AI-functies gebruiken (preview)

Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric

Belangrijk

Deze functie is beschikbaar als preview-versie.

Fabric Data Warehouse en SQL Analytics-eindpunt bieden ingebouwde AI-functies die u kunt gebruiken om tekst rechtstreeks in SQL-query's te analyseren, classificeren, samenvatten en transformeren. Met deze functies kunt u geavanceerde tekstverwerking uitvoeren zonder uw gegevensomgeving te verlaten. In deze zelfstudie leert u hoe u AI-functies gebruikt om tekst te transformeren.

Function Purpose Voorbeeld van syntaxis
ai_analyze_sentiment Gevoel van invoertekst detecteren ai_analyze_sentiment(<text>)
ai_classify Tekst classificeren op basis van opgegeven labels ai_classify(<text>, <class1>, <class2>, ...)
ai_extract Entiteiten extraheren als JSON-eigenschappen ai_extract(<text>, <class1>, <class2>, ...)
ai_summarize Tekst samenvatten ai_summarize(<text>)
ai_generate_response Antwoord genereren op basis van prompt ai_generate_response(<prompt>, <data>)
ai_translate Invoertekst vertalen naar de opgegeven doeltaal ai_translate(<text>, <lang>)
ai_fix_grammar Grammatica in de tekst herstellen ai_fix_grammar(<text>)

Deze functies roepen externe AI-API's aan om tekst te verwerken, wat van invloed kan zijn op de queryprestaties. Om de efficiëntie te optimaliseren, vermijdt u het toepassen van terugkerende teksttransformaties binnen SELECT query's op dezelfde gegevensset. In plaats daarvan kunt u de resultaten van AI-functies vooraf compileren en materialiseren als afzonderlijke kolommen of in faseringstabellen.

Waarschuwing

De functies retourneren NULL als het AI-model de tekst niet kan verwerken. Veelvoorkomende redenen zijn onder meer:

  • Verantwoordelijke AI-regels blokkeren ongepaste inhoud in de invoertekst.
  • Invoertekst overschrijdt tokenlimieten. Het huidige model ondersteunt maximaal 15 kB tekst.

Typische verwerkingssnelheid van AI-functies is 20-100 rijen per seconde. Als u tragere prestaties ondervindt, meldt u de problematische query als een probleem.

Controleer de vereisten voor AI-functies voor het inschakelen van AI-functies in uw werkruimte. AI-functies voor Azure OpenAI Service zijn beschikbaar in sommige regio's.

Sentiment analyseren

De ai_analyze_sentiment(text) functie analyseert het gevoel van de invoer text en retourneert een van de volgende waarden: positive, negative, mixedof neutral.

Voorbeeld:

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

Verwacht resultaat:positive

Tekst classificeren

De ai_classify(text, class1, class2, ...) functie classificeert de invoer text in een van de opgegeven categorieën.

Voorbeeld:

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

Verwacht resultaat:dirt

Entiteiten extraheren uit tekst

De ai_extract(text, class1, class2, ...) functie extraheert entiteiten uit de invoer text op basis van de opgegeven klassen.

Voorbeeld:

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

Verwacht resultaat:{"sentiment":"Negative","problem":"Dirty room"}

Antwoord genereren

De ai_generate_response(prompt, data) functie genereert een antwoord op basis van een gegeven prompt en optioneel data.

Voorbeeld:

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

Verwacht resultaat: 'Onze excuses voor het ongemak veroorzaakt door het lawaai en zijn toegewijd aan het verbeteren van onze geluidsisolatiemaatregelen.'

Tekst samenvatten

De ai_summarize(text) functie geeft een overzicht van de invoer text in een beknopte versie.

Voorbeeld:

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

Verwacht resultaat: 'Schoon hotel, vriendelijk personeel.'

Tekst vertalen

De ai_translate(text, lang_code) functie vertaalt text in de opgegeven taal met behulp van lang_code.

Ondersteunde taalcodes zijn de (Duits), en (Engels), fr (Frans), it (Italiaans), es (Spaans), (Grieks), el (Pools), pl (Zweeds), sv (Fins) fi en cs (Tsjechisch).

Voorbeeld:

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

Verwacht resultaat: 'Das Hotel war großartig.'

Grammatica herstellen

De ai_fix_grammar(text) functie corrigeert de grammatica in de invoer text.

Voorbeeld:

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

Verwacht resultaat: 'De kamers zijn schoon en het personeel was leuk.'

Examples

Eén. Gegevens importeren en tekstkolom transformeren met AI-functies

In dit voorbeeld worden gegevens uit een Lakehouse-bestand in de hotel_reviews tabel in het magazijn geladen. Het selecteert een bestand in de /Files sectie en past vervolgens de AI-functies toe om de gegevens te verrijken:

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. Tekstkolom bijwerken met ai-functie

In het volgende voorbeeld worden de grammaticafouten in de reviews_text kolom opgelost:

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

De AI-functies kunnen NULL retourneren als er een fout optreedt, dus vermijd het overschrijven van bestaande waarden met NULL.

Gebruik het ISNULL(<ai function>, <original value>) patroon om de oorspronkelijke tekst te behouden wanneer AI-functies geen resultaten kunnen retourneren.

C. Waarden extraheren uit tekst

In dit voorbeeld analyseert de ai_extract functie de revisietekst en retourneert een JSON-object met de eigenschappen sentiment, time_reporteden problem. De OPENJSON functie parseert deze JSON vervolgens en wijst deze eigenschappen toe aan afzonderlijke kolommen voor eenvoudige query's en analyses.

Met dit voorbeeldscript worden de geëxtraheerde waarden ingevoegd als afzonderlijke kolommen in de doeltabel.

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) );

De ai_extract functie past fuzzy contextuele regels toe om onderwerpen te identificeren en te extraheren uit tekst zonder handmatig parseren of complexe reguliere expressies. Deze aanpak vereenvoudigt tekstanalyse door gebruik te maken van ai-gestuurd semantisch begrip in plaats van starre patroonkoppeling, waardoor het robuuster en beter kan worden aangepast aan variaties in natuurlijke taal.