Multimodale invoer gebruiken met AI-functies (preview)

Belangrijk

Deze functie is beschikbaar als preview-versie.

AI Functions past standaard éénregelige, door LLM aangedreven transformaties toe op grote pandas of PySpark DataFrames met hoge gelijktijdigheid. Met multimodale invoer kunt u ook afbeeldingen, PDF-bestanden en tekstbestanden verwerken om documenten te classificeren, PDF-bestanden samen te vatten, informatie uit afbeeldingen te extraheren en meer.

Gebruik deze tabel om naar multimodale voorbeelden en gedetailleerde documentatie te gaan.

Functie Beschrijving Gedetailleerde documentatie
ai.analyze_sentiment Gevoel in bestanden detecteren. voorbeeld van. pandas, PySpark
ai.classify Bestanden classificeren met behulp van uw labels. voorbeeld van. pandas, PySpark
ai.extract Haal velden uit bestanden. voorbeeld van. pandas, PySpark
ai.fix_grammar Corrigeer de spelling, grammatica en leestekens in bestanden. voorbeeld van. pandas, PySpark
ai.generate_response Genereer antwoorden op basis van bestandsinhoud. voorbeeld van. pandas, PySpark
ai.summarize Bestandsinhoud samenvatten. voorbeeld van. pandas, PySpark
ai.translate Bestandsinhoud vertalen. voorbeeld van. pandas, PySpark
aifunc.load Bestanden uit een map laden in een gestructureerde tabel. voorbeeld van. Syntaxis en parameters
aifunc.list_file_paths Bestandspaden ophalen uit een map. voorbeeld van. Syntaxis en parameters
ai.infer_schema Een extractieschema afleiden uit bestandsinhoud. voorbeeld van. Syntaxis en parameters

Ondersteunde bestandstypen

Multimodale AI-functies ondersteunen de volgende bestandstypen:

  • Afbeeldingen: jpg, jpeg, png, statische gif, webp
  • Documenten: pdf
  • Tekstbestanden: md, txt, csv, tsv, json, xml, py en andere tekstbestanden

Opmerking

  • Multimodale aanroepen met bestandspadinvoer werken met de responses API. Dit is de standaardinstelling. Stel api_type niet in op chat_completions voor bestandspadinvoer.
  • Office-bestandsindelingen (zoals .docx, .pptxen .xlsx) worden momenteel niet ondersteund.
  • U kunt .docx- en .pptx-bestanden converteren naar PDF- en .xlsx bestanden naar CSV voordat u ze met multimodale AI-functies gebruikt.
  • Elk invoerbestand is beperkt tot 50 MB.

Ondersteunde URL-protocollen

Multimodale invoer zijn tekenreeksen die gebruikmaken van een van deze URL-protocollen:

  • lokale bestandspaden
  • http(s)
  • wasbs
  • abfs(s)

Vereiste voorwaarden

Multimodale AI-functies delen dezelfde vereisten als op tekst gebaseerde AI-functies. Zie Vereisten voor de volledige lijst.

Uw bestanden configureren

Organiseer uw bestanden in een map waarnaar kan worden verwezen door een pad of een tekenreeks in glob-stijl.

Aanbeveling

Gebruik de AI Functions Starter Notebooks voor end-to-end AI Functions-voorbeelden die gebruikmaken van alle AI-functies. De startersnotebooks bevatten één notebook voor pandas en één notebook voor PySpark.

Voorbeeld

U kunt bestanden opslaan in een Lakehouse die is gekoppeld aan uw notitieblok.

folder_path = "/lakehouse/default/Files"

Uw bestanden laden

Als u AI-functies wilt gebruiken met multimodale invoer, kunt u de bestandsinhoud laden in een gestructureerde tabel of rechtstreeks verwijzen naar de bestandspaden in uw DataFrame. In de volgende voorbeelden ziet u beide benaderingen.

Bestanden laden in een tabel

Gebruik de aifunc.load functie om bestanden uit een map te lezen en een gestructureerde tabel te genereren. De functie kan de tabelstructuur zelf afleiden of u kunt een prompt opgeven om de extractie te begeleiden, of een schema voor consistente structuur. Deze benadering is handig als u wilt dat de AI specifieke informatie uit de bestanden extraheert en deze in een gestructureerde indeling presenteert.

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)

Bestandspaden in een kolom laden

Een alternatieve methode is om aifunc.list_file_paths te gebruiken om een lijst met bestandspaden uit een map op te halen en deze in een DataFrame-kolom te laden. Deze methode is handig als u AI Functions wilt uitvoeren in elk bestand.

Opmerking

De meeste multimodale functies accepteren bestandspaden met column_type="path" in pandas of 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)

Belangrijk

Wanneer uw bestandspaden worden opgeslagen als tekenreeks-URL's in een DataFrame-kolom, moet u de AI-functie expliciet vertellen om de waarden als bestandspaden te behandelen in plaats van tekst zonder opmaak.

Stel de parameter in voor column_type (werken op één kolom):

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

Gebruik de parameter voor column_type_dict (werken op meerdere kolommen):

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

Opmerking

