Usare input multimodale con Funzioni di IA (Anteprima)

Importante

Questa funzionalità si trova in Anteprima.

Le funzioni di intelligenza artificiale applicano trasformazioni in una riga basate su LLM a DataFrame pandas o PySpark di grandi dimensioni, con un livello elevato di concorrenza per impostazione predefinita. Con l'input multimodale, è anche possibile elaborare immagini, PDF e file di testo per classificare documenti, riassumere PDF, estrarre informazioni dalle immagini e altro ancora.

Usa questa tabella per andare direttamente agli esempi multimodali e alla documentazione dettagliata.

Function Descrizione Documentazione dettagliata
ai.analyze_sentiment Analizzare il sentiment nei file. Esempio. pandas, PySpark
ai.classify Classificare i file usando le etichette. Esempio. pandas, PySpark
ai.extract Estrarre campi dai file. Esempio. pandas, PySpark
ai.fix_grammar Correzione dell'ortografia, della grammatica e della punteggiatura nei file. Esempio. pandas, PySpark
ai.generate_response Generare risposte basate sul contenuto del file. Esempio. pandas, PySpark
ai.summarize Riepilogare il contenuto del file. Esempio. pandas, PySpark
ai.translate Tradurre il contenuto del file. Esempio. pandas, PySpark
aifunc.load Caricare i file da una cartella in una tabella strutturata. Esempio. Sintassi e parametri
aifunc.list_file_paths Ottieni i percorsi dei file da una cartella. Esempio. Sintassi e parametri
ai.infer_schema Dedurre uno schema di estrazione dal contenuto del file. Esempio. Sintassi e parametri

Tipi di file supportati

Le funzioni di IA multimodale supportano i seguenti tipi di file:

  • Immagini: jpg, jpeg, png, gif statica, webp
  • Documenti: pdf
  • File di testo: md, txt, csv, tsv, json, xml, py e altri file di testo

Annotazioni

  • Le chiamate multimodali con input tramite percorso file funzionano con l'API responses, che è quella predefinita. Non impostare api_type su chat_completions per i campi del percorso del file.
  • I formati di file di Office ( ad esempio .docx, .pptxe .xlsx) non sono attualmente supportati.
  • È possibile convertire file .docx e .pptx in file PDF e .xlsx in file CSV prima di usarli con funzioni di intelligenza artificiale multilività.
  • Ogni file di input è limitato a 50 MB di dimensioni.

Protocolli URL supportati

Gli input multimodali sono stringhe che utilizzano uno di questi protocolli URL:

  • percorsi di file locali
  • http(s)
  • wasbs
  • abfs(s)

Prerequisiti

Funzioni di intelligenza artificiale bidirezionale condividono gli stessi prerequisiti delle funzioni di intelligenza artificiale basate su testo. Per l'elenco completo, vedere Prerequisiti.

Configura i tuoi file

Organizzare i file in una cartella a cui è possibile fare riferimento tramite un percorso o una stringa di tipo glob.

Suggerimento

Usare i notebook introduttivi delle Funzioni di IA per esempi end-to-end delle Funzioni di IA che utilizzano tutte le Funzioni di IA. I notebook di avvio includono un notebook per pandas e un notebook per PySpark.

Esempio

È possibile archiviare i file in una Lakehouse collegata al notebook.

folder_path = "/lakehouse/default/Files"

Carica i tuoi file

Per usare Le funzioni di intelligenza artificiale con l'input multifunzionale, è possibile caricare il contenuto del file in una tabella strutturata o fare riferimento ai percorsi dei file direttamente nel dataframe. Negli esempi seguenti vengono illustrati entrambi gli approcci.

Caricare file in una tabella

Usare la aifunc.load funzione per leggere i file da una cartella e generare una tabella strutturata. La funzione può dedurre la struttura di tabella autonomamente oppure fornire un prompt per guidare l'estrazione o uno schema per una struttura coerente. Questo approccio è utile quando si vuole che l'intelligenza artificiale estragga informazioni specifiche dai file e la presenti in un formato strutturato.

df, schema = aifunc.load(folder_path)
# or
df, schema = aifunc.load(folder_path, prompt="Give me candidate's name and the most recent company they worked for.")
display(df)

Caricare i percorsi di file in una colonna

