Usar entrada multimodal com a AI Functions (versão prévia)

Importante

Esse recurso está na versão prévia.

As funções de IA aplicam transformações de uma linha, alimentadas por LLM, a pandas grandes ou DataFrames do PySpark com alta simultaneidade por padrão. Com a entrada multimodal, você também pode processar imagens, PDFs e arquivos de texto para classificar documentos, resumir PDFs, extrair informações de imagens e muito mais.

Use esta tabela para acessar exemplos multimodais e a documentação detalhada.

Function Descrição Documentação detalhada
ai.analyze_sentiment Detectar sentimentos em arquivos. Exemplo. pandas, PySpark
ai.classify Classifique arquivos usando seus rótulos. Exemplo. pandas, PySpark
ai.extract Extraia campos de arquivos. Exemplo. pandas, PySpark
ai.fix_grammar Ortografia, gramática e pontuação corretas em arquivos. Exemplo. pandas, PySpark
ai.generate_response Gere respostas baseadas no conteúdo do arquivo. Exemplo. pandas, PySpark
ai.summarize Resumir o conteúdo do arquivo. Exemplo. pandas, PySpark
ai.translate Traduzir conteúdo do arquivo. Exemplo. pandas, PySpark
aifunc.load Carregue arquivos de uma pasta em uma tabela estruturada. Exemplo. Sintaxe e parâmetros
aifunc.list_file_paths Obter caminhos de arquivo de uma pasta. Exemplo. Sintaxe e parâmetros
ai.infer_schema Inferir um esquema de extração a partir do conteúdo do arquivo. Exemplo. Sintaxe e parâmetros

Tipos de arquivo com suporte

O Multimodal AI Functions dá suporte aos seguintes tipos de arquivo:

  • Imagens: jpg, jpeg, png, gif estático, webp
  • Documentos: pdf
  • Arquivos de texto: md, txt, csv, tsv, json, xml, py e outros arquivos de texto

Observação

  • Chamadas multimodais com entradas com caminho de arquivo funcionam com a API responses, que é o padrão. Não defina api_type como chat_completions para campos de caminho de arquivo.
  • Atualmente, não há suporte para formatos de arquivo do Office (como .docx, .pptxe .xlsx).
  • Você pode converter arquivos .docx e .pptx em PDF e arquivos .xlsx em CSV antes de usá-los com Funções de IA multimodal.
  • Cada arquivo de entrada é limitado a 50 MB de tamanho.

Protocolos de URL com suporte

As entradas multimodal são cadeias de caracteres que usam um destes protocolos de URL:

  • caminhos de arquivo local
  • http(s)
  • wasbs
  • abfs(s)

Pré-requisitos

As Funções de IA multimodal compartilham os mesmos pré-requisitos que as Funções de IA baseadas em texto. Para obter a lista completa, consulte Pré-requisitos.

Configure seus arquivos

Organize seus arquivos em uma pasta que pode ser referenciada por um caminho ou uma cadeia de caracteres no estilo glob.

Dica

Use os Notebooks Introdutórios das Funções de IA para ver exemplos de ponta a ponta que usam todas as Funções de IA. Os notebooks iniciais incluem um notebook para pandas e um notebook para PySpark.

Exemplo

Você pode armazenar arquivos em um Lakehouse conectado ao seu notebook.

folder_path = "/lakehouse/default/Files"

Carregar seus arquivos

Para usar o AI Functions com entrada multimodal, você pode carregar o conteúdo do arquivo em uma tabela estruturada ou referenciar os caminhos de arquivo diretamente em seu DataFrame. Os exemplos a seguir mostram ambas as abordagens.

Carregar arquivos em uma tabela

Use a aifunc.load função para ler arquivos de uma pasta e gerar uma tabela estruturada. A função pode inferir a estrutura da tabela por conta própria ou você pode fornecer um prompt para orientar a extração ou um esquema para estrutura consistente. Essa abordagem é útil quando você deseja que a IA extraia informações específicas dos arquivos e as apresente em um formato estruturado.

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)

Carregar caminhos de arquivo em uma coluna

Como alternativa, você pode usar aifunc.list_file_paths para obter uma lista de caminhos de arquivo de uma pasta e carregá-los em uma coluna DataFrame. Essa abordagem é útil quando você deseja executar o AI Functions em cada arquivo.

Observação

A maioria das funções multimodal aceita caminhos de arquivo com column_type="path" no Pandas ou input_col_type/col_types="path" no 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 seus caminhos de arquivo são armazenados como URLs em uma coluna do DataFrame, você deve explicitamente indicar à função de IA para tratar os valores como caminhos de arquivo em vez de texto regular.

Para funções de IA de nível de série (operando em uma única coluna), defina o column_type parâmetro:

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

Para funções de IA no nível do DataFrame (operando em várias colunas), use o parâmetro column_type_dict:

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

Observação

Se você usar aifunc.list_file_paths() para criar sua coluna de caminho de arquivo, os objetos retornados yarl.URL serão detectados automaticamente como caminhos de arquivo. Você só precisa especificar column_type="path" quando sua coluna contém URLs de cadeia de caracteres simples.

Novas funções multimodais

aifunc.load: Carregar arquivos para uma tabela

A aifunc.load função lê todos os arquivos de um caminho de pasta e gera uma tabela estruturada de seu conteúdo. Opcionalmente, você pode fornecer um prompt para orientar a extração ou um esquema para estrutura consistente.

Sintaxe

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

Parâmetros

Nome Descrição
folder_path (Obrigatório) Um caminho de string para uma pasta ou um padrão glob para correspondência de arquivos.
prompt (opcional) Uma cadeia de caracteres que orienta o processo de geração de tabela. Use-o para especificar quais campos extrair dos arquivos.
schema (opcional) Um objeto de esquema (retornado por uma chamada anterior load ) que define a estrutura da tabela. Quando fornecida, a função usa esse esquema diretamente.

Devoluções

Uma tupla de (DataFrame, schema). O DataFrame contém os dados estruturados extraídos dos arquivos. O esquema pode ser reutilizado em chamadas subsequentes load para resultados consistentes.

Exemplo

# 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: Listar caminhos dos arquivos

A aifunc.list_file_paths função busca todos os caminhos de arquivo válidos de uma pasta especificada. Você pode usar os caminhos de arquivo retornados como entrada para qualquer função de IA multimodal. A função também dá suporte a padrões de estilo glob.

Sintaxe

file_path_series = aifunc.list_file_paths(folder_path)

Parâmetros

Nome Descrição
folder_path (Obrigatório) Um caminho de string para uma pasta ou um padrão glob para correspondência de arquivos.

Devoluções

Uma série pandas de yarl.URL objetos, indexada por suas representações de cadeia de caracteres. Esses yarl.URL objetos são tratados automaticamente como caminhos de arquivo pelo AI Functions, portanto, você não precisa especificar column_type="path".

Exemplo

# 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 esquema a partir de arquivos

A ai.infer_schema função infere um esquema comum do conteúdo do arquivo. O esquema inferido é representado como uma lista de aifunc.ExtractLabel objetos para os quais você pode passar diretamente ai.extract para extração de dados estruturados.

Sintaxe

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

Parâmetros

Nome Descrição
prompt (opcional) Uma cadeia de caracteres para orientar a inferência de esquema. Se não for fornecido, a função infere o esquema somente do conteúdo do arquivo.
n_samples (opcional) Um inteiro que especifica quantos itens serão amostradas para inferência. O padrão é 3.
column_type (opcional) Defina como "path" para tratar valores de coluna como caminhos de arquivo.

Devoluções

Uma lista de aifunc.ExtractLabel objetos que descrevem o esquema inferido. Você pode passar essa lista para ai.extract extrair dados estruturados de arquivos.

Exemplo

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

Usar entrada multimodal com funções de IA existentes

Os exemplos a seguir mostram como usar a entrada multimodal com cada uma das funções de IA com suporte.

ai.analyze_sentiment: Detectar sentimento em arquivos

Para obter parâmetros completos, consulte pandas ou 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: classificar arquivos

Para obter parâmetros completos, consulte pandas ou 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: Extrair entidades de arquivos

Para obter parâmetros completos, consulte pandas ou 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: corrigir gramática em arquivos

Para obter parâmetros completos, consulte pandas ou 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 prompts personalizados a arquivos

Para obter parâmetros completos, consulte pandas ou 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 arquivos

Para obter parâmetros completos, consulte pandas ou 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)

Você pode resumir valores em todas as colunas em um DataFrame omitindo a coluna de entrada e especificando colunas de caminho de arquivo com column_type_dict (pandas) ou 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: traduzir arquivos

Para obter parâmetros completos, consulte pandas ou 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)

Avaliar a qualidade da saída

Use os Notebooks de Avaliação de Funções de IA para fluxos de trabalho estruturados que utilizam LLM-as-a-Judge para avaliar saídas multimodais e calcular métricas como acurácia, precisão, recall, F1, coerência, consistência e relevância. Você pode usar esses fluxos de trabalho para validar a qualidade da classificação, extração, resumo e outros resultados de função de IA antes de passar para a produção.

Monitorar o uso de custos e de capacidade

Use a Cobrança para Funções de IA para entender os custos, o uso do runtime e o monitoramento da capacidade.