Als u aifunc.list_file_paths() gebruikt om uw bestandspadkolom te maken, worden de geretourneerde yarl.URL objecten automatisch als bestandspaden gedetecteerd. U hoeft alleen op te geven column_type="path" wanneer uw kolom URL's voor gewone tekenreeksen bevat.

Nieuwe multimodale functies

aifunc.load: Bestanden laden in een tabel

De aifunc.load functie leest alle bestanden uit een mappad en genereert een gestructureerde tabel op basis van de inhoud. U kunt desgewenst een prompt opgeven om de extractie te begeleiden of een schema voor consistente structuur.

Syntaxis

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

Parameterwaarden

Naam Beschrijving
folder_path (vereist) Een tekenreekspad naar een map of een patroon in glob-stijl dat overeenkomt met bestanden.
prompt (optioneel) Een tekenreeks die het proces voor het genereren van tabellen begeleidt. Gebruik deze om op te geven welke velden uit de bestanden moeten worden geëxtraheerd.
schema (optioneel) Een schemaobject (geretourneerd door een vorige load aanroep) waarmee de tabelstructuur wordt gedefinieerd. Wanneer deze functie is opgegeven, wordt dit schema rechtstreeks gebruikt.

Retouren

Een tuple van (DataFrame, schema). Het DataFrame bevat de gestructureerde gegevens die zijn geëxtraheerd uit de bestanden. Het schema kan opnieuw worden gebruikt in volgende load aanroepen voor consistente resultaten.

Voorbeeld

# 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: Bestanden weergeven

De aifunc.list_file_paths functie haalt alle geldige bestandspaden op uit een opgegeven map. U kunt de geretourneerde bestandspaden gebruiken als invoer voor elke multimodale AI-functie. De functie ondersteunt ook glob-stijl patronen.

Syntaxis

file_path_series = aifunc.list_file_paths(folder_path)

Parameterwaarden

Naam Beschrijving
folder_path (vereist) Een tekenreekspad naar een map of een patroon in glob-stijl dat overeenkomt met bestanden.

Retouren

Een pandas Series van yarl.URL objecten, geïndexeerd door hun tekenreeksrepresentaties. Deze yarl.URL objecten worden automatisch behandeld als bestandspaden door AI Functions, dus u hoeft deze niet op te geven column_type="path".

Voorbeeld

# 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: Schema afleiden uit bestanden

Met de ai.infer_schema functie wordt een gemeenschappelijk schema afgeleid van bestandsinhoud. Het uitgestelde schema wordt weergegeven als een lijst aifunc.ExtractLabel met objecten waarnaar u rechtstreeks ai.extract kunt doorgeven voor gestructureerde gegevensextractie.

Syntaxis

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

Parameterwaarden

Naam Beschrijving
prompt (optioneel) Een tekenreeks om schemadeductie te begeleiden. Als deze niet is opgegeven, wordt met de functie alleen het schema afgeleid van de bestandsinhoud.
n_samples (optioneel) Een geheel getal dat aangeeft hoeveel items moeten worden genomen voor deductie. De standaardinstelling is 3.
column_type (optioneel) Stel "path" in om kolomwaarden als bestandspaden te behandelen.

Retouren

Een lijst aifunc.ExtractLabel met objecten die het uitgestelde schema beschrijven. U kunt deze lijst aan ai.extract doorgeven om gestructureerde gegevens uit bestanden te extraheren.

Voorbeeld

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

Multimodale invoer gebruiken met bestaande AI-functies

In de volgende voorbeelden ziet u hoe u multimodale invoer gebruikt met elk van de ondersteunde AI-functies.

ai.analyze_sentiment: Gevoel detecteren uit bestanden

Zie pandas of PySpark voor volledige parameters.

# 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: Bestanden classificeren

Zie pandas of PySpark voor volledige parameters.

# 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: Entiteiten extraheren uit bestanden

Zie pandas of PySpark voor volledige parameters.

# 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: Grammatica in bestanden herstellen

Zie pandas of PySpark voor volledige parameters.

# 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: Aangepaste prompts toepassen op bestanden

Zie pandas of PySpark voor volledige parameters.

# 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: Bestanden samenvatten

Zie pandas of PySpark voor volledige parameters.

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

U kunt waarden in alle kolommen in een DataFrame samenvatten door de invoerkolom weg te laten en bestandspadkolommen op te geven met column_type_dict (pandas) of 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: Bestanden vertalen

Zie pandas of PySpark voor volledige parameters.

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

Uitvoerkwaliteit evalueren

Gebruik de AI Functions Eval Notebooks voor gestructureerde workflows die LLM-as-a-Judge gebruiken om multimodale uitvoer te beoordelen en metrieke waarden te berekenen, zoals nauwkeurigheid, precisie, recall, F1, coherentie, consistentie en relevantie. U kunt deze werkstromen gebruiken om de kwaliteit van classificatie, extractie, samenvatting en andere AI-functieresultaten te valideren voordat u naar productie gaat.

Kosten- en capaciteitsgebruik bewaken

Gebruik facturering voor AI-functies om inzicht te hebben in kosten, runtimegebruik en capaciteitsbewaking.