Ai.embed gebruiken met PySpark

De ai.embed functie maakt gebruik van generatieve AI om tekst te converteren naar vector-insluitingen. Deze vectoren laten AI de relaties tussen teksten begrijpen, zodat u inhoud kunt zoeken, groeperen en vergelijken op basis van betekenis in plaats van exacte formulering. Met één regel code kunt u vector-insluitingen genereren vanuit een kolom in een DataFrame.

Opmerking

Overzicht

De ai.embed functie is beschikbaar voor Spark DataFrames. U moet de naam van een bestaande invoerkolom opgeven als parameter.

De functie retourneert een nieuw DataFrame met insluitingen voor elke rij invoertekst in een uitvoerkolom.

Syntaxis

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

Parameterwaarden

Naam Description
input_col
Verplicht
Een tekenreeks met de naam van een bestaande kolom met invoertekstwaarden die moeten worden gebruikt voor het berekenen van insluitingen.
output_col
Optioneel
Een tekenreeks die de naam van een nieuwe kolom bevat voor het opslaan van berekende insluitingen voor elke invoertekstrij. Als u deze parameter niet instelt, wordt er een standaardnaam gegenereerd voor de uitvoerkolom.
error_col
Optioneel
Een tekenreeks met de naam van een nieuwe kolom waarin eventuele OpenAI-fouten worden opgeslagen die het gevolg zijn van het verwerken van elke invoertekstrij. Als u deze parameter niet instelt, wordt er een standaardnaam gegenereerd voor de foutkolom. Als een invoerrij geen fouten bevat, heeft deze kolom een null waarde.

Retouren

De functie retourneert een Spark DataFrame met een nieuwe kolom met gegenereerde insluitingen voor elke invoertekstrij. Insluitingen zijn van het type [pyspark.ml.linalg.DenseVector])https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.ml.linalg.DenseVector.html#densevector). Het aantal elementen in de DenseVector is afhankelijk van de afmetingen van het insluitmodel, die kunnen worden geconfigureerd in AI-functies

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)

Deze voorbeeldcodecel biedt de volgende uitvoer:

Schermopname van een gegevensframe met kolommen 'beschrijvingen' en 'insluiten'. De kolom 'insluiten' bevat insluitingen voor de beschrijvingen.