Partilhar via


Utilize ai.embed com PySpark

A ai.embed função utiliza IA generativa para converter texto em embeddings vetoriais. Estes vetores permitem à IA compreender as relações entre textos, permitindo pesquisar, agrupar e comparar conteúdos com base no significado e não na redação exata. Com uma única linha de código, pode gerar embeddings vetoriais a partir de uma coluna num DataFrame.

Observação

Visão geral

A ai.embed função está disponível para Spark DataFrames. Você deve especificar o nome de uma coluna de entrada existente como um parâmetro.

A função devolve um novo DataFrame que inclui embeddings para cada linha de texto de entrada, numa coluna de saída.

Sintaxe

df.ai.embed(input_col="col1", output_col="embed")

Parâmetros

Nome Description
input_col
Obrigatório
Uma string que contém o nome de uma coluna já existente que possui valores de texto de entrada para utilizar no cálculo de embeddings.
output_col
Opcional
Uma sequência que contém o nome de uma nova coluna para armazenar embeddings calculados para cada linha de texto de entrada. Se você não definir esse parâmetro, um nome padrão será gerado para a coluna de saída.
error_col
Opcional
Uma cadeia de caracteres que contém o nome de uma nova coluna que armazena quaisquer erros OpenAI resultantes do processamento de cada linha de texto de entrada. Se você não definir esse parâmetro, um nome padrão será gerado para a coluna de erro. Se uma linha de entrada não tiver erros, esta coluna terá um valor null.

Devoluções

A função devolve um DataFrame Spark que inclui uma nova coluna contendo embeddings gerados para cada linha de texto de entrada. Os embeddings são do tipo [pyspark.ml.linalg.DenseVector])https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.ml.linalg.DenseVector.html#densevector). O número de elementos no DenseVector depende das dimensões do modelo de embedding, que são configuráveis em funções de IA

Example

# This code uses AI. Always review output for mistakes. 
# Read terms: https://azure.microsoft.com/support/legal/preview-supplemental-terms/.

df = spark.createDataFrame([
        ("This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",), 
        ("Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",), 
        ("Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!",) 
    ], ["descriptions"])

embed = df.ai.embed(input_col="descriptions", output_col="embed")
display(embed)

Esta célula de código de exemplo fornece a seguinte saída:

Captura de ecrã de um data frame com as colunas 'descriptions' e 'embed'. A coluna 'embed' contém embeddings para as descrições.