Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La ai.extract funzione estrae campi come nomi, posizioni o entità personalizzate da ogni riga di input.
Annotazioni
- Questo articolo tratta
ai.extractcon PySpark. Per informazioni su pandas, vedere Usare ai.extract con pandas. - Per tutte le funzioni di intelligenza artificiale e i prerequisiti, vedere Panoramica di Funzioni di intelligenza artificiale.
- Modificare la configurazione predefinita per Funzioni di intelligenza artificiale con PySpark.
Informazioni generali
La ai.extract funzione è disponibile per i dataframe Spark. È necessario specificare il nome di una colonna di input esistente come parametro, insieme a un elenco di tipi di entità da estrarre da ogni riga di testo.
La funzione restituisce un nuovo dataframe, con una colonna separata per ogni tipo di entità specificato che contiene valori estratti per ogni riga di input.
Estrazione basata su schema
aifunc.ExtractLabel supporta le definizioni dello schema JSON per l'estrazione strutturata. Oltre ai tipi di base (string, number, integere boolean), è possibile usare:
-
Enumerazioni: vincola i valori a un set fisso (ad esempio,
"enum": ["midfielder", "striker", "defender"]). -
Matrici: definire gli schemi degli elementi tramite
items(ad esempio,"type": "array", "items": {"type": "string"}). -
Oggetti con proprietà: specificare i campi annidati con
propertiese i loro tipi. -
Campi obbligatori: contrassegnare i campi obbligatori con
requiredper assicurarsi che siano sempre presenti nell'output. -
Nessun campo aggiuntivo: impostato
additionalProperties=falseper impedire al modello di restituire campi esterni allo schema definito. -
Valori nullable: esprimono tipi nullable (ad esempio,
type=["string", "null"]) per indicare dati facoltativi.
Quando viene usato in PySpark, ai.extract viene eseguito come una trasformazione Spark distribuita tra le partizioni Spark di Fabric.
Sintassi
from synapse.ml.spark import aifunc
Annotazioni
Il percorso di importazione pySpark è from synapse.ml.spark import aifunc. Per pandas, usare from synapse.ml import aifunc.
df.ai.extract(labels=["entity1", "entity2", "entity3"], input_col="input")
Parametri
| Nome | Description |
|---|---|
labels Obbligatorio |
Matrice di stringhe che rappresenta il set di tipi di entità da estrarre dai valori di testo nella colonna di input. |
input_col Obbligatorio |
Stringa contenente il nome di una colonna esistente con valori di testo di input da analizzare per le entità personalizzate. |
aifunc.ExtractLabel Opzionale |
Una o più definizioni di etichetta che descrivono i campi da estrarre. Vedi i parametri di ExtractLabel. |
error_col Opzionale |
Stringa contenente il nome di una nuova colonna per archiviare eventuali errori OpenAI risultanti dall'elaborazione di ogni riga di testo di input. Se non si imposta questo parametro, viene generato un nome predefinito per la colonna di errore. Se una riga di input non contiene errori, il valore in questa colonna è null. |
Parametri di ExtractLabel
| Nome | Description |
|---|---|
label Obbligatorio |
Stringa che rappresenta l'entità da estrarre dai valori di testo di input. |
description Opzionale |
Stringa che aggiunge un contesto aggiuntivo per il modello di intelligenza artificiale. Può includere requisiti, contesto o istruzioni per l'intelligenza artificiale da considerare durante l'esecuzione dell'estrazione. |
max_items Opzionale |
Valore int che specifica il numero massimo di elementi da estrarre per questa etichetta. |
type Opzionale |
Tipo di schema JSON per il valore estratto. I tipi supportati per questa classe includono string, numberinteger, boolean, , objecte array. |
properties Opzionale |
Proprietà aggiuntive dello schema JSON per il tipo, ad esempio items, propertiesenum, required, e additionalProperties. Esprimere i valori nullabili con type=["string", "null"]. Consulta Structured Outputs: schemi supportati. |
raw_col Opzionale |
Stringa che imposta il nome della colonna per la risposta LLM non elaborata. La risposta non elaborata fornisce un elenco di coppie di dizionario per ogni etichetta di entità, tra cui "reason" e "extraction_text". |
Restituzioni
La funzione restituisce un dataframe Spark con una nuova colonna per ogni tipo di entità specificato. La colonna o le colonne contengono le entità estratte per ogni riga di testo di input. Se non viene trovata alcuna corrispondenza, il risultato è null.
Il tipo restituito predefinito è un elenco di stringhe per ogni etichetta. Quando max_items non viene specificato, le corrispondenze multiple vengono restituite sotto forma di elenco. Se si specifica un tipo diverso nella aifunc.ExtractLabel configurazione , ad esempio , type="integer"l'output è un elenco di valori di tale tipo. Se si specifica max_items=1, viene generato un elenco a singolo elemento per tale etichetta. Il tipo di elemento di ogni elenco segue lo schema specificato.
Example
# 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)
Risultato:
Input multimodale
Per estrarre campi da immagini, PDF o file di testo, impostare input_col_type="path". Per la configurazione, vedere Usare l'input multimodale con Funzioni di intelligenza artificiale.
# 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)
Contenuti correlati
- Usare ai.extract con pandas.
- Altre informazioni sulle funzioni di intelligenza artificiale.
- Usare l'input multimodale con funzioni di intelligenza artificiale.
- Modificare la configurazione predefinita per Funzioni di intelligenza artificiale con PySpark.
- Informazioni sulla fatturazione per le funzioni di intelligenza artificiale.