Verwenden von multimodalen Eingaben mit KI-Funktionen (Vorschau)

Von Bedeutung

Dieses Feature befindet sich in der Vorschauphase.

KI-Funktionen wenden auf große DataFrames in pandas oder PySpark standardmäßig einzeilige, LLM-gestützte Transformationen mit hoher Parallelität an. Mit multimodaler Eingabe können Sie auch Bilder, PDFs und Textdateien verarbeiten, um Dokumente zu klassifizieren, PDFs zusammenzufassen, Informationen aus Bildern zu extrahieren und vieles mehr.

Verwenden Sie diese Tabelle, um zu multimodalen Beispielen und detaillierten Dokumentationen zu springen.

Funktion Beschreibung Ausführliche Dokumentation
ai.analyze_sentiment Erkennen der Stimmung in Dateien. Beispiel. Pandas, PySpark
ai.classify Klassifizieren Sie Dateien mithilfe Ihrer Bezeichnungen. Beispiel. Pandas, PySpark
ai.extract Extrahieren Sie Felder aus Dateien. Beispiel. Pandas, PySpark
ai.fix_grammar Korrigieren von Rechtschreibung, Grammatik und Interpunktion in Dateien. Beispiel. Pandas, PySpark
ai.generate_response Generieren Sie Antworten, die in Dateiinhalten geerdet sind. Beispiel. Pandas, PySpark
ai.summarize Fassen Sie Dateiinhalte zusammen. Beispiel. Pandas, PySpark
ai.translate Übersetzen von Dateiinhalten. Beispiel. Pandas, PySpark
aifunc.load Laden Sie Dateien aus einem Ordner in eine strukturierte Tabelle. Beispiel. Syntax und Parameter
aifunc.list_file_paths Rufen Sie Dateipfade aus einem Ordner ab. Beispiel. Syntax und Parameter
ai.infer_schema Leite ein Extraktionsschema aus Dateiinhalten ab. Beispiel. Syntax und Parameter

Unterstützte Dateitypen

Multimodale KI-Funktionen unterstützen die folgenden Dateitypen:

  • Bilder: jpg, jpeg, png, static gif, webp
  • Dokumente: pdf
  • Textdateien: md, txt, csv, tsv, json, xml, py und andere Textdateien

Hinweis

  • Multimodale Aufrufe mit Dateipfadeingaben funktionieren mit der responses API, die standard ist. Legen Sie api_type für Dateipfadeingaben nicht auf chat_completions fest.
  • Office-Dateiformate (z. B. .docx, .pptxund .xlsx) werden derzeit nicht unterstützt.
  • Sie können .docx- und .pptx-Dateien in PDF- und .xlsx-Dateien in CSV konvertieren, bevor Sie sie mit multimodalen KI-Funktionen verwenden.
  • Jede Eingabedatei ist auf 50 MB begrenzt.

Unterstützte URL-Protokolle

Multimodale Eingaben sind Zeichenfolgen, die eines der folgenden URL-Protokolle verwenden:

  • Lokale Dateipfade
  • http(s)
  • Wasbs
  • abfs(s)

Voraussetzungen

Multimodale KI-Funktionen teilen die gleichen Voraussetzungen wie textbasierte KI-Funktionen. Die vollständige Liste finden Sie unter Voraussetzungen.

Einrichten Ihrer Dateien

Organisieren Sie Ihre Dateien in einem Ordner, auf den von einem Pfad oder einer Glob-Formatzeichenfolge verwiesen werden kann.

Tipp

Verwenden Sie die Starter-Notebooks für KI-Funktionen für End-to-End-Beispiele zu KI-Funktionen, in denen alle KI-Funktionen verwendet werden. Die Startnotizbücher enthalten ein Notizbuch für Pandas und ein Notizbuch für PySpark.

Beispiel

Sie können Dateien in einem Lakehouse speichern, das an Ihr Notizbuch angefügt ist.