In alternativa, è possibile usare aifunc.list_file_paths per ottenere un elenco di percorsi di file da una cartella e caricarli in una colonna DataFrame. Questo approccio è utile quando si vogliono eseguire funzioni di intelligenza artificiale in ogni file.

Annotazioni

La maggior parte delle funzioni multimodali accetta i percorsi di file con column_type="path" in pandas o input_col_type/col_types="path" in PySpark.

file_path_series = aifunc.list_file_paths(folder_path)
df = pd.DataFrame({"file_path": file_path_series}).reset_index(drop=True)
display(df)

Importante

Quando i percorsi dei file vengono archiviati come URL stringa in una colonna DataFrame, è necessario indicare in modo esplicito alla funzione di intelligenza artificiale di considerare i valori come percorsi di file anziché come testo normale.

Per Le funzioni di intelligenza artificiale a livello di serie (che operano su una singola colonna), impostare il column_type parametro :

df["result"] = df["file_path"].ai.analyze_sentiment(column_type="path")

Per le funzioni di intelligenza artificiale a livello di dataframe (che opera su più colonne), usare il column_type_dict parametro :

df["result"] = df.ai.generate_response(
    prompt="Describe the content.",
    column_type_dict={"file_path": "path"},
)

Annotazioni

Se si usa aifunc.list_file_paths() per creare la colonna del percorso del file, gli oggetti restituiti yarl.URL vengono rilevati automaticamente come percorsi di file. È necessario specificare column_type="path" solo quando la colonna contiene URL stringa normale.

Nuove funzioni multifunzionali

aifunc.load: Carica i file in una tabella

La aifunc.load funzione legge tutti i file da un percorso di cartella e genera una tabella strutturata dal relativo contenuto. Facoltativamente, è possibile fornire un prompt per guidare l'estrazione o uno schema per una struttura coerente.

Sintassi

df, schema = aifunc.load(folder_path, prompt=None, schema=None)

Parametri

Nome Descrizione
folder_path (obbligatorio) Percorso di una stringa a una cartella o a un pattern in stile glob che corrisponde ai file.
prompt (facoltativo) Stringa che guida il processo di generazione della tabella. Usarlo per specificare i campi da estrarre dai file.
schema (facoltativo) Oggetto schema (restituito da una chiamata precedente load ) che definisce la struttura della tabella. Se specificato, la funzione usa direttamente questo schema.

Restituzioni

Una tupla di (DataFrame, schema). Il dataframe contiene i dati strutturati estratti dai file. Lo schema può essere riutilizzato nelle chiamate successive load per ottenere risultati coerenti.

Esempio

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

# Basic load – let the AI infer the table structure
df, schema = aifunc.load(folder_path)
display(df)
# This code uses AI. Always review output for mistakes.

# Guided load – provide a prompt to specify what to extract
guided_df, guided_schema = aifunc.load(
    folder_path,
    prompt="Give me candidate's name and the most recent company they worked for.",
)
display(guided_df)

aifunc.list_file_paths: Elenca i file

La aifunc.list_file_paths funzione recupera tutti i percorsi di file validi da una cartella specificata. È possibile usare i percorsi di file restituiti come input per qualsiasi funzione di intelligenza artificiale multimodale. La funzione supporta anche pattern di tipo glob.

Sintassi

file_path_series = aifunc.list_file_paths(folder_path)

Parametri

Nome Descrizione
folder_path (obbligatorio) Percorso di una stringa a una cartella o a un pattern in stile glob che corrisponde ai file.

Restituzioni

Serie pandas di yarl.URL oggetti, indicizzati in base alle loro rappresentazioni in formato stringa. Questi yarl.URL oggetti vengono considerati automaticamente come percorsi di file da Funzioni di intelligenza artificiale, quindi non è necessario specificare column_type="path".

Esempio

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

file_path_series = aifunc.list_file_paths(folder_path)
custom_df = pd.DataFrame({"file_path": file_path_series}).reset_index(drop=True)
display(custom_df)

ai.infer_schema: inferire lo schema dai file

La ai.infer_schema funzione deduce uno schema comune dal contenuto del file. Lo schema dedotto è rappresentato come un elenco di aifunc.ExtractLabel oggetti che è possibile passare direttamente a ai.extract per l'estrazione di dati strutturati.

Sintassi

