Käytä tekoälytoimintoja (esikatselu)

Koskee:✅ SQL-analytiikan päätepiste ja Microsoft Fabric -varasto

Tärkeää

Tämä ominaisuus on esikatselutilassa.

Fabric tietovarasto ja SQL Analytics Endpoint tarjoavat sisäänrakennetut tekoälytoiminnot, joita voit käyttää tekstin analysointiin, luokitteluun, yhteenvetoon ja muuntamiseen suoraan SQL-kyselyissä. Näiden toimintojen avulla voit suorittaa edistyneeseen tekstinkäsittelyyn poistumatta dataympäristöstäsi. Tässä opetusohjelmassa opi, miten tekoälyfunktioita käytetään tekstin muuntamiseen.

Toiminto Tarkoitus Syntaksiesimerkki
AI_ANALYZE_SENTIMENT Syötetekstin tunteen havaitseminen AI_ANALYZE_SENTIMENT(<text>)
AI_CLASSIFY Luokittele teksti annettujen tunnisteiden perusteella AI_CLASSIFY(<text>, <class1>, <class2>, ...)
AI_EXTRACT Poiminta entiteettejä JSON-ominaisuuksina AI_EXTRACT(<text>, <class1>, <class2>, ...)
AI_SUMMARIZE Yhteenvetoteksti AI_SUMMARIZE(<text>)
AI_GENERATE_RESPONSE Luo vastaus kehotteen perusteella AI_GENERATE_RESPONSE(<prompt>, <data>)
AI_TRANSLATE Käännä syöteteksti määritellylle kohdekielelle AI_TRANSLATE(<text>, <lang_code>)
AI_FIX_GRAMMAR Korjaa kielioppi tekstissä AI_FIX_GRAMMAR(<text>)

Nämä toiminnot kutsuvat ulkoisia tekoälyrajapintoja käsittelemään tekstiä, mikä voi vaikuttaa kyselyjen suorituskykyyn. Tehokkuuden optimoimiseksi vältä toistuvien tekstimuunnosten käyttöä kyselyissä SELECT samalla aineistolla. Sen sijaan esilaske ja materialisoi tekoälyfunktioiden tulokset erillisinä sarakkeina tai vaiheitauluina.

Varoitus

Funktiot palaavat NULL , jos tekoälymalli ei pysty käsittelemään tekstiä. Yleisiä syitä ovat:

  • Vastuullisen tekoälyn säännöt estävät sopimattoman sisällön syötetekstissä.
  • Syöteteksti ylittää token-rajat. Nykyinen malli tukee jopa 15 KB tekstiä.

Tekoälyfunktioiden tyypillinen käsittelynopeus on 20–100 riviä sekunnissa. Jos suorituskyky hidastuu, ilmoita ongelmallinen kysely ongelmaksi.

Edellytykset

Tarkista tekoälytoimintojen vaatimukset lisävaatimusten varalta.

Asenteen analysointi

Funktio AI_ANALYZE_SENTIMENT(text) analysoi syötteestä tulevaa sentimenttiä text ja palauttaa yhden seuraavista arvoista: positive, negative, mixed, tai neutral.

Esimerkki:

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

Odotettu tulos:positive

Lisätietoja löytyy AI_ANALYZE_SENTIMENT (Transact-SQL).

Luokittele teksti

Funktio AI_CLASSIFY(text, class1, class2, ...) luokittelee syötteen text johonkin annetuista kategorioista.

Esimerkki:

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

Odotettu tulos:dirt

Lisätietoja löytyy AI_CLASSIFY (Transact-SQL).

Entiteettien poimiminen tekstistä

Funktio AI_EXTRACT(text, class1, class2, ...) poimii entiteettejä syötteestä text määriteltyjen luokkien perusteella.

Esimerkki:

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

Odotettu tulos:{"sentiment":"Negative","problem":"Dirty room"}

Lisätietoja löytyy AI_EXTRACT (Transact-SQL).

Generoi vaste

Funktio AI_GENERATE_RESPONSE(prompt, data) tuottaa vastauksen annetun prompt ja valinnaisen data.

Esimerkki:

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

Odotettu tulos: 'Pyydämme vilpittömästi anteeksi melun aiheuttamaa haittaa ja olemme sitoutuneet parantamaan äänieristystoimiamme.'

Lisätietoja löytyy AI_GENERATE_RESPONSE (Transact-SQL).

Yhteenvetoteksti

Funktio AI_SUMMARIZE(text) tiivistää syötteen text tiiviiksi versioksi.

Esimerkki:

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

Odotettu tulos: 'Siisti hotelli, ystävällinen henkilökunta.'

Lisätietoja löytyy AI_SUMMARIZE (Transact-SQL).

Tekstin kääntäminen

Funktio AI_TRANSLATE(text, lang_code) kääntyy text määriteltyyn kieleen käyttäen lang_code.

Tuetut kielikoodit ovat de (saksa), en (englanti), fr (ranska), it (italia), es (espanja), el (kreikka), pl (puola), sv (ruotsi), fi (suomi) ja cs (tšekki).

Esimerkki:

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

Odotettu tulos: 'Das Hotel war großartig.'

Lisätietoja löytyy AI_TRANSLATE (Transact-SQL).

Korjaa kielioppi

Funktio AI_FIX_GRAMMAR(text) korjaa kielioppia syötteessä text.

Esimerkki:

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

Odotettu tulos: 'Huoneet ovat siistejä ja henkilökunta oli mukavaa.'

Lisätietoja löytyy AI_FIX_GRAMMAR (Transact-SQL).

Virheiden käsittely

