Udostępnij przez


Przekształcanie i wzbogacanie danych za pomocą funkcji sztucznej inteligencji

Usługa Microsoft Fabric AI Functions umożliwia wszystkim specjalistom biznesowym (od deweloperów do analityków) przekształcanie i wzbogacanie danych przedsiębiorstwa przy użyciu generowania sztucznej inteligencji.

Funkcje sztucznej inteligencji używają wiodących w branży dużych modeli językowych (LLM) do podsumowania, klasyfikacji, generowania tekstu i nie tylko. Jednym wierszem kodu można wykonywać następujące czynności:

  • ai.analyze_sentiment: Wykryj stan emocjonalny tekstu wejściowego.
  • ai.classify: Kategoryzuj tekst wejściowy zgodnie z etykietami.
  • ai.embed: Generuj osadzanie wektorów dla tekstu wejściowego.
  • ai.extract: Wyodrębnij określone typy informacji z tekstu wejściowego (na przykład lokalizacje lub nazwy).
  • ai.fix_grammar: Popraw pisownię, gramatykę i interpunkcję tekstu wejściowego.
  • ai.generate_response: Generuj odpowiedzi na podstawie własnych instrukcji.
  • ai.similarity: Porównaj znaczenie tekstu wejściowego z pojedynczą wartością tekstową lub tekstem w innej kolumnie.
  • ai.summarize: pobiera podsumowania tekstu wejściowego.
  • ai.translate: przetłumacz tekst wejściowy na inny język.

Możesz uwzględnić te funkcjonalności w ramach przepływów pracy związanych z nauką o danych i inżynierią danych, niezależnie od tego, czy masz do czynienia z biblioteką pandas, czy z platformą Spark. Nie ma szczegółowej konfiguracji i nie ma złożonego zarządzania infrastrukturą. Nie potrzebujesz żadnej konkretnej wiedzy technicznej.

Prerequisites

Note

  • Funkcje sztucznej inteligencji są obsługiwane w środowisku Fabric Runtime 1.3 lub nowszym.
  • Jeśli nie skonfigurujesz innego modelu, funkcje sztucznej inteligencji domyślnie mają wartość gpt-4.1-mini. Dowiedz się więcej o rozliczeniach i stawkach użycia.
  • Chociaż podstawowy model może obsługiwać kilka języków, większość funkcji sztucznej inteligencji jest zoptymalizowana pod kątem użycia w tekstach w języku angielskim.

Modele i dostawcy

Funkcje sztucznej inteligencji obsługują teraz szersze modele i dostawców poza domyślnymi modelami usługi Azure OpenAI. Funkcje sztucznej inteligencji można skonfigurować do użycia:

  • Modele usługi Azure OpenAI
  • Zasoby usługi Azure AI Foundry (w tym modele, takie jak Claude i LLaMA)

Wybór modelu i dostawcy można skonfigurować za pomocą konfiguracji funkcji sztucznej inteligencji. Aby uzyskać szczegółowe informacje na temat konfiguracji różnych modeli i dostawców, odwołaj się do dokumentacji konfiguracji biblioteki pandas i PySpark.

Wprowadzenie do funkcji sztucznej inteligencji

Funkcje sztucznej inteligencji mogą być używane z środowiskami pandas (środowiska uruchomieniowe Python i PySpark) oraz ze środowiskiem uruchomieniowym PySpark. Wymagane kroki instalacji i importowania dla każdego z nich opisano w poniższej sekcji, a następnie odpowiednie polecenia.

Wydajność i współbieżność

Funkcje sztucznej inteligencji są teraz wykonywane ze zwiększoną współbieżnością domyślną 200, co pozwala na szybsze równoległe przetwarzanie operacji sztucznej inteligencji. Możesz dostosować ustawienia współbieżności na obciążenie, aby zoptymalizować wydajność na podstawie określonych wymagań. Aby uzyskać więcej informacji na temat konfigurowania współbieżności i innych ustawień związanych z wydajnością, zobacz dokumentację ustawień dla pandas i PySpark.

Instalowanie zależności

  • Pandas (środowisko uruchomieniowe języka Python)
    • synapseml_internal wymagana instalacja plików whl synapseml_core (polecenia podane w poniższej komórce kodu)
    • openai wymagana instalacja pakietu (polecenie podane w poniższej komórce kodu)
  • Pandas (środowisko uruchomieniowe PySpark)
    • openai wymagana instalacja pakietu (polecenie podane w poniższej komórce kodu)
  • PySpark (środowisko uruchomieniowe PySpark)
    • Brak wymaganej instalacji
