Uso ai.embed con PySpark

La ai.embed función convierte el texto en incrustaciones vectoriales que representan el significado. Use incrustaciones para buscar, agrupar y comparar contenido mediante el significado en lugar de la redacción exacta.

Nota:

Información general

La ai.embed función está disponible para DataFrames de Spark. Debe especificar el nombre de una columna de entrada existente como parámetro.

La función devuelve un nuevo dataframe que incluye incrustaciones para cada fila de texto de entrada, en una columna de salida.

Syntax

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

Parámetros

Nombre Description
input_col
Obligatorio
Cadena que contiene el nombre de una columna existente con valores de texto de entrada que se van a usar para calcular incrustaciones.
output_col
Opcional
Cadena que contiene el nombre de una nueva columna para almacenar incrustaciones calculadas para cada fila de texto de entrada. Si no establece este parámetro, se genera un nombre predeterminado para la columna de salida.
error_col
Opcional
Cadena que contiene el nombre de una nueva columna que almacena los errores de OpenAI que se producen al procesar cada fila de texto de entrada. Si no establece este parámetro, se genera un nombre predeterminado para la columna de error. Si una fila de entrada no tiene errores, esta columna tiene un null valor.

Devoluciones

La función devuelve un DataFrame de Spark con una nueva columna que contiene incrustaciones generadas para cada fila de entrada. Las incrustaciones son pyspark.ml.linalg.DenseVector valores. El tamaño del vector depende de las dimensiones del modelo de inserción, que se pueden configurar en las funciones 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)

Output:

Captura de pantalla de una trama de datos con columnas