Del via


Brug ai.embed med PySpark

Funktionen ai.embed bruger generativ AI til at konvertere tekst til vektorindlejringer. Disse vektorer gør det muligt for AI at forstå forholdet mellem tekster, så du kan søge, gruppere og sammenligne indhold baseret på betydning frem for præcis formulering. Med en enkelt linje kode kan du generere vektorindlejringer fra en kolonne i en DataFrame.

Notat

Oversigt

Funktionen ai.embed er tilgængelig for Spark DataFrames. Du skal angive navnet på en eksisterende inputkolonne som en parameter.

Funktionen returnerer en ny DataFrame, der inkluderer indlejringer for hver række med inputtekst i en outputkolonne.

Syntaks

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

Parametre

Navn Beskrivelse
input_col
Obligatorisk
En streng , der indeholder navnet på en eksisterende kolonne med inputtekstværdier til brug til beregning af embeddings.
output_col
Valgfrit
En streng , der indeholder navnet på en ny kolonne til at gemme beregnede embeddings for hver inputtekstrække. Hvis du ikke angiver denne parameter, genereres der et standardnavn for outputkolonnen.
error_col
Valgfrit
En streng , der indeholder navnet på en ny kolonne, der gemmer eventuelle OpenAI-fejl, der skyldes behandling af hver inputtekstrække. Hvis du ikke angiver denne parameter, genereres der et standardnavn for fejlkolonnen. Hvis der ikke er nogen fejl i en inputrække, har denne kolonne en null værdi.

Returnerer

Funktionen returnerer en Spark DataFrame , der inkluderer en ny kolonne, som indeholder genererede embeddings for hver inputtekstrække. Embeddings er af typen [pyspark.ml.linalg.DenseVector])https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.ml.linalg.DenseVector.html#densevector). Antallet af elementer i DenseVector afhænger af embedding-modellens dimensioner, som kan konfigureres i AI-funktioner

Eksempel

# 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)

Denne eksempelkodecelle indeholder følgende output:

Skærmbillede af en dataframe med kolonnerne 'beskrivelser' og 'indskydning'. Kolonnen 'indlæg' indeholder indlejringer til beskrivelserne.