Utilize a entrada multimodal com Funções de IA (Pré-visualização)

Importante

Este recurso está em pré-visualização.

As Funções de IA aplicam transformações numa única linha, baseadas em LLM, a grandes DataFrames do pandas ou do PySpark, com elevada simultaneidade por predefinição. Com input multimodal, também pode processar imagens, PDFs e ficheiros de texto para classificar documentos, resumir PDFs, extrair informação de imagens e muito mais.

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

Function Descrição Documentação detalhada
ai.analyze_sentiment Detetar sentimentos em ficheiros. Exemplo. pandas, PySpark
ai.classify Classifica ficheiros usando as tuas etiquetas. Exemplo. pandas, PySpark
ai.extract Extrair campos dos ficheiros. Exemplo. pandas, PySpark
ai.fix_grammar Ortografia, gramática e pontuação corretas nos ficheiros. Exemplo. pandas, PySpark
ai.generate_response Gere respostas baseadas no conteúdo do ficheiro. Exemplo. pandas, PySpark
ai.summarize Resumir o conteúdo dos ficheiros. Exemplo. pandas, PySpark
ai.translate Traduz o conteúdo do ficheiro. Exemplo. pandas, PySpark
aifunc.load Carrega ficheiros de uma pasta para uma tabela estruturada. Exemplo. Sintaxe e parâmetros
aifunc.list_file_paths Obtenha os caminhos dos ficheiros a partir de uma pasta. Exemplo. Sintaxe e parâmetros
ai.infer_schema Inferir um esquema de extração a partir do conteúdo do ficheiro. Exemplo. Sintaxe e parâmetros

Tipos de ficheiro suportados

As Funções de IA Multimodais suportam os seguintes tipos de ficheiros:

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

Observação

  • Chamadas multimodais com entradas por caminhos de ficheiro funcionam com a responses API, que é a predefinida. Não defina api_type como chat_completions para campos de caminho de ficheiro.
  • Os formatos de ficheiros do Office (como .docx, .pptxe .xlsx) não são atualmente suportados.
  • Pode converter ficheiros .docx e .pptx para PDF e ficheiros .xlsx para CSV antes de os usar com funções multimodais de IA.
  • Cada ficheiro de entrada está limitado a 50 MB.

Protocolos URL suportados

Entradas multimodais são cadeias que utilizam um destes protocolos URL:

  • Caminhos de ficheiros locais
  • http(s)
  • WASPS
  • ABFS(s)

Pré-requisitos

As Funções de IA Multimodais partilham os mesmos pré-requisitos que as Funções de IA baseadas em texto. Para a lista completa, veja Pré-requisitos.

Configura os teus ficheiros

Organize os seus ficheiros numa pasta que possa ser referenciada por um caminho ou uma cadeia de caracteres em formato globo.

Sugestão

Use os Cadernos Iniciais de Funções de IA para exemplos completos de Funções de IA que utilizam todas as Funções de IA. Os cadernos iniciais incluem um caderno para pandas e um caderno para PySpark.

Exemplo

Pode guardar ficheiros num Lakehouse anexado ao seu caderno.

folder_path = "/lakehouse/default/Files"

Carregue os seus ficheiros

Para usar Funções de IA com entrada multimodal, pode carregar o conteúdo do ficheiro numa tabela estruturada ou referenciar diretamente os caminhos do ficheiro no seu DataFrame. Os exemplos seguintes mostram ambas as abordagens.

Carregar ficheiros numa tabela

Use a aifunc.load função para ler ficheiros de uma pasta e gerar uma tabela estruturada. A função pode inferir a estrutura da tabela por si só, ou pode fornecer um prompt para orientar a extração, ou um esquema para uma estrutura consistente. Esta abordagem é útil quando se quer que a IA extraia informação específica dos ficheiros e a apresente num 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 ficheiros numa coluna

Alternativamente, podes usar aifunc.list_file_paths para obter uma lista de caminhos de ficheiro a partir de uma pasta e carregá-los numa coluna DataFrame. Esta abordagem é útil quando se quer executar Funções de IA em cada ficheiro.

Observação