folder_path = "/lakehouse/default/Files"

Laden Ihrer Dateien

Um KI-Funktionen mit multimodaler Eingabe zu verwenden, können Sie entweder den Dateiinhalt in eine strukturierte Tabelle laden oder direkt in Ihrem DataFrame auf die Dateipfade verweisen. Die folgenden Beispiele zeigen beide Ansätze.

Laden von Dateien in eine Tabelle

Verwenden Sie die aifunc.load Funktion, um Dateien aus einem Ordner zu lesen und eine strukturierte Tabelle zu generieren. Die Funktion kann die Tabellenstruktur eigenständig ableiten, oder Sie können eine Aufforderung zum Leiten der Extraktion oder eines Schemas für eine konsistente Struktur bereitstellen. Dieser Ansatz ist nützlich, wenn die KI bestimmte Informationen aus den Dateien extrahieren und in einem strukturierten Format präsentieren soll.

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)

Laden von Dateipfaden in eine Spalte

Alternativ können Sie aifunc.list_file_paths verwenden, um eine Liste der Dateipfade aus einem Ordner abzurufen und sie in eine DataFrame-Spalte zu laden. Dieser Ansatz ist nützlich, wenn Sie KI-Funktionen in jeder Datei ausführen möchten.

Hinweis

Die meisten multimodalen Funktionen akzeptieren Dateipfade mit column_type="path" in pandas oder mit 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)

Von Bedeutung

Wenn Ihre Dateipfade als Zeichenfolgen-URLs in einer DataFrame-Spalte gespeichert werden, müssen Sie die KI-Funktion explizit anweisen, die Werte als Dateipfade anstatt als Nur-Text zu behandeln.

Legen Sie für KI-Funktionen auf Reihenebene (die in einer einzelnen Spalte ausgeführt werden) den column_type Parameter fest:

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

Verwenden Sie für KI-Funktionen auf Datenframeebene (die auf mehreren Spalten ausgeführt werden) den column_type_dict Parameter:

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

Hinweis

Wenn Sie aifunc.list_file_paths() verwenden, um Ihre Dateipfadspalte zu erstellen, werden die zurückgegebenen yarl.URL Objekte automatisch als Dateipfade erkannt. Sie müssen nur angeben column_type="path" , wann Ihre Spalte einfache Zeichenfolgen-URLs enthält.

Neue multimodale Funktionen

aifunc.load: Laden von Dateien in eine Tabelle

Die aifunc.load Funktion liest alle Dateien aus einem Ordnerpfad und generiert eine strukturierte Tabelle aus ihrem Inhalt. Optional können Sie eine Aufforderung zum Leiten der Extraktion oder eines Schemas für eine konsistente Struktur bereitstellen.

Syntax

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

Parameter

Name Beschreibung
folder_path (Erforderlich) Ein Zeichenfolgenpfad zu einem Ordner oder ein Muster im Glob-Stil, das mit Dateien übereinstimmt.
prompt (optional) Eine Zeichenfolge, die den Tabellengenerierungsprozess leitet. Verwenden Sie sie, um anzugeben, welche Felder aus den Dateien extrahiert werden sollen.
schema (optional) Ein Schemaobjekt (zurückgegeben durch einen vorherigen load Aufruf), das die Tabellenstruktur definiert. Wenn angegeben, verwendet die Funktion dieses Schema direkt.

Rückkehr

Ein Tupel von (DataFrame, schema). Der DataFrame enthält die strukturierten Daten, die aus den Dateien extrahiert wurden. Das Schema kann in nachfolgenden load Aufrufen für konsistente Ergebnisse wiederverwendet werden.

Beispiel

# 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: Dateien auflisten

Die aifunc.list_file_paths Funktion ruft alle gültigen Dateipfade aus einem angegebenen Ordner ab. Sie können die zurückgegebenen Dateipfade als Eingabe für jede multimodale KI-Funktion verwenden. Die Funktion unterstützt auch Glob-Stil-Muster.