# The pandas AI functions package requires OpenAI version 1.99.5 or later
%pip install -q --force-reinstall openai==1.99.5 2>/dev/null

Importowanie wymaganych bibliotek

Poniższa komórka kodu importuje bibliotekę funkcji sztucznej inteligencji i jej zależności.

# Required imports
import synapse.ml.aifunc as aifunc
import pandas as pd

Stosowanie funkcji sztucznej inteligencji

Każda z poniższych funkcji umożliwia wywoływanie wbudowanego punktu końcowego sztucznej inteligencji w sieci szkieletowej w celu przekształcania i wzbogacania danych przy użyciu jednego wiersza kodu. Za pomocą funkcji AI można analizować ramki danych pandas lub ramki danych Spark.

Tip

Dowiedz się, jak dostosować konfigurację funkcji sztucznej inteligencji.

Konfiguracja zaawansowana: w przypadku korzystania z modeli rodzinnych gpt-5 można skonfigurować zaawansowane opcje, takie jak reasoning_effort i verbosity. Aby uzyskać szczegółowe informacje na temat ustawiania tych opcji, zobacz strony konfiguracji bibliotek pandas i PySpark .

Wykrywanie tonacji przy użyciu ai.analyze_sentiment

Funkcja ai.analyze_sentiment wywołuje sztuczną inteligencję, aby określić, czy stan emocjonalny wyrażony przez tekst wejściowy jest dodatni, ujemny, mieszany lub neutralny. Jeśli sztuczna inteligencja nie może dokonać tej determinacji, dane wyjściowe pozostaną puste. Aby uzyskać bardziej szczegółowe instrukcje dotyczące korzystania z biblioteki ai.analyze_sentiment pandas, zapoznaj się z tym artykułem. Aby zapoznać się ai.analyze_sentiment z programem PySpark, zobacz ten artykuł.

Parametry opcjonalne

Funkcja ai.analyze_sentiment obsługuje teraz dodatkowe opcjonalne parametry, które umożliwiają dostosowanie analizy sentymentu. Te parametry zapewniają większą kontrolę nad sposobem wykrywania i zgłaszania nastrojów. Aby uzyskać szczegółowe informacje na temat dostępnych parametrów, ich opisów i wartości domyślnych, zobacz dokumentację specyficzną dla funkcji pandas i PySpark.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "The cleaning spray permanently stained my beautiful kitchen counter. Never again!",
        "I used this sunscreen on my vacation to Florida, and I didn't get burned at all. Would recommend.",
        "I'm torn about this speaker system. The sound was high quality, though it didn't connect to my roommate's phone.",
        "The umbrella is OK, I guess."
    ], columns=["reviews"])

df["sentiment"] = df["reviews"].ai.analyze_sentiment()
display(df)

Zrzut ekranu przedstawiający ramkę danych z kolumnami

Kategoryzuj tekst za pomocą klasyfikatuj ai.classify

Funkcja ai.classify wywołuje sztuczną inteligencję, aby kategoryzować tekst wejściowy zgodnie z wybranymi etykietami niestandardowymi. Aby uzyskać więcej informacji na temat korzystania z ai.classify pandas, przejdź do tego artykułu. Aby zapoznać się ai.classify z programem PySpark, zobacz ten artykuł.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])

df["category"] = df['descriptions'].ai.classify("kitchen", "bedroom", "garage", "other")
display(df)

Zrzut ekranu przedstawiający ramkę danych z kolumnami

Generowanie osadzania wektorów za pomocą pliku ai.embed

Funkcja ai.embed wywołuje sztuczną inteligencję, aby wygenerować wektorowe osadzanie dla tekstu wejściowego. Osadzanie wektorów to liczbowe reprezentacje tekstu, które przechwytują znaczenie semantyczne, co ułatwia wyszukiwanie podobieństwa, pobieranie przepływów pracy i inne zadania uczenia maszynowego. Wymiarowość wektorów osadzania zależy od wybranego modelu. Aby uzyskać bardziej szczegółowe instrukcje dotyczące korzystania z biblioteki ai.embed pandas, zapoznaj się z tym artykułem. Aby zapoznać się ai.embed z programem PySpark, zobacz ten artykuł.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])
    
df["embed"] = df["descriptions"].ai.embed()
display(df)

Zrzut ekranu przedstawiający ramkę danych z kolumnami

Wyodrębnianie jednostek za pomocą funkcji ai.extract

