Använda ai.extract med Pandas

Funktionen ai.extract använder generativ AI för att skanna indatatext och extrahera specifika typer av information som du väljer (till exempel platser eller namn). Den använder bara en enda kodrad.

Anmärkning

Översikt

Klassen ai.extract utökas av funktionen . Om du vill extrahera anpassade entitetstyper från varje rad med indata anropar du funktionen i en pandas DataFrame-textkolumn .

Till skillnad från andra AI-funktioner returnerar ai.extract en Pandas DataFrame, i stället för en serie, med en separat kolumn för varje angiven entitetstyp som innehåller extraherade värden för varje indatarad.

Syntax

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

Parameterar

Namn Description
labels
Krävs
En eller flera strängar som representerar uppsättningen entitetstyper som ska extraheras från indatatextvärdena.
aifunc.ExtractLabel
Valfritt
En eller flera etikettdefinitioner som beskriver fälten som ska extraheras. Mer information finns i tabellen ExtractLabel Parameters.

ExtractLabel-parametrar

Namn Description
label
Krävs
En sträng som representerar entiteten som ska extraheras från indatatextvärdena.
description
Valfritt
En sträng som lägger till extra kontext för AI-modellen. Den kan innehålla krav, kontext eller instruktioner för AI:n att tänka på när extrahering utförs.
max_items
Valfritt
En int som anger det maximala antalet objekt som ska extraheras för den här etiketten.
type
Valfritt
JSON-schematyp för det extraherade värdet. Typer som stöds för den här klassen är string, number, integer, boolean, objectoch array.
properties
Valfritt
Fler JSON-schemaegenskaper för typen som en ordlista. Den kan innehålla stödda egenskaper som "element" för matriser, "egenskaper" för objekt, "enum" för enumtyper och mer. Se exempelanvändning i den här artikeln.
raw_col
Valfritt
En sträng som anger kolumnnamnet för det råa LLM-svaret. Råsvaret innehåller en lista över ordlistepar för varje entitetsetikett, inklusive "orsak" och "extraction_text".

Retur

Funktionen returnerar en Pandas DataFrame- med en kolumn för varje angiven entitetstyp. Kolumnen eller kolumnerna innehåller de entiteter som extraheras för varje rad med indatatext. Om funktionen identifierar mer än en matchning för en entitet returnerar den bara en av dessa matchningar. Om ingen matchning hittas blir resultatet null.

Standardreturtypen är en lista med strängar för varje etikett. Om användarna väljer att ange en annan typ i konfigurationen aifunc.ExtractLabel , till exempel "type=heltal", blir utdata en lista över python-int. Om användarna anger "max_items=1" i konfigurationen aifunc.ExtractLabel returneras endast ett element av typen för etiketten.

Example

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

df = pd.DataFrame([
        "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."
    ], columns=["descriptions"])

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

Den här exempelkodcellen innehåller följande utdata:

Skärmbild som visar en ny dataram med kolumnerna