Tekoälytoiminnot palaavat NULL , kun virhe ilmenee tekstin käsittelyssä. Virheitä voivat aiheuttaa vastuullisen tekoälyn turvallisuustarkistukset, jotka havaitsevat kiellettyä sisältöä, syötteen ylittävää token-rajoja, tilapäisiä palveluongelmia tai muita prosessointivirheitä.

Oletuksena tekoälyfunktiot käyttävät parhaan yrityksen suoritusmallia ja palauttavat NULL epäonnistuneet pyynnöt. Tämä käyttäytyminen on suunniteltu estämään yksittäisiä rivejä koskevia virheitä epäonnistumasta koko kyselyssä. Kun tuhansia rivejä käsitellään ulkoisen suuren kielimallin (LLM) kautta, yhden arvon virhe ei saisi estää onnistuneiden tulosten palauttamista jäljellä oleville riveille. Tämä käyttäytyminen varmistaa myös, että onnistuneesti käsiteltyjä pyyntöjä ei katoa eikä niitä tarvitse toistaa.

Tarkista rivejä, jotka palautuivat NULL, selvitä virheen syy ja kokeile uudelleen vain näitä tiettyjä arvoja.

Voit ohittaa oletuskäyttäytymisen määrittämällä ON ERROR lausekkeen jokaisessa funktiokutsussa:

  • NULL ON ERROR (oletus) palautuu NULL , kun funktio ei pysty käsittelemään arvoa.
  • ERROR ON ERROR aiheuttaa koko kyselyn epäonnistumisen, jos virhe ilmenee missä tahansa funktiokutsussa.
  • DEFAULT <value> ON ERROR palauttaa määritetty oletusarvo virheen NULL sijaan.

Seuraava esimerkki havainnollistaa saatavilla olevat virheenkäsittelyvaihtoehdot:

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;

Tässä esimerkissä:

  • AI_FIX_GRAMMAR NULL palautuksia arvoista, joita se ei pysty käsittelemään. Koska palautus NULL on oletusvirheiden käsittelytoiminto, lauseke NULL ON ERROR on vapaaehtoinen.
  • AI_EXTRACT epäonnistuu koko kyselyssä, jos jokin solu kohtaa virheen.
  • AI_CLASSIFY Other palautuksia soluista, joita se ei voi luokitella.

Huomautuksia

Tekoälytoiminnot voivat palauttaa virheitä tai kokea odotettua hitaampaa suorituskykyä useista syistä:

  • Varmista, että täytät kaikki vaaditut vaatimukset ennen tekoälytoimintojen käyttöä. Jos edellytys puuttuu, funktio palauttaa virheen.
  • Jos syötetekstiä ei voida käsitellä – esimerkiksi koska se ylittää token-rajat, sisältää rajoitettua tai loukkaavaa sisältöä tai muuten rikkoo palvelukäytäntöjä – funktio palauttaa NULL. Tarkista aina palautusarvo NULL ja käsittele tämä tapaus asianmukaisesti kyselyissä, sovelluksissa tai tietokäsittelyputkissa.
  • Suorituskyky riippuu syötteen koosta, syötteen monimutkaisuudesta ja kokonaispalvelukuormasta. Yksittäiset tekstiarvot käsitellään tyypillisesti muutamassa sekunnissa, kun taas suuremmat erät voivat saavuttaa noin 10–30 tekstiarvoa sekunnissa. Jos suorituskyky on jatkuvasti odotettua hitaampi, saattaa olla palvelu- tai konfiguraatio-ongelma, joka vaikuttaa prosessoinnin läpimenoon.

Jos kohtaat ongelmia tekoälytoimintojen kanssa Fabric tietovarasto:ssa tai SQL-analytiikan päätepisteessä:

Esimerkkejä

V. Tuo dataa ja muunna tekstisarake tekoälyfunktioiden avulla

Tämä näyte lataa dataa Lakehouse-tiedostosta varaston hotel_reviews taulukkoon. Se valitsee osiossa olevasta tiedostosta /Files ja soveltaa sitten tekoälyfunktioita datan rikastamiseen:

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. Päivitä tekstisarake tekoälytoiminnolla

Seuraava esimerkki korjaa sarakkeen kielioppivirheet reviews_text :

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

AI-funktiot saattavat palataNULL, jos virhe ilmenee, joten vältä olemassa olevien arvojen ylikirjoittamista .NULL

Käytä kuviota ISNULL(<ai function>, <original value>) alkuperäisen tekstin säilyttämiseen, kun tekoälytoiminnot eivät voi palauttaa tuloksia.

C. Arvojen poimiminen tekstistä

Tässä esimerkissä funktio AI_EXTRACT analysoi kertaustekstin ja palauttaa JSON-objektin, joka sisältää ominaisuudet sentiment, time_reported, ja problem. Funktio OPENJSON jäsentää tämän JSON:n ja kartoittaa nämä ominaisuudet erillisiksi sarakkeiksi helppoa kyselyä ja analysointia varten.

Tämä esimerkkiskripti lisää poimitut arvot erillisinä sarakkeina kohdetaulukkoon.

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

Funktio AI_EXTRACT soveltaa epätarkkoja kontekstuaalisia sääntöjä tunnistaakseen ja poimiakseen aiheita tekstistä ilman manuaalista jäsentämistä tai monimutkaisia säännöllisiä lausekkeita. Tämä lähestymistapa yksinkertaistaa tekstianalyysiä käyttämällä tekoälypohjaista semanttista ymmärrystä jäykän kaavojen sovittamisen sijaan, tehden siitä monipuolisemman ja joustavamman luonnollisen kielen vaihteluihin.