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:✅ 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_code>) |
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.
Prerequisites
- Als u AI-functies wilt gebruiken met het ingebouwde AI-eindpunt in Fabric, moet uw beheerder de tenantswitch inschakelen voor Copilot en andere functies die worden mogelijk gemaakt door Azure OpenAI.
- Afhankelijk van uw locatie moet u mogelijk een tenantinstelling inschakelen voor cross-geo-verwerking. Meer informatie over beschikbare regio's voor De Azure OpenAI-service.
- U hebt een betaalde Fabric-capaciteit (F2 of hoger of een P-editie) nodig.
- U kunt AI-functies alleen gebruiken in ondersteunde regio's.
Controleer de vereisten voor AI-functies op aanvullende vereisten.
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
Zie AI_ANALYZE_SENTIMENT (Transact-SQL)voor meer informatie.
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
Zie AI_CLASSIFY (Transact-SQL) voor meer informatie.
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"}
Zie AI_EXTRACT (Transact-SQL)voor meer informatie.
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.'
Zie AI_GENERATE_RESPONSE (Transact-SQL) voor meer informatie.
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.'
Zie AI_SUMMARIZE (Transact-SQL) voor meer informatie.
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.'
Zie AI_TRANSLATE (Transact-SQL) voor meer informatie.
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.'
Zie AI_FIX_GRAMMAR (Transact-SQL) voor meer informatie.
Afhandeling van fouten
AI-functies keren terug NULL wanneer er een fout optreedt tijdens het verwerken van tekst. Fouten kunnen worden veroorzaakt door Responsible AI-veiligheidscontroles die niet-toegestane inhoud detecteren, invoer die tokenlimieten overschrijdt, problemen met tijdelijke diensten of andere verwerkingsfouten.
Standaard gebruiken AI-functies een best-effort uitvoeringsmodel en geven ze terug NULL bij mislukte verzoeken. Dit gedrag is ontworpen om te voorkomen dat fouten die individuele rijen beïnvloeden een hele query laten falen. Bij het verwerken van duizenden rijen via een extern groot taalmodel (LLM) zou een fout op één enkele waarde niet moeten voorkomen dat succesvolle resultaten worden teruggegeven voor de resterende rijen. Dit gedrag zorgt er ook voor dat succesvol verwerkte verzoeken niet verloren gaan en niet herhaald hoeven te worden.
Inspecteer rijen die zijn teruggegeven NULL, bepaal de reden van de fout, en probeer alleen die specifieke waarden opnieuw.
Je kunt het standaardgedrag overrulen door in elke functieaanroep een ON ERROR clausule te specificeren:
-
NULL ON ERROR(default) keert terugNULLwanneer de functie een waarde niet kan verwerken. -
ERROR ON ERRORveroorzaakt dat de hele query faalt als er een fout optreedt in een functieaanroep. -
DEFAULT <value> ON ERRORgeeft de gespecificeerde standaardwaarde terug in plaats vanNULLwanneer een fout optreedt.
Het volgende voorbeeld toont de beschikbare opties voor foutafhandeling:
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;
In dit voorbeeld:
-
AI_FIX_GRAMMARRetourneertNULLvoor waarden die het niet kan verwerken. Omdat retournerenNULLhet standaard foutafhandelingsgedrag is, is deNULL ON ERRORclausule optioneel. -
AI_EXTRACTfaalt de hele query als een enkele cel een fout tegenkomt. -
AI_CLASSIFYgeeftOtherterug voor cellen die niet kunnen worden geclassificeerd.
Opmerkingen
AI-functies kunnen om verschillende redenen fouten retourneren of tragere prestaties ervaren dan verwacht:
- Zorg ervoor dat u voldoet aan alle vereiste vereisten voordat u AI-functies gebruikt. Als een vereiste ontbreekt, retourneert de functie een fout.
- Als de invoertekst niet kan worden verwerkt, bijvoorbeeld omdat deze tokenlimieten overschrijdt, beperkte of aanstootgevende inhoud bevat, of anderszins het servicebeleid schendt, retourneert
NULLde functie. Controleer altijd of de retourwaardeNULLis en behandel dit geval op de juiste manier in uw query’s, toepassingen of gegevensverwerkingspijplijnen. - Prestaties zijn afhankelijk van de invoergrootte, de complexiteit van de invoer en de totale belasting van de service. Afzonderlijke tekstwaarden worden doorgaans binnen een paar seconden verwerkt, terwijl grotere batches een doorvoer van ongeveer 10 tot 30 tekstwaarden per seconde kunnen bereiken. Als u consistent tragere prestaties ondervindt, is er mogelijk een service- of configuratieprobleem dat van invloed is op de verwerkingsdoorvoer.
Als je een probleem ondervindt met AI-functies in Fabric Data Warehouse of een SQL-analyse-endpoint:
- Maak een supportticket aan via Microsoft support, of
- Deel feedback, stel vragen of bespreek problemen met de community in de AI-functies in Microsoft Fabric Data Warehouse subreddit.
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.