Partager via


Utiliser ai.embed avec PySpark

La fonction utilise l’IA ai.embed générative pour convertir du texte en incorporations vectorielles. Ces vecteurs permettent à l’IA de comprendre les relations entre les textes. Vous pouvez donc rechercher, regrouper et comparer du contenu en fonction de la signification plutôt que du libellé exact. Avec une seule ligne de code, vous pouvez générer des incorporations vectorielles à partir d’une colonne dans un DataFrame.

Note

Aperçu

La ai.embed fonction est disponible pour les DataFrames Spark. Vous devez spécifier le nom d’une colonne d’entrée existante en tant que paramètre.

La fonction retourne un nouveau DataFrame qui inclut des incorporations pour chaque ligne de texte d’entrée, dans une colonne de sortie.

Syntaxe

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

Paramètres

Nom Descriptif
input_col
Obligatoire
Chaîne qui contient le nom d’une colonne existante avec des valeurs de texte d’entrée à utiliser pour les incorporations informatiques.
output_col
Optional
Chaîne qui contient le nom d’une nouvelle colonne à stocker des incorporations calculées pour chaque ligne de texte d’entrée. Si vous ne définissez pas ce paramètre, un nom par défaut est généré pour la colonne de sortie.
error_col
Optional
Chaîne qui contient le nom d’une nouvelle colonne qui stocke les erreurs OpenAI résultant du traitement de chaque ligne de texte d’entrée. Si vous ne définissez pas ce paramètre, un nom par défaut est généré pour la colonne d’erreur. Si une ligne d’entrée n’a aucune erreur, cette colonne a une null valeur.

Retours

La fonction retourne un DataFrame Spark qui inclut une nouvelle colonne qui contient des incorporations générées pour chaque ligne de texte d’entrée. Les incorporations sont de type [pyspark.ml.linalg.DenseVector])https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.ml.linalg.DenseVector.html#densevector). Le nombre d’éléments dans DenseVector dépend des dimensions du modèle d’incorporation, qui sont configurables dans les fonctions 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)

Cet exemple de cellule de code fournit la sortie suivante :

Capture d’écran d’une trame de données avec des colonnes « descriptions » et « incorporer ». La colonne « embed » contient des incorporations pour les descriptions.