Uso de la entrada multimodal con las funciones de IA (versión preliminar)

Importante

Esta característica se encuentra en versión preliminar.

Las funciones de IA aplican transformaciones de una línea y con tecnología LLM a grandes tramas de datos pandas o PySpark con alta simultaneidad de forma predeterminada. Con la entrada multimodal, también puede procesar imágenes, archivos PDF y archivos de texto para clasificar documentos, resumir archivos PDF, extraer información de imágenes y mucho más.

Use esta tabla para saltar a ejemplos multiplataforma y documentación detallada.

Function Descripción Documentación detallada
ai.analyze_sentiment Detectar opiniones en archivos. Ejemplo. pandas, PySpark
ai.classify Clasifique los archivos mediante las etiquetas. Ejemplo. pandas, PySpark
ai.extract Extraiga campos de los archivos. Ejemplo. pandas, PySpark
ai.fix_grammar Corrija la ortografía, la gramática y la puntuación en los archivos. Ejemplo. pandas, PySpark
ai.generate_response Genere respuestas con base en el contenido del archivo. Ejemplo. pandas, PySpark
ai.summarize Resumir el contenido del archivo. Ejemplo. pandas, PySpark
ai.translate Traducir contenido del archivo. Ejemplo. pandas, PySpark
aifunc.load Cargue archivos de una carpeta en una tabla estructurada. Ejemplo. Sintaxis y parámetros
aifunc.list_file_paths Obtener rutas de archivo de una carpeta. Ejemplo. Sintaxis y parámetros
ai.infer_schema Inferir un esquema de extracción a partir del contenido del archivo. Ejemplo. Sintaxis y parámetros

Tipos de archivo compatibles

Las funciones de inteligencia artificial multimodal admiten los siguientes tipos de archivo:

  • Imágenes: jpg, jpeg, png, gif estático, webp
  • Documentos: pdf
  • Archivos de texto: md, txt, csv, tsv, json, xml, py y otros archivos de texto

Nota:

  • Las llamadas multimodales con entradas de rutas de archivo funcionan con la API responses, que es la predeterminada. No establezca api_type en chat_completions en los campos de entrada de rutas de archivo.
  • Actualmente no se admiten los formatos de archivo de Office (como .docx, .pptxy .xlsx).
  • Puede convertir archivos .docx y .pptx a PDF y archivos .xlsx a CSV antes de usarlos con funciones de IA multimodales.
  • Cada archivo de entrada está limitado a 50 MB de tamaño.

Protocolos de dirección URL admitidos

Las entradas multimodales son cadenas que usan uno de estos protocolos de dirección URL:

  • rutas de acceso de archivo locales
  • http(s)
  • wasbs
  • abfs(s)

Prerrequisitos

Las funciones de inteligencia artificial bidireccional comparten los mismos requisitos previos que las funciones de IA basadas en texto. Para obtener la lista completa, consulte Requisitos previos.

Configuración de los archivos

Organice los archivos en una carpeta a la que puede hacer referencia una ruta de acceso o una cadena de estilo global.

Sugerencia

Use los cuadernos de inicio de AI Functions para ejemplos de funciones de IA de un extremo a otro que usan todas las funciones de IA. Los cuadernos de inicio incluyen un cuaderno para pandas y otro para PySpark.

Ejemplo

Puede almacenar archivos en una instancia de Lakehouse conectada a su cuaderno.

folder_path = "/lakehouse/default/Files"

Carga de los archivos

Para usar funciones de IA con entrada multimodal, puedes cargar el contenido de los archivos en una tabla estructurada o hacer referencia directamente a las rutas de los archivos en tu DataFrame. En los ejemplos siguientes se muestran ambos enfoques.

Carga de archivos en una tabla

Use la aifunc.load función para leer archivos de una carpeta y generar una tabla estructurada. La función puede deducir la estructura de la tabla por sí sola, o puede proporcionar una solicitud para guiar la extracción o un esquema para una estructura coherente. Este enfoque es útil cuando desea que la inteligencia artificial extraiga información específica de los archivos y la presente en un formato estructurado.

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)

Carga de rutas de acceso de archivo en una columna

Como alternativa, puede usar aifunc.list_file_paths para obtener una lista de rutas de archivo de una carpeta y cargarlas en una columna de DataFrame. Este enfoque es útil cuando desea ejecutar las funciones de IA en cada archivo.

Nota:

La mayoría de las funciones multimodales aceptan rutas de acceso de archivo con column_type="path" en pandas o input_col_type/col_types="path" en 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

Cuando las rutas de acceso de archivo se almacenan como direcciones URL de cadena en una columna DataFrame, debe indicar explícitamente a la función de IA que trate los valores como rutas de acceso de archivo en lugar de texto sin formato.