Funkcja ai.extract wywołuje sztuczną inteligencję, aby skanować tekst wejściowy i wyodrębniać określone typy informacji wyznaczonych przez wybrane etykiety (na przykład lokalizacje lub nazwy). Aby uzyskać bardziej szczegółowe instrukcje dotyczące korzystania z biblioteki ai.extract pandas, zapoznaj się z tym artykułem. Aby zapoznać się ai.extract z programem PySpark, zobacz ten artykuł.

Etykiety ustrukturyzowane

Funkcja ai.extract obsługuje definicje etykiet strukturalnych za pomocą schematu ExtractLabel. Możesz podać etykiety ze strukturą definicji, które zawierają nie tylko nazwę etykiety, ale także informacje o typie i atrybutach. Takie podejście ustrukturyzowane zwiększa spójność wyodrębniania i umożliwia funkcji zwracanie odpowiednio ustrukturyzowanych kolumn wyjściowych. Na przykład można określić etykiety z dodatkowymi metadanymi, aby dokładniej przeprowadzić proces wyodrębniania. Zapoznaj się ze szczegółową dokumentacją bibliotek pandas i PySpark , aby zapoznać się z przykładami używania etykiet strukturalnych.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "MJ Lee lives in Tucson, AZ, and works as a software engineer for Microsoft.",
        "Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey."
    ], columns=["descriptions"])

df_entities = df["descriptions"].ai.extract("name", "profession", "city")
display(df_entities)

Zrzut ekranu przedstawiający nową ramkę danych z kolumnami

Naprawianie gramatyki za pomocą ai.fix_grammar

Funkcja ai.fix_grammar wywołuje sztuczną inteligencję, aby poprawić pisownię, gramatykę i interpunkcję tekstu wejściowego. Aby uzyskać bardziej szczegółowe instrukcje dotyczące korzystania z biblioteki ai.fix_grammar pandas, zapoznaj się z tym artykułem. Aby zapoznać się ai.fix_grammar z programem PySpark, zobacz ten artykuł.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "There are an error here.",
        "She and me go weigh back. We used to hang out every weeks.",
        "The big picture are right, but you're details is all wrong."
    ], columns=["text"])

df["corrections"] = df["text"].ai.fix_grammar()
display(df)

Zrzut ekranu przedstawiający ramkę danych z kolumną

Odpowiadanie na monity użytkownika niestandardowego za pomocą ai.generate_response

Funkcja ai.generate_response wywołuje sztuczną inteligencję w celu wygenerowania niestandardowego tekstu na podstawie własnych instrukcji. Aby uzyskać bardziej szczegółowe instrukcje dotyczące korzystania z biblioteki ai.generate_response pandas, zapoznaj się z tym artykułem. Aby zapoznać się ai.generate_response z programem PySpark, zobacz ten artykuł.

Parametry opcjonalne

Funkcja ai.generate_response obsługuje teraz parametr, który umożliwia żądanie danych wyjściowych JSON ze strukturą response_format . Możesz określić response_format='json' , aby otrzymywać odpowiedzi w formacie JSON. Ponadto można podać schemat JSON, aby wymusić określoną strukturę danych wyjściowych, zapewniając, że wygenerowana odpowiedź jest zgodna z oczekiwanym kształtem danych. Jest to szczególnie przydatne, gdy potrzebujesz przewidywalnych, czytelnych dla maszyn danych wyjściowych funkcji sztucznej inteligencji. Szczegółowe przykłady i wzorce użycia można znaleźć w dokumentacji pandas i PySpark.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        ("Scarves"),
        ("Snow pants"),
        ("Ski goggles")
    ], columns=["product"])

df["response"] = df.ai.generate_response("Write a short, punchy email subject line for a winter sale.")
display(df)

Zrzut ekranu przedstawiający ramkę danych z kolumnami 'produkt' i 'odpowiedź'. Kolumna 'odpowiedź' zawiera chwytliwą linię tematu dla produktu.

Obliczanie podobieństwa za pomocą funkcji ai.podobnej

Funkcja ai.similarity porównuje każdą wartość tekstową wejściową z jednym typowym tekstem odwołania lub odpowiednią wartością w innej kolumnie (tryb parowania). Wartości wyniku podobieństwa danych wyjściowych są względne i mogą wahać się od -1 (przeciwieństwa) do 1 (identyczne). Wynik wskazuje, że wartości są niepowiązane w znaczeniu 0 . Aby uzyskać bardziej szczegółowe instrukcje dotyczące korzystania z biblioteki ai.similarity pandas, zapoznaj się z tym artykułem. Aby zapoznać się ai.similarity z programem PySpark, zobacz ten artykuł.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([ 
        ("Bill Gates", "Technology"), 
        ("Satya Nadella", "Healthcare"), 
        ("Joan of Arc", "Agriculture") 
    ], columns=["names", "industries"])
    
