Del via


Bruk ai.extract med PySpark

Funksjonen ai.extract bruker generativ AI til å skanne inndatatekst og trekke ut bestemte typer informasjon angitt av etiketter du velger (for eksempel steder eller navn). Den bruker bare en enkelt kodelinje.

Note

Oversikt

Funksjonen ai.extract er tilgjengelig for Spark DataFrames. Du må angi navnet på en eksisterende inndatakolonne som en parameter, sammen med en liste over enhetstyper som skal trekkes ut fra hver rad med tekst.

Funksjonen returnerer en ny DataFrame, med en egen kolonne for hver angitte enhetstype som inneholder utpakkede verdier for hver inndatarad.

Syntaks

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

Parametere

Name Beskrivelse
labels
Obligatorisk
En matrise med strenger som representerer settet med enhetstyper som skal trekkes ut fra tekstverdiene i inndatakolonnen.
input_col
Obligatorisk
En streng som inneholder navnet på en eksisterende kolonne med inndatatekstverdier som skal søkes etter de egendefinerte enhetene.
aifunc.ExtractLabel
Valgfritt
En eller flere merkedefinisjoner som beskriver feltene som skal trekkes ut. For mer informasjon, se tabellen ExtractLabel Parameters.
error_col
Valgfritt
En streng som inneholder navnet på en ny kolonne for å lagre eventuelle OpenAI-feil som er et resultat av behandling av hver inndatatekstrad. Hvis du ikke angir denne parameteren, genereres et standardnavn for feilkolonnen. Hvis en inndatarad ikke har noen feil, er verdien i denne kolonnen null.

ExtractLabel-parametere

Name Beskrivelse
label
Obligatorisk
En streng som representerer entiteten som skal trekkes ut fra inndata-tekstverdiene.
description
Valgfritt
En streng som gir ekstra kontekst til AI-modellen. Den kan inkludere krav, kontekst eller instruksjoner som AI-en bør vurdere under utvinningen.
max_items
Valgfritt
En int som spesifiserer maksimalt antall elementer som skal trekkes ut for denne etiketten.
type
Valgfritt
JSON-skjematype for den ekstraherte verdien. Støttede typer for denne klassen inkluderer string, , , integer, booleanobject, og arraynumber.
properties
Valgfritt
Flere JSON-skjemaegenskaper for typen som ordbok. Det kan inkludere støttede egenskaper som "items" for arrays, "properties" for objects, "enum" for enum-typer og mer. Se eksempel på bruk i denne artikkelen.
raw_col
Valgfritt
En streng som setter kolonnenavnet for det rå LLM-svaret. Det rå svaret gir en liste over ordbokpar for hver entitetsetikett, inkludert "reason" og "extraction_text".

Returnerer

Funksjonen returnerer en Spark DataFrame- med en ny kolonne for hver angitte enhetstype. Kolonnen eller kolonnene inneholder enhetene som er trukket ut for hver rad med inndatatekst. Hvis funksjonen identifiserer mer enn ett treff for en enhet, returnerer den bare ett av disse treffene. Hvis ingen treff blir funnet, blir resultatet null.

Standard returtype er en liste over strenger for hver etikett. Hvis brukere velger å spesifisere en annen type i konfigurasjonen aifunc.ExtractLabel , for eksempel "type=integer", vil utdataene være en liste over python-int. Hvis brukere spesifiserer "max_items=1" i konfigurasjonen aifunc.ExtractLabel , returneres kun ett element av typen for den etiketten.

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 eksempelkodecellen gir følgende utdata:

Skjermbilde som viser en ny dataramme med kolonnene «navn», «yrke» og «by», som inneholder dataene som er hentet ut fra den opprinnelige datarammen.