Para las funciones de IA a nivel de serie (que operan en una sola columna), establezca el parámetro column_type:

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

Para las funciones de IA a nivel de DataFrame (que operan sobre varias columnas), use el parámetro column_type_dict:

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

Nota:

Si usa aifunc.list_file_paths() para crear la columna de ruta de acceso de archivo, los objetos devueltos yarl.URL se detectan automáticamente como rutas de acceso de archivo. Solo tiene que especificar column_type="path" cuando la columna contiene URLs de cadenas de texto simples.

Nuevas funciones multimodal

aifunc.load: Cargar archivos en una tabla

La aifunc.load función lee todos los archivos de una ruta de acceso de carpeta y genera una tabla estructurada a partir de su contenido. Opcionalmente, puede proporcionar una solicitud para guiar la extracción o un esquema para una estructura coherente.

Sintaxis

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

Parámetros

Nombre Descripción
folder_path (Obligatorio) Cadena de ruta a una carpeta o un patrón de estilo glob que coincida con archivos.
prompt (Opcional) Cadena que guía el proceso de generación de tablas. Úselo para especificar qué campos extraer de los archivos.
schema (Opcional) Objeto de esquema (devuelto por una llamada anterior load ) que define la estructura de la tabla. Cuando se proporciona, la función usa este esquema directamente.

Devoluciones

Una tupla de (DataFrame, schema). DataFrame contiene los datos estructurados extraídos de los archivos. El esquema se puede reutilizar en llamadas posteriores load para obtener resultados coherentes.

Ejemplo

# 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: Enumerar archivos

La aifunc.list_file_paths función captura todas las rutas de acceso de archivo válidas de una carpeta especificada. Puede usar las rutas de acceso de archivo devueltas como entrada para cualquier función de AI multimodal. La función también admite patrones tipo glob.

Sintaxis

file_path_series = aifunc.list_file_paths(folder_path)

Parámetros

Nombre Descripción
folder_path (Obligatorio) Cadena de ruta a una carpeta o un patrón de estilo glob que coincida con archivos.

Devoluciones

Una pandas Series de yarl.URL objetos, indexada por sus representaciones en forma de cadena. Estos yarl.URL objetos se tratan automáticamente como rutas de acceso de archivo mediante AI Functions, por lo que no es necesario especificar column_type="path".

Ejemplo

# 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: inferir el esquema de los archivos

La ai.infer_schema función deduce un esquema común del contenido del archivo. El esquema inferido se representa como una lista de aifunc.ExtractLabel objetos que puede pasar directamente a ai.extract para la extracción de datos estructurados.

Sintaxis

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

Parámetros

Nombre Descripción
prompt (Opcional) Cadena para guiar la inferencia de esquema. Si no se proporciona, la función deduce solo el esquema del contenido del archivo.
n_samples (Opcional) Entero que especifica cuántos elementos se van a muestrear para la inferencia. El valor predeterminado es 3.
column_type (Opcional) Establézcalo en "path" para tratar los valores de columna como rutas de acceso de archivo.

Devoluciones

Lista de aifunc.ExtractLabel objetos que describen el esquema inferido. Puede pasar esta lista a ai.extract para extraer datos estructurados de archivos.

Ejemplo

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

Uso de la entrada multimodal con las funciones de IA existentes

En los ejemplos siguientes se muestra cómo usar la entrada multiplataforma con cada una de las funciones de IA admitidas.

ai.analyze_sentiment: Analizar el sentimiento a partir de archivos

Para obtener parámetros completos, consulte 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: clasificar archivos

Para obtener parámetros completos, consulte 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: Extraer entidades de archivos

Para obtener parámetros completos, consulte 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: corrección de gramática en archivos

Para obtener parámetros completos, consulte 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: Aplicar mensajes personalizados a los archivos

Para obtener parámetros completos, consulte 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: Resumir archivos

Para obtener parámetros completos, consulte 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)

Puede resumir los valores de todas las columnas de un dataframe omitiendo la columna de entrada y especificando columnas de ruta de acceso de archivo 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: traducir archivos

Para obtener parámetros completos, consulte 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)

Evaluación de la calidad del resultado

Utilice los cuadernos de evaluación de AI Functions para flujos de trabajo estructurados que usan LLM como juez para evaluar resultados multimodales y calcular métricas como exactitud, precisión, exhaustividad, F1, coherencia, consistencia y relevancia. Puede usar estos flujos de trabajo para validar la calidad de clasificación, extracción, resumen y otros resultados de la función de IA antes de pasar a producción.

Supervisión del uso de costos y capacidad

Usa Facturación de AI Functions para comprender los costes, el uso del tiempo de ejecución y la supervisión de la capacidad.