Del via


Brug ai.extract med PySpark

Funktionen ai.extract bruger generativ AI til at scanne inputtekst og udtrække bestemte typer oplysninger, der er angivet af etiketter, du vælger (f.eks. placeringer eller navne). Den bruger kun en enkelt kodelinje.

Notat

Oversigt

Funktionen ai.extract er tilgængelig for Spark DataFrames. Du skal angive navnet på en eksisterende inputkolonne som en parameter sammen med en liste over objekttyper, der skal udtrækkes fra hver tekstrække.

Funktionen returnerer en ny DataFrame med en separat kolonne for hver angivet objekttype, der indeholder udtrukne værdier for hver inputrække.

Syntaks

df.ai.extract(labels=["entity1", "entity2", "entity3"], input_col="input")

Parametre

Navn Beskrivelse
labels
Påkrævet
En matrix af strenge , der repræsenterer det sæt af objekttyper, der skal udtrækkes fra tekstværdierne i inputkolonnen.
input_col
Påkrævet
En streng , der indeholder navnet på en eksisterende kolonne med inputtekstværdier, der skal scannes efter de brugerdefinerede objekter.
aifunc.ExtractLabel
Valgfrit
En eller flere label-definitioner, der beskriver felterne, der skal udtrækkes. For mere information, se tabellen ExtractLabel Parameters.
error_col
Valgfrit
En streng , der indeholder navnet på en ny kolonne for at gemme eventuelle OpenAI-fejl, der skyldes behandling af hver inputtekstrække. Hvis du ikke angiver denne parameter, genereres der et standardnavn for fejlkolonnen. Hvis der ikke er nogen fejl i en inputrække, er værdien i denne kolonne null.

ExtractLabel-parametre

Navn Beskrivelse
label
Påkrævet
En streng , der repræsenterer den enhed, der skal udtrækkes fra inputtekstens værdier.
description
Valgfrit
En streng , der tilføjer ekstra kontekst til AI-modellen. Det kan indeholde krav, kontekst eller instruktioner, som AI'en skal overveje under udtrækningen.
max_items
Valgfrit
En int, der specificerer det maksimale antal genstande, der skal udtrækkes til denne etiket.
type
Valgfrit
JSON-skematype for den udtrukne værdi. Understøttede typer for denne klasse inkluderer string, number, integer, , objectboolean, , og array.
properties
Valgfrit
Flere JSON-skemaegenskaber for typen som ordbog. Det kan inkludere understøttede egenskaber som "items" for arrays, "properties" for objects, "enum" for enum-typer og mere. Se eksempel på brug i denne artikel.
raw_col
Valgfrit
En streng , der sætter kolonnenavnet for det rå LLM-svar. Det rå svar giver en liste over ordbogspar for hver entitetslabel, inklusive "reason" og "extraction_text".

Returnerer

Funktionen returnerer en Spark DataFrame med en ny kolonne for hver angivet objekttype. Kolonnen eller kolonnerne indeholder de enheder, der er udtrukket for hver række med inputtekst. Hvis funktionen identificerer mere end ét match for et objekt, returnerer den kun ét af disse matches. Hvis der ikke findes et match, er resultatet null.

Standard-returtypen er en liste over strenge for hver label. Hvis brugere vælger at specificere en anden type i konfigurationen aifunc.ExtractLabel , såsom "type=integer", vil outputtet være en liste over python int. Hvis brugerne angiver "max_items=1" i konfigurationen aifunc.ExtractLabel , returneres kun ét element af typen for den label.

Eksempel

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

df = spark.createDataFrame([
        ("MJ Lee lives in Tuscon, AZ, and works as a software engineer for Contoso.",),
        ("Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey.",)
    ], ["descriptions"])

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

Denne eksempelkodecelle indeholder følgende output:

Skærmbillede, der viser en ny dataramme med kolonnerne 'navn', 'erhverv' og 'by', der indeholder de data, der er udtrukket fra den oprindelige dataramme.