Поделиться через


Использование ai.embed с PySpark

Функция ai.embed использует генерированный ИИ для преобразования текста в векторные внедрения. Эти векторы позволяют ИИ понимать связи между текстами, чтобы можно было искать, группировать и сравнивать содержимое на основе смысла, а не точного формулировки. С помощью одной строки кода можно создавать векторные представления из столбца в DataFrame.

Замечание

Обзор

Функция ai.embed доступна для кадров данных Spark. Необходимо указать имя существующего входного столбца в качестве параметра.

Функция возвращает новый DataFrame, который включает векторные представления для каждой строки входного текста в выходном столбце.

Синтаксис

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

Параметры

Имя Description
input_col
Обязательно
Строка, содержащая имя существующего столбца с входными текстовыми значениями, используемыми для внедрения вычислений.
output_col
Необязательно
Строка, содержащая имя нового столбца для хранения вычисленных вложений для каждой строки входного текста. Если этот параметр не задан, имя по умолчанию создается для выходного столбца.
error_col
Необязательно
Строка, содержащая имя нового столбца, в котором хранятся ошибки OpenAI, возникающие в результате обработки каждой входной текстовой строки. Если этот параметр не задан, для столбца ошибок генерируется имя по умолчанию. Если входная строка не имеет ошибок, этот столбец имеет значение null.

Возвраты

Функция возвращает кадр данных Spark , содержащий новый столбец, содержащий созданные внедрения для каждой входной текстовой строки. Внедрения имеют тип [pyspark.ml.linalg.DenseVector])https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.ml.linalg.DenseVector.html#densevector). Количество элементов в DenseVector зависит от измерений модели внедрения, которые можно настроить в функциях ИИ.

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)

В этом примере ячейка кода предоставляет следующие выходные данные:

Снимок экрана: кадр данных с столбцами