df["similarity"] = df["names"].ai.similarity(df["industries"])
display(df)

Zrzut ekranu przedstawiający ramkę danych z kolumnami

Podsumowywanie tekstu za pomocą pliku ai.summarize

Funkcja ai.summarize wywołuje sztuczną inteligencję w celu wygenerowania podsumowań tekstu wejściowego (wartości z jednej kolumny ramki danych lub wartości wierszy we wszystkich kolumnach). Aby uzyskać bardziej szczegółowe instrukcje dotyczące korzystania z biblioteki ai.summarize pandas, zapoznaj się z tym artykułem. Aby zapoznać się ai.summarize z programem PySpark, zobacz ten artykuł.

Dostosowywanie podsumowań za pomocą instrukcji

Funkcja ai.summarize teraz obsługuje parametr instructions, który umożliwia kierowanie tonem, długością oraz treścią wygenerowanych podsumowań. Możesz podać niestandardowe instrukcje, aby pokierować tworzeniem podsumowania, takie jak określenie konkretnego stylu, poziomu szczegółowości lub odbiorców docelowych. Jeśli nie podano instrukcji, funkcja używa domyślnego zachowania podsumowania. Przykłady użycia parametru instructions można znaleźć w szczegółowej dokumentacji bibliotek pandas i PySpark.

# This code uses AI. Always review output for mistakes.

df= pd.DataFrame([
        ("Microsoft Teams", "2017",
        """
        The ultimate messaging app for your organization—a workspace for real-time 
        collaboration and communication, meetings, file and app sharing, and even the 
        occasional emoji! All in one place, all in the open, all accessible to everyone.
        """),
        ("Microsoft Fabric", "2023",
        """
        An enterprise-ready, end-to-end analytics platform that unifies data movement, 
        data processing, ingestion, transformation, and report building into a seamless, 
        user-friendly SaaS experience. Transform raw data into actionable insights.
        """)
    ], columns=["product", "release_year", "description"])

df["summaries"] = df["description"].ai.summarize()
display(df)

Zrzut ekranu przedstawiający ramkę danych. Kolumna

Tłumaczenie tekstu za pomocą pliku ai.translate

Funkcja ai.translate wywołuje sztuczną inteligencję, aby przetłumaczyć tekst wejściowy na wybrany język. Aby uzyskać bardziej szczegółowe instrukcje dotyczące korzystania z biblioteki ai.translate pandas, zapoznaj się z tym artykułem. Aby zapoznać się ai.translate z programem PySpark, zobacz ten artykuł.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "Hello! How are you doing today?", 
        "Tell me what you'd like to know, and I'll do my best to help.", 
        "The only thing we have to fear is fear itself."
    ], columns=["text"])

df["translations"] = df["text"].ai.translate("spanish")
display(df)

Zrzut ekranu przedstawiający ramkę danych z kolumnami

Wyświetlanie statystyk użycia za pomocą ai.stats

Funkcje Fabric AI oferują wbudowany sposób sprawdzania statystyk użycia i wykonania dla dowolnej Serii lub DataFrame wygenerowanej przez sztuczną inteligencję. Dostęp do tych metryk można uzyskać, wywołując wynik zwrócony przez funkcję sztucznej inteligencji za pomocą ai.stats.

ai.stats Zwraca ramkę danych z następującymi kolumnami:

  • num_successful — liczba wierszy przetworzonych pomyślnie przez funkcję sztucznej inteligencji.
  • num_exceptions – liczba wierszy, które napotkały wyjątek podczas wykonywania. Te wiersze są reprezentowane jako instancje aifunc.ExceptionResult.
  • num_unevaluated — liczba wierszy, które nie zostały przetworzone, ponieważ wcześniejszy wyjątek uniemożliwił kontynuowanie oceny. Te wiersze są instancjami aifunc.NotEvaluatedResult.
  • num_harmful — liczba wierszy zablokowanych przez filtr zawartości usługi Azure OpenAI. Te wiersze to wystąpienia aifunc.FilterResult.
  • prompt_tokens — łączna liczba tokenów wejściowych używanych do wywołania funkcji sztucznej inteligencji.
  • completion_tokens — łączna liczba tokenów wyjściowych wygenerowanych przez model.

Tip

Można wywołać ai.stats dowolną serię lub ramkę danych zwracaną przez funkcję sztucznej inteligencji. Może to ułatwić śledzenie użycia, zrozumienie wzorców błędów i monitorowanie użycia tokenów.