Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:✅ końcowego punktu analizy SQL i magazynu danych w usłudze Microsoft Fabric
Ważna
Ta funkcja jest dostępna w wersji zapoznawczej.
Usługa Fabric Data Warehouse i punkt końcowy analizy SQL udostępniają wbudowane funkcje sztucznej inteligencji, których można użyć do analizowania, klasyfikowania, podsumowywania i przekształcania tekstu bezpośrednio w zapytaniach SQL. Za pomocą tych funkcji można wykonywać zaawansowane przetwarzanie tekstu bez opuszczania środowiska danych. Z tego samouczka dowiesz się, jak używać funkcji sztucznej inteligencji do przekształcania tekstu.
| Function | Purpose | Przykład składni |
|---|---|---|
AI_ANALYZE_SENTIMENT |
Wykrywanie sentymentu tekstu wejściowego | AI_ANALYZE_SENTIMENT(<text>) |
AI_CLASSIFY |
Klasyfikowanie tekstu na podstawie podanych etykiet | AI_CLASSIFY(<text>, <class1>, <class2>, ...) |
AI_EXTRACT |
Wyodrębnianie jednostek jako właściwości JSON | AI_EXTRACT(<text>, <class1>, <class2>, ...) |
AI_SUMMARIZE |
Tekst podsumowania | AI_SUMMARIZE(<text>) |
AI_GENERATE_RESPONSE |
Generowanie odpowiedzi na podstawie monitu | AI_GENERATE_RESPONSE(<prompt>[, <data>]) |
AI_TRANSLATE |
Tłumaczenie tekstu wejściowego na określony język docelowy | AI_TRANSLATE(<text>, <lang_code>) |
AI_FIX_GRAMMAR |
Poprawianie gramatyki w tekście | AI_FIX_GRAMMAR(<text>) |
Te funkcje wywołują zewnętrzne interfejsy API sztucznej inteligencji do przetwarzania tekstu, co może wpłynąć na wydajność zapytań. Aby zoptymalizować wydajność, należy unikać stosowania powtarzających się przekształceń tekstu w SELECT zapytaniach w tym samym zestawie danych. Zamiast tego należy wstępnie skompilować i zmaterializować wyniki funkcji sztucznej inteligencji jako oddzielne kolumny lub tabele przejściowe.
Ostrzeżenie
Funkcje zwracają NULL , jeśli model sztucznej inteligencji nie może przetworzyć tekstu. Typowe przyczyny:
- Reguły odpowiedzialnej sztucznej inteligencji blokują nieodpowiednią zawartość w tekście wejściowym.
- Tekst wejściowy przekracza limity tokenów. Obecny model obsługuje do 99 KB tekstu.
Typowa szybkość przetwarzania funkcji sztucznej inteligencji to 20–100 wierszy na sekundę. Jeśli wystąpi niższa wydajność, zgłoś problematyczne zapytanie jako problem.
Prerequisites
- Aby korzystać z funkcji sztucznej inteligencji z wbudowanym punktem końcowym sztucznej inteligencji w usłudze Fabric, administrator musi włączyć przełącznik dzierżawy dla rozwiązania Copilot i inne funkcje obsługiwane przez usługę Azure OpenAI.
- W zależności od lokalizacji może być konieczne włączenie ustawień dzierżawcy na potrzeby przetwarzania międzyregionalnego. Dowiedz się więcej o dostępnych regionach dla usługi Azure OpenAI Service.
- Potrzebujesz płatnej pojemności Fabric (F2 lub nowszej, lub dowolnej edycji P).
- Funkcje sztucznej inteligencji można używać tylko w obsługiwanych regionach.
Sprawdź wymagania wstępne dotyczące funkcji sztucznej inteligencji , aby uzyskać dodatkowe wymagania wstępne.
Analiza sentymentu
Funkcja AI_ANALYZE_SENTIMENT(text) analizuje tonację z danych wejściowych text i zwraca jedną z następujących wartości: positive, negative, mixed lub neutral.
Example:
SELECT AI_ANALYZE_SENTIMENT('This hotel was great!') AS sentiment;
Oczekiwany wynik:positive
Aby uzyskać więcej informacji, zobacz AI_ANALYZE_SENTIMENT (Transact-SQL).
Klasyfikowanie tekstu
Funkcja AI_CLASSIFY(text, class1, class2, ...) klasyfikuje dane wejściowe text do jednej z podanych kategorii.
Example:
SELECT AI_CLASSIFY('Room was dirty', 'service','dirt','food') AS classification;
Oczekiwany wynik:dirt
Aby uzyskać więcej informacji, zobacz AI_CLASSIFY (Transact-SQL).
Wyodrębnianie jednostek z tekstu
Funkcja AI_EXTRACT(text, class1, class2, ...) wyodrębnia jednostki z danych wejściowych text na podstawie określonych klas.
Example:
SELECT AI_EXTRACT('Check-in was late and room dirty', 'sentiment','problem') AS extraction;
Oczekiwany wynik:{"sentiment":"Negative","problem":"Dirty room"}
Aby uzyskać więcej informacji, zobacz AI_EXTRACT (Transact-SQL).
Generowanie odpowiedzi
Funkcja AI_GENERATE_RESPONSE(prompt, data) generuje odpowiedź na podstawie danej prompt i opcjonalnej data.
Example:
SELECT AI_GENERATE_RESPONSE('Reply in 20 words:', 'The room was noisy.') AS response;
Oczekiwany wynik: "Szczerze przepraszamy za niedogodności spowodowane hałasem i jesteśmy zobowiązani do zwiększenia naszych środków dźwiękoszczelnych."
Aby uzyskać więcej informacji, zobacz AI_GENERATE_RESPONSE (Transact-SQL).
Tekst podsumowania
Funkcja AI_SUMMARIZE(text) podsumowuje dane wejściowe text w zwięzłej wersji.
Example:
SELECT AI_SUMMARIZE('The hotel was clean and staff were friendly.') AS summary;
Oczekiwany wynik: "Czysty hotel, przyjazny personel".
Aby uzyskać więcej informacji, zobacz AI_SUMMARIZE (Transact-SQL).
Tłumaczenie tekstu
Funkcja AI_TRANSLATE(text, lang_code) tłumaczy text na określony język przy użyciu lang_code.
Obsługiwane kody języków to de (niemiecki), en (angielski), fr (francuski), it (włoski), (hiszpański es ), el (grecki pl ), (polski), sv (szwedzki fi ), (fiński) i cs (czeski).
Example:
SELECT AI_TRANSLATE('The hotel was great','de') AS translation_de;
Oczekiwany wynik: "Das Hotel war großartig".
Aby uzyskać więcej informacji, zobacz AI_TRANSLATE (Transact-SQL).
Naprawianie gramatyki
Funkcja AI_FIX_GRAMMAR(text) poprawia gramatykę w danych wejściowych text.
Example:
SELECT AI_FIX_GRAMMAR('Th room are clean and staff were nice') AS fixed_text;
Oczekiwany wynik: "Pokoje są czyste, a personel był miły.
Aby uzyskać więcej informacji, zobacz AI_FIX_GRAMMAR (Transact-SQL).
Obsługa błędów
Funkcje AI zwracają NULL, gdy podczas przetwarzania tekstu wystąpi błąd. Błędy mogą być spowodowane przez Responsible AI w zakresie kontroli bezpieczeństwa wykrywających niedozwolone treści, dane wejściowe przekraczające limit tokenów, przejściowe problemy z usługami lub inne błędy przetwarzania.
Domyślnie funkcje AI korzystają z modelu realizacji opartego na zasadzie najlepszych starań i zwracają NULL w przypadku nieudanych żądań. To zachowanie ma na celu zapobieganie temu, aby błędy dotyczące poszczególnych wierszy powodowały niepowodzenie całego zapytania. Podczas przetwarzania tysięcy wierszy przez zewnętrzny duży model językowy (LLM), niepowodzenie na jednej wartości nie powinno uniemożliwić zwrotu udanych wyników dla pozostałych wierszy. Takie zachowanie zapewnia również, że pomyślnie przetworzone żądania nie są tracone i nie muszą być powtarzane.
Sprawdź wiersze, które zwróciły NULL, określ przyczynę awarii i spróbuj ponownie tylko te konkretne wartości.
Możesz nadpisać domyślne zachowanie, określając klauzulę ON ERROR w każdym wywołaniu funkcji:
-
NULL ON ERROR(domyślnie) zwracaNULL, gdy funkcja nie jest w stanie przetworzyć wartości. -
ERROR ON ERRORpowoduje, że całe zapytanie kończy się niepowodzeniem, jeśli wystąpi błąd w dowolnym wywołaniu funkcji. -
DEFAULT <value> ON ERRORzwraca określoną wartość domyślną zamiastNULLgdy wystąpi błąd.
Poniższy przykład demonstruje dostępne opcje obsługi błędów:
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;
W tym przykładzie:
-
AI_FIX_GRAMMARNULLzwraca wartości, których nie może przetworzyć. Ponieważ zwracanieNULLjest domyślnym sposobem obsługi błędów, klauzulaNULL ON ERRORjest opcjonalna. -
AI_EXTRACTnie przechodzi całego zapytania, jeśli któraś komórka napotka błąd. -
AI_CLASSIFYzwracaOtherdla komórek, których nie potrafi sklasyfikować.
Uwagi
Funkcje sztucznej inteligencji mogą zwracać błędy lub działać wolniej niż oczekiwano wydajności z kilku powodów:
- Przed użyciem funkcji sztucznej inteligencji upewnij się, że spełnisz wszystkie wymagane wymagania wstępne. Jeśli brakuje wymagań wstępnych, funkcja zwraca błąd.
- Jeśli nie można przetworzyć tekstu wejściowego — na przykład dlatego, że przekracza limit tokenów, zawiera treści zastrzeżone lub obraźliwe albo w inny sposób narusza zasady usługi — funkcja zwraca
NULL. Zawsze sprawdzaj, czy wartość zwracana jestNULLi odpowiednio obsłuż tę sprawę w zapytaniach, aplikacjach lub potokach przetwarzania danych. - Wydajność zależy od rozmiaru danych wejściowych, złożoności danych wejściowych i ogólnego obciążenia usługi. Pojedyncze wartości tekstowe są zwykle przetwarzane w ciągu kilku sekund, podczas gdy większe partie mogą osiągnąć przepływność około 10–30 wartości tekstowych na sekundę. Jeśli stale występuje niższa niż oczekiwana wydajność, może wystąpić problem z usługą lub konfiguracją wpływającym na przepływność przetwarzania.
Jeśli napotkasz problem z funkcjami AI w Fabric Data Warehouse lub endpointem analityki SQL:
- Utworzenie zgłoszenia do wsparcia przez wsparcie Microsoft, lub
- Dziel się opiniami, zadawaj pytania lub omawiaj problemy ze społecznością na subreddicie funkcji AI w Microsoft Fabric Data Warehouse.
Examples
Odp. Importowanie danych i przekształcanie kolumn tekstowych przy użyciu funkcji sztucznej inteligencji
Ten przykład ładuje dane z pliku typu Lakehouse do tabeli hotel_reviews w magazynie danych.
Wybiera on plik z /Files sekcji, a następnie stosuje funkcje sztucznej inteligencji w celu wzbogacania danych:
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. Aktualizowanie kolumny tekstowej przy użyciu funkcji sztucznej inteligencji
Poniższy przykład naprawia błędy gramatyczne w kolumnie reviews_text :
UPDATE HotelDW.dbo.hotel_reviews
SET reviews_text = ISNULL(AI_FIX_GRAMMAR(reviews_text), reviews_text);
Funkcje sztucznej inteligencji mogą zwracać NULL dane w przypadku wystąpienia błędu, dlatego unikaj zastępowania istniejących wartości za pomocą polecenia NULL.
ISNULL(<ai function>, <original value>) Użyj wzorca, aby zachować oryginalny tekst, gdy funkcje sztucznej inteligencji nie mogą zwracać wyników.
C. Wyodrębnianie wartości z tekstu
W tym przykładzie AI_EXTRACT funkcja analizuje tekst przeglądu i zwraca obiekt JSON zawierający właściwości sentiment, time_reportedi problem. Następnie OPENJSON funkcja analizuje ten kod JSON i mapuje te właściwości na oddzielne kolumny w celu łatwego wykonywania zapytań i analizy.
Ten przykładowy skrypt wstawia wyodrębnione wartości jako oddzielne kolumny w tabeli docelowej.
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) );
Funkcja AI_EXTRACT stosuje reguły kontekstowe rozmyte w celu identyfikowania i wyodrębniania tematów z tekstu bez konieczności ręcznego analizowania ani złożonych wyrażeń regularnych. Takie podejście upraszcza analizę tekstu przy użyciu semantycznego zrozumienia opartego na sztucznej inteligencji, a nie sztywnego dopasowywania wzorców, dzięki czemu jest bardziej niezawodny i dostosowywany do odmian języka naturalnego.