schema = df["file_path"].ai.infer_schema(column_type="path")

Parametri

Nome Descrizione
prompt (facoltativo) Stringa per guidare l'inferenza dello schema. Se non specificato, la funzione deduce lo schema solo dal contenuto del file.
n_samples (facoltativo) Intero che specifica il numero di elementi da campionare per l'inferenza. Il valore predefinito è 3.
column_type (facoltativo) Impostare su "path" per considerare i valori di colonna come percorsi di file.

Restituzioni

Elenco di aifunc.ExtractLabel oggetti che descrivono lo schema dedotto. È possibile passare questo elenco a ai.extract per estrarre dati strutturati dai file.

Esempio

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

# Infer a schema from file contents
schema = df["file_path"].ai.infer_schema(column_type="path")
for label in schema:
    print(label)

# Use the inferred schema with ai.extract
extracted_df = df["file_path"].ai.extract(*schema, column_type="path")
display(extracted_df)

Usare l'input multimodale con le funzioni di intelligenza artificiale esistenti

Gli esempi seguenti illustrano come usare l'input multifunzionale con ognuna delle funzioni di intelligenza artificiale supportate.

ai.analyze_sentiment: rilevare il sentiment dai file

Per i parametri completi, vedere pandas o PySpark.

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

animal_urls = [
    "<image-url-golden-retriever>",  # Replace with URL to an image of a golden retriever
    "<image-url-giant-panda>",  # Replace with URL to an image of a giant panda
    "<image-url-bald-eagle>",  # Replace with URL to an image of a bald eagle
]
animal_df = pd.DataFrame({"file_path": animal_urls})

animal_df["sentiment"] = animal_df["file_path"].ai.analyze_sentiment(column_type="path")
display(animal_df)

ai.classify: Classificare i file

Per i parametri completi, vedere pandas o PySpark.

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

custom_df["highest_degree"] = custom_df["file_path"].ai.classify(
    "Master", "PhD", "Bachelor", "Other",
    column_type="path",
)
display(custom_df)

ai.extract: Estrarre entità dai file

Per i parametri completi, vedere pandas o PySpark.

# 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)

ai.fix_grammar: Correggere la grammatica nei file

Per i parametri completi, vedere pandas o PySpark.

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

custom_df["corrections"] = custom_df["file_path"].ai.fix_grammar(column_type="path")
display(custom_df)

ai.generate_response: applicare prompt personalizzati ai file

Per i parametri completi, vedere pandas o PySpark.

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

# Series-level: generate a response from each file
animal_df["animal_name"] = animal_df["file_path"].ai.generate_response(
    prompt="What type of animal is in this image? Give me only the animal's common name.",
    column_type="path",
)
display(animal_df)
# This code uses AI. Always review output for mistakes.

# DataFrame-level: use all columns as context
animal_df["description"] = animal_df.ai.generate_response(
    prompt="Describe this animal's natural habitat and one interesting fact about it.",
    column_type_dict={"file_path": "path"},
)
display(animal_df)

ai.summarize: Riepilogare i file

Per i parametri completi, vedere pandas o PySpark.

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

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

È possibile riepilogare i valori in tutte le colonne di un dataframe omettendo la colonna di input e specificando le colonne del percorso del file con column_type_dict (pandas) o col_types (PySpark):

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

custom_df["summary"] = custom_df.ai.summarize(
    column_type_dict={"file_path": "path"},
)
display(custom_df)

ai.translate: Traduci file

Per i parametri completi, vedere pandas o PySpark.

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

custom_df["chinese_version"] = custom_df["file_path"].ai.translate(
    "Chinese",
    column_type="path",
)
display(custom_df)

Valutare la qualità dell'output

Usa i notebook di valutazione delle funzioni di IA per flussi di lavoro strutturati che utilizzano LLM-as-a-Judge per valutare output multimodali e calcolare metriche quali accuratezza, precisione, recall, F1, coerenza, consistenza e pertinenza. È possibile usare questi flussi di lavoro per convalidare la qualità della classificazione, estrazione, riepilogo e altri risultati delle funzioni di intelligenza artificiale prima di passare alla produzione.

Monitorare l'utilizzo dei costi e della capacità

Usa Fatturazione per le funzioni di IA per comprendere i costi, l'utilizzo del runtime e il monitoraggio della capacità.