A maioria das funções multimodais aceita caminhos de ficheiros 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 os seus caminhos de ficheiros são armazenados como URLs de cadeia numa coluna DataFrame, deve indicar explicitamente à função de IA para tratar os valores como caminhos de ficheiro em vez de texto simples.

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

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

Para Funções de IA de nível DataFrame (que operam sobre várias colunas), utilize 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 usar aifunc.list_file_paths() para criar a sua coluna de caminho de ficheiro, os objetos devolvidos yarl.URL são automaticamente detetados como caminhos de ficheiro. Só precisa de especificar column_type="path" quando a sua coluna contém URLs de string simples.

Novas funções multimodais

aifunc.load: Carregar ficheiros numa tabela

A aifunc.load função lê todos os ficheiros a partir do caminho de uma pasta e gera uma tabela estruturada a partir do seu conteúdo. Podes, opcionalmente, fornecer um prompt para orientar a extração, ou um esquema para uma 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 texto para uma pasta ou um padrão de correspondência ao estilo glob para ficheiros.
prompt (Opcional) Uma cadeia que orienta o processo de geração de tabelas. Use-o para especificar quais os campos a extrair dos ficheiros.
schema (Opcional) Um objeto de esquema (devolvido por uma chamada anterior load ) que define a estrutura da tabela. Quando fornecida, a função utiliza este esquema diretamente.

Devoluções

Uma tupla de (DataFrame, schema). O DataFrame contém os dados estruturados extraídos dos ficheiros. O esquema pode ser reutilizado em chamadas subsequentes load para obter 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: Ficheiros de lista

A aifunc.list_file_paths função recupera todos os caminhos de ficheiros válidos de uma pasta especificada. Podes usar os caminhos dos ficheiros devolvidos como entrada para qualquer função multimodal de IA. A função também suporta padrões ao estilo glob.

Sintaxe

file_path_series = aifunc.list_file_paths(folder_path)

Parâmetros

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

Devoluções

Uma Série pandas de yarl.URL objetos, indexados pelas suas representações de string. Estes yarl.URL objetos são automaticamente tratados como caminhos de ficheiro pelas Funções de IA, por isso não precisa de 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 ficheiros

A ai.infer_schema função infere um esquema comum a partir do conteúdo do ficheiro. O esquema inferido é representado como uma lista de objetos aifunc.ExtractLabel que pode passar diretamente para 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 para guiar a inferência de esquemas. Se não for fornecida, a função infere o esquema apenas a partir do conteúdo do ficheiro.
n_samples (Opcional) Um inteiro que especifica quantos itens amostrar para inferência. A predefinição é 3.
column_type (Opcional) Defina para "path" tratar os valores das colunas como caminhos de ficheiro.

Devoluções

Uma lista de aifunc.ExtractLabel objetos que descrevem o esquema inferido. Poderás passar esta lista a ai.extract para extrair dados estruturados de ficheiros.

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 as Funções de IA existentes

Os exemplos seguintes mostram como usar input multimodal com cada uma das Funções de IA suportadas.

ai.analyze_sentiment: Detetar sentimento a partir de ficheiros

Para parâmetros completos, veja 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 ficheiros

Para parâmetros completos, veja 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 ficheiros

Para parâmetros completos, veja 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 a gramática nos ficheiros

Para parâmetros completos, veja 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 aos ficheiros

Para parâmetros completos, veja 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 ficheiros

Para parâmetros completos, veja 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)

Pode resumir os valores em todas as colunas de um DataFrame, omitindo a coluna de entrada e especificando as colunas de caminho de ficheiro 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 ficheiros

Para parâmetros completos, veja 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

Utilize os AI Functions Eval Notebooks para fluxos de trabalho estruturados que utilizam o LLM como juiz para avaliar saídas multimodais e calcular métricas como exatidão, precisão, revocação, F1, coerência, consistência e relevância. Pode usar estes fluxos de trabalho para validar a qualidade da classificação, extração, sumarização e outros resultados de funções de IA antes de passar para produção.

Monitorizar o custo e a utilização de capacidade

Use o Billing for AI Functions para compreender custos, utilização em tempo de execução e monitorização da capacidade.