Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Funktionen ai.extract udtrækker felter som navne, placeringer eller brugerdefinerede enheder fra hver inputrække.
Notat
- Denne artikel handler
ai.extractom PySpark. For pandaer, se Brug ai.extract med pandaer. - For alle AI-funktioner og forudsætninger, se AI Functions oversigt.
- Ændr standardkonfigurationen for AI-funktioner med PySpark.
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.
Skema-drevet ekstraktion
aifunc.ExtractLabel understøtter JSON Schema-definitioner til struktureret udtræk. Ud over de grundlæggende typer (string, , integernumber, og boolean), kan du bruge:
-
Enums: Begræns værdier til et fast sæt (for eksempel,
"enum": ["midfielder", "striker", "defender"]). -
Arrays: Definer elementskemaer via
items(for eksempel,"type": "array", "items": {"type": "string"}). -
Objekter med egenskaber: Angiv indlejrede felter med
propertiesog deres typer. -
Påkrævede felter: Marker obligatoriske felter med
requiredfor at sikre, at de altid er til stede i outputtet. -
Ingen ekstra felter: Sæt
additionalProperties=falsetil at forhindre modellen i at returnere felter uden for det definerede skema. -
Nullbare værdier: Udtryk nullable typer (for eksempel
type=["string", "null"]) for valgfri data.
Når den bruges i PySpark, ai.extract kører den som en distribueret Spark-transformation på tværs af Fabric Spark-partitioner.
Syntaks
from synapse.ml.spark import aifunc
Notat
PySpark-importstien er from synapse.ml.spark import aifunc. For pandaer, brug from synapse.ml import aifunc.
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. Se ExtractLabel-parametre. |
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, , booleanobject, , og array. |
properties Valgfrit |
Yderligere JSON-skemaegenskaber for typen, såsom items, properties, , enum, required, og additionalProperties. Udtryk nullbare værdier med type=["string", "null"]. 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". |
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 der ikke findes et match, er resultatet null.
Standard-returtypen er en liste over strenge for hver label. Når ikke max_items er angivet, returneres flere matches som en liste. Hvis du angiver en anden type i konfigurationen aifunc.ExtractLabel (for eksempel type="integer"), er outputtet en liste over værdier af den type. Hvis du specificerer max_items=1, produceres en enkelt-element-liste for den pågældende label. Elementtypen i hver liste følger det skema, du angiver.
Eksempel
# This code uses AI. Always review output for mistakes.
df = spark.createDataFrame([
("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.",)
], ["descriptions"])
df_entities = df.ai.extract(labels=["name", "profession", "city"], input_col="descriptions")
display(df_entities)
Output:
Multimodal input
For at udtrække felter fra billeder, PDF'er eller tekstfiler, sæt input_col_type="path". For opsætning, se Brug multimodal input med AI-funktioner.
# This code uses AI. Always review output for mistakes.
extracted = custom_df.ai.extract(
labels=[
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,
),
],
input_col="file_path",
input_col_type="path",
)
display(extracted)
Relateret indhold
- Brug ai.extract med pandaer.
- Lær mere om AI-funktioner.
- Brug multimodal input med AI-funktioner.
- Ændr standardkonfigurationen for AI-funktioner med PySpark.
- Forstå fakturering for AI-funktioner.