Utilizzare ai.summarize con PySpark

La ai.summarize funzione riepiloga il testo da una colonna o in tutte le colonne di ogni riga.

Annotazioni

Informazioni generali

La ai.summarize funzione è disponibile anche per i dataframe Spark. Se si specifica il nome di una colonna di input esistente come parametro, la funzione riepiloga ogni valore da tale colonna. In caso contrario, la funzione riepiloga i valori in tutte le colonne del dataframe, riga per riga.

La funzione restituisce un nuovo dataframe con riepiloghi per ogni riga di testo di input, da una singola colonna o in tutte le colonne archiviate in una colonna di output.

Sintassi

df.ai.summarize(input_col="text", output_col="summaries")

Parametri

Nome Description
input_col
Opzionale
Stringa contenente il nome di una colonna esistente con valori di testo di input da riepilogare. Se non si imposta questo parametro, la funzione riepiloga i valori in tutte le colonne del dataframe, anziché i valori di una colonna specifica.
instructions
Opzionale
Una stringa che fornisce ulteriore contesto per il modello di intelligenza artificiale, ad esempio la lunghezza dell'output, il tono, il pubblico o l'aspetto su cui concentrarsi. Istruzioni più precise producono risultati migliori.
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.
output_col
Opzionale
Stringa contenente il nome di una nuova colonna in cui archiviare i riepiloghi per ogni riga di testo di input. Se non si imposta questo parametro, viene generato un nome predefinito per la colonna di output.

Restituzioni

La funzione restituisce un dataframe Spark che include una nuova colonna contenente testo riepilogato per ogni riga di testo di input. Se il testo di input è null, il risultato è null. Se non viene specificata alcuna colonna di input, la funzione riepiloga i valori in tutte le colonne del dataframe.

Example

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

df = spark.createDataFrame([
        ("Microsoft Teams", "2017",
        """
        The ultimate messaging app for your organization—a workspace for real-time 
        collaboration and communication, meetings, file and app sharing, and even the 
        occasional emoji! All in one place, all in the open, all accessible to everyone.
        """,),
        ("Microsoft Fabric", "2023",
        """
        An enterprise-ready, end-to-end analytics platform that unifies data movement, 
        data processing, ingestion, transformation, and report building into a seamless, 
        user-friendly SaaS experience. Transform raw data into actionable insights.
        """,)
    ], ["product", "release_year", "description"])

summaries = df.ai.summarize(input_col="description", output_col="summaries")
display(summaries)

Risultato:

Screenshot che mostra un frame di dati. La colonna

Personalizzare i riepiloghi con le istruzioni

Utilizzare il parametro instructions per controllare il tono, la lunghezza, i destinatari o il focus dei riepiloghi generati senza modificare il testo di origine.

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

summaries = df.ai.summarize(
    input_col="description",
    output_col="executive_summary",
    instructions="Write one concise sentence for a business executive. Focus on product value and avoid marketing language.",
)
display(summaries)

Input multimodale

Per riepilogare immagini, PDF o file di testo, impostare input_col_type="path" per la modalità a colonna singola o col_types per la modalità a livello di dataframe. Per la configurazione, vedere Usare l'input multimodale con Funzioni di intelligenza artificiale.

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

# Summarize file content from a single column
results = custom_df.ai.summarize(
    instructions="Summarize this file in one sentence for a support analyst.",
    input_col="file_path",
    input_col_type="path",
    output_col="summary",
)
display(results)

È anche possibile riepilogare i valori in tutte le colonne di un dataframe omettendo la colonna di input e usando col_types:

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

results = custom_df.ai.summarize(
    col_types={"file_path": "path"},
    output_col="summary",
)
display(results)