Syntax

file_path_series = aifunc.list_file_paths(folder_path)

Parameter

Name Beschreibung
folder_path (Erforderlich) Ein Zeichenfolgenpfad zu einem Ordner oder ein Muster im Glob-Stil, das mit Dateien übereinstimmt.

Rückkehr

Eine Pandas-Reihe von yarl.URL Objekten, die anhand ihrer Zeichenfolgendarstellungen indiziert werden. Diese yarl.URL Objekte werden automatisch als Dateipfade von AI-Funktionen behandelt, sodass Sie nicht angeben column_type="path"müssen.

Beispiel

# 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: Ableiten des Schemas aus Dateien

Die ai.infer_schema Funktion leitet ein allgemeines Schema aus Dateiinhalten ab. Das abgeleitete Schema wird als eine Liste von aifunc.ExtractLabel-Objekten dargestellt, die Sie direkt an ai.extract zur strukturierten Datenextraktion übergeben können.

Syntax

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

Parameter

Name Beschreibung
prompt (optional) Eine Zeichenfolge zum Leiten der Schema-Ableitung. Wenn nicht angegeben, leitet die Funktion das Schema allein aus dem Dateiinhalt ab.
n_samples (optional) Eine ganze Zahl, die angibt, wie viele Elemente für die Ableitung verwendet werden sollen. Der Standardwert ist 3.
column_type (optional) Auf "path" festlegen, um Spaltenwerte als Dateipfade zu behandeln.

Rückkehr

Eine Liste von aifunc.ExtractLabel Objekten, die das abgeleitete Schema beschreiben. Sie können diese Liste an ai.extract übergeben, um strukturierte Daten aus Dateien zu extrahieren.

Beispiel

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

Verwenden von multimodalen Eingaben mit vorhandenen KI-Funktionen

Die folgenden Beispiele zeigen, wie Sie die multimodale Eingabe mit jedem der unterstützten KI-Funktionen verwenden.

ai.analyze_sentiment: Erkennen der Stimmung von Dateien

Vollständige Parameter finden Sie unter Pandas oder 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.klassifizieren: Klassifizieren von Dateien

Vollständige Parameter finden Sie unter Pandas oder 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: Extrahieren von Entitäten aus Dateien

Vollständige Parameter finden Sie unter Pandas oder 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: Korrigieren der Grammatik in Dateien

Vollständige Parameter finden Sie unter Pandas oder 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: Anwenden von benutzerdefinierten Eingabeaufforderungen auf Dateien

Vollständige Parameter finden Sie unter Pandas oder 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: Zusammenfassen von Dateien

Vollständige Parameter finden Sie unter Pandas oder 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)

Sie können Werte in allen Spalten in einem DataFrame zusammenfassen, indem Sie die Eingabespalte weglassen und Dateipfadspalten mit column_type_dict (Pandas) oder col_types (PySpark) angeben:

# 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: Dateien übersetzen

Vollständige Parameter finden Sie unter Pandas oder 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)

Bewertung der Ausgabequalität

Verwenden Sie die AI Functions Eval Notebooks für strukturierte Workflows, die LLM-as-a-Judge verwenden, um multimodale Ergebnisse zu bewerten und Metriken wie Genauigkeit, Präzision, Recall, F1, Kohärenz, Konsistenz und Relevanz zu berechnen. Sie können diese Workflows verwenden, um die Qualität der Klassifizierung, Extraktion, Zusammenfassung und andere KI-Funktionsergebnisse zu überprüfen, bevor Sie zur Produktion wechseln.

Überwachen der Kosten- und Kapazitätsauslastung

Verwenden Sie die Abrechnung für KI-Funktionen , um Kosten, Laufzeitnutzung und Kapazitätsüberwachung zu verstehen.