Brug ai.extract med pandaer

Funktionen ai.extract udtrækker felter som navne, placeringer eller brugerdefinerede enheder fra hver inputrække.

Notat

Oversigt

Funktionen ai.extractudvider pandaserieklassen . Hvis du vil udtrække brugerdefinerede objekttyper fra hver inputrække, skal du kalde funktionen i en pandas DataFrame-tekstkolonne .

I modsætning til andre AI-funktioner ai.extract returnerer den en pandas DataFrame i stedet for en serie, med en separat kolonne for hver specificeret enhedstype, som indeholder udtrukne værdier for hver inputrække.

Syntaks

df_entities = df["text"].ai.extract("entity1", "entity2", "entity3")

Parametre

Navn Beskrivelse
labels
Påkrævet
En eller flere strenge , der repræsenterer det sæt objekttyper, der skal udtrækkes fra inputtekstværdierne.
aifunc.ExtractLabel
Valgfrit
En eller flere label-definitioner, der beskriver felterne, der skal udtrækkes. Se ExtractLabel-parametre.

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, , booleanobject, , og array.
properties
Valgfrit
Yderligere JSON-skemaegenskaber for typen, såsom items, properties, og enum. Se Strukturerede output: Understøttede skemaer.
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".

Tips

Brug ai.infer_schema til at udlede et labelskema ud fra filindholdet og sende de returnerede aifunc.ExtractLabel objekter direkte til ai.extract. For eksempler, se Brug multimodal input med AI-funktioner.

Returnerer

Funktionen returnerer en pandas DataFrame med en 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 du sætter en type i aifunc.ExtractLabel, såsom type="integer", er outputtet en liste over Python-værdierint. Hvis du sætter max_items=1, returnerer funktionen én værdi for den label.

Eksempel

# 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 Contoso.",
        "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)

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.

Multimodal input

For at udtrække felter fra billeder, PDF'er eller tekstfiler, skal du sætte column_type="path" hvornår inputkolonnen indeholder almindelige streng-filstier. Filstier, der returneres af aifunc.list_file_paths() bliver automatisk registreret. For opsætning, se Brug multimodal input med AI-funktioner.

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

extracted = custom_df["file_path"].ai.extract(
    aifunc.ExtractLabel(
        "name",
        description="The full name of the candidate, first letter capitalized.",
        max_items=1,
    ),
    "companies_worked_for",
    aifunc.ExtractLabel(
        "year_of_experience",
        description="The total years of professional work experience the candidate has, excluding internships.",
        type="integer",
        max_items=1,
    ),
    column_type="path",
)
display(extracted)