Usare ai.embed con PySpark

La ai.embed funzione converte il testo in incorporamenti vettoriali che rappresentano il significato. Usare gli incorporamenti per cercare, raggruppare e confrontare il contenuto in base al significato invece della formulazione esatta.

Annotazioni

Informazioni generali

La ai.embed funzione è disponibile per i dataframe Spark. È necessario specificare il nome di una colonna di input esistente come parametro.

La funzione restituisce un nuovo dataframe che include incorporamenti per ogni riga di testo di input, in una colonna di output.

Sintassi

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

Parametri

Nome Description
input_col
Obbligatorio
Stringa contenente il nome di una colonna esistente con valori di testo di input da usare per l'elaborazione degli incorporamenti.
output_col
Opzionale
Stringa contenente il nome di una nuova colonna in cui archiviare gli incorporamenti calcolati per ogni riga di testo di input. Se non si imposta questo parametro, viene generato un nome predefinito per la colonna di output.
error_col
Opzionale
Stringa contenente il nome di una nuova colonna che archivia eventuali errori OpenAI risultanti dall'elaborazione di ogni riga di testo di input. Se non si imposta questo parametro, viene generato un nome predefinito per la colonna di errore. Se una riga di input non contiene errori, questa colonna ha un null valore .

Restituzioni

La funzione restituisce un dataframe Spark con una nuova colonna contenente incorporamenti generati per ogni riga di input. Gli embedding sono valori pyspark.ml.linalg.DenseVector. Le dimensioni del vettore dipendono dalle dimensioni del modello di incorporamento, configurabili in Funzioni di intelligenza artificiale.

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)

Risultato:

Screenshot di un frame di dati con colonne 'description' e 'embed'. La colonna 'embed' contiene incorporamenti per le descrizioni.