Spec-Zone.ru › Elasticsearch 8
›Руководство по Elasticsearch [8.17] ›Конвейеры обработки данных ›Справочник по процессорам обработки данных

Процессор вывода

Использует предварительно обученную аналитическую модель на основе фреймов данных или модель, развернутую для задач обработки естественного языка, для вывода по данным, обрабатываемым в конвейере.

Таблица 27. Параметры вывода

Имя Обязательно По умолчанию Описание

model_id .

да

-

(Строка) Идентификатор вывода, идентификатор развертывания модели, идентификатор обученной модели или псевдоним.

input_output

нет

-

(Список) Поля ввода для вывода и поля вывода (назначения) для результатов вывода. Этот параметр несовместим с параметрами target_field и field_map.

target_field

нет

ml.inference.<processor_tag>

(Строка) Поле, добавленное к входным документам для хранения объектов результатов.

field_map

нет

Если определено, отображение полей по умолчанию модели

(Объект) Сопоставляет имена полей документа с известными именами полей модели. Это отображение имеет приоритет над любыми отображениями по умолчанию, предоставленными в конфигурации модели.

inference_config

нет

Параметры по умолчанию, определённые в модели

(Объект) Содержит тип вывода и его параметры.

ignore_missing

нет

false

(Булево) Если true и любое из полей ввода, определенных в input_ouput, отсутствуют, эти отсутствующие поля игнорируются, в противном случае отсутствие поля приводит к ошибке. Применимо только при использовании конфигураций input_output для явного указания полей ввода.

description

нет

-

Описание процессора. Полезно для описания назначения процессора или его конфигурации.

if

нет

-

Условное выполнение процессора. См. Условное выполнение процессора.

ignore_failure

нет

false

Игнорировать ошибки для процессора. См. Обработка ошибок конвейера.

on_failure

нет

-

Обработка ошибок для процессора. См. Обработка ошибок конвейера.

tag

нет

-

Идентификатор процессора. Полезно для отладки и метрик.

  • Вы не можете использовать поле input_output с полями target_field и field_map. Для моделей NLP используйте параметр input_output. Для моделей анализа данных на основе фреймов данных используйте параметры target_field и field_map.
  • Каждое поле ввода вывода должно быть строкой, а не массивом строк.
  • input_field обрабатывается как есть и игнорирует любые анализаторы сопоставления индексов отображения анализатора в момент выполнения вывода.

Настройка полей ввода и вывода

Выберите поле content для вывода и запишите результат в поле content_embedding.

Если указанное output_field уже существует в документе обработки, оно не будет перезаписано. Результаты вывода будут добавлены к существующим полям в output_field, что может привести к дублированию полей и потенциальным ошибкам. Чтобы этого избежать, используйте уникальное имя поля output_field, которое не совпадает ни с одним из существующих полей.

{
  "inference": {
    "model_id": "model_deployment_for_inference",
    "input_output": [
        {
            "input_field": "content",
            "output_field": "content_embedding"
        }
    ]
  }
}

Настройка нескольких входных данных

Поля content и title будут считываться из входящего документа и отправляться в модель для вывода. Результат вывода записывается в content_embedding и title_embedding соответственно.

{
  "inference": {
    "model_id": "model_deployment_for_inference",
    "input_output": [
        {
            "input_field": "content",
            "output_field": "content_embedding"
        },
        {
            "input_field": "title",
            "output_field": "title_embedding"
        }
    ]
  }
}

Выбор полей ввода с помощью input_output несовместим с параметрами target_field и field_map.

Модели анализа фреймов данных должны использовать target_field для указания корневого расположения результатов записи и, необязательно, field_map для сопоставления имен полей во входном документе с полями ввода модели.

{
  "inference": {
    "model_id": "model_deployment_for_inference",
    "target_field": "FlightDelayMin_prediction_infer",
    "field_map": {
      "your_field": "my_field"
    },
    "inference_config": { "regression": {} }
  }
}

Параметры конфигурации классификации

Конфигурация классификации для вывода.

num_top_classes
(Необязательно, целое число) Указывает количество лучших прогнозов класса для возврата. По умолчанию 0.
num_top_feature_importance_values
(Необязательно, целое число) Указывает максимальное количество значений feature importance на документ. По умолчанию 0, что означает отсутствие вычисления важности признаков.
results_field
(Необязательно, строка) Поле, добавляемое во входящие документы для хранения прогноза вывода. По умолчанию используется значение results_field задания анализа фреймов данных, которое использовалось для обучения модели, которое по умолчанию равно <dependent_variable>_prediction.
top_classes_results_field
(Необязательно, строка) Указывает поле, в которое записываются лучшие классы. По умолчанию top_classes.
prediction_field_type
(Необязательно, строка) Указывает тип предсказанного поля для записи. Допустимые значения: string, number, boolean. При указании boolean, 1.0 преобразуется в true, а 0.0 в false.

Параметры конфигурации заполнения маски

num_top_classes
(Необязательно, целое число) Указывает количество лучших прогнозов класса для возврата. По умолчанию 0.
results_field
(Необязательно, строка) Поле, добавляемое во входящие документы для хранения прогноза вывода. По умолчанию используется значение results_field задания анализа фреймов данных, которое использовалось для обучения модели, которое по умолчанию равно <dependent_variable>_prediction.
tokenization

(Необязательно, объект) Указывает токенизацию для выполнения и необходимые параметры. Конфигурация токенизации по умолчанию — bert. Допустимые значения токенизации:

  • bert: Используется для моделей типа BERT
  • deberta_v2: Используется для моделей типа DeBERTa v2 и v3
  • mpnet: Используется для моделей типа MPNet
  • roberta: Используется для моделей типа RoBERTa и BART
  • [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. xlm_roberta: Используется для моделей типа XLMRoBERTa
  • [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Свойства токенизации
bert

(Необязательно, объект) Токенизация типа BERT выполняется с указанными параметрами.

Свойства bert
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, усекается она.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

deberta_v2

(Необязательно, объект) Токенизация типа DeBERTa выполняется с указанными параметрами.

Свойства deberta_v2
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • balanced: Одна или обе первых и вторых последовательностей могут быть усечены для балансировки включенных токенов из обеих последовательностей.
  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, усекается она.
roberta

(Необязательно, объект) Токенизация типа RoBERTa выполняется с указанными параметрами.

Свойства roberta
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, усекается она.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

mpnet

(Необязательно, объект) Токенизация типа MPNet выполняется с указанными параметрами.

Свойства mpnet
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, усекается она.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

Параметры конфигурации NER

results_field
(Необязательный, строка) Поле, добавляемое в входящие документы для хранения прогноза вывода. По умолчанию используется значение поля results_field задания анализа данных по фреймам, которое использовалось для обучения модели, по умолчанию — <dependent_variable>_prediction.
tokenization

(Необязательный, объект) Указывает на токенизацию и желаемые настройки. По умолчанию используется конфигурация токенизации bert. Допустимые значения токенизации:

  • bert: Используется для моделей BERT-стиля
  • deberta_v2: Используется для моделей DeBERTa v2 и v3-стиля
  • mpnet: Используется для моделей MPNet-стиля
  • roberta: Используется для моделей RoBERTa-стиля и BART-стиля
  • [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над исправлением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. xlm_roberta: Используется для моделей XLMRoBERTa-стиля
  • [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над исправлением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. bert_ja: Используется для моделей BERT-стиля, обученных для японского языка.
Свойства токенизации
bert

(Необязательный, объект) Токенизация стиля BERT должна выполняться с указанными настройками.

Свойства bert
truncate

(Необязательный, строка) Указывает способ усечения токенов, если они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не выполняется; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если имеется только одна последовательность, она усекается.

Для zero_shot_classification гипотетическая последовательность всегда является второй последовательностью. Поэтому не используйте second в этом случае.

deberta_v2

(Необязательный, объект) Токенизация стиля DeBERTa должна выполняться с указанными настройками.

Свойства deberta_v2
truncate

(Необязательный, строка) Указывает способ усечения токенов, если они превышают max_sequence_length. Значение по умолчанию — first.

  • balanced: Может быть усечена одна или обе первые и вторые последовательности для балансировки токенов из обеих последовательностей.
  • none: Усечение не выполняется; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если имеется только одна последовательность, она усекается.

Настройки конфигурации регрессии

Настройки конфигурации регрессии для вывода.

results_field
(Необязательный, строка) Поле, добавляемое в входящие документы для хранения прогноза вывода. По умолчанию используется значение поля results_field задания анализа данных по фреймам, которое использовалось для обучения модели, по умолчанию — <dependent_variable>_prediction.
num_top_feature_importance_values
(Необязательный, целое число) Указывает максимальное количество значений важности признаков на документ. По умолчанию равно нулю, и вычисление важности признаков не выполняется.

Настройки конфигурации классификации текста

classification_labels
(Необязательно, строка) Массив меток классификации.
num_top_classes
(Необязательно, целое число) Указывает количество лучших предсказаний классов для возврата. По умолчанию 0.
results_field
(Необязательно, строка) Поле, добавляемое к входящим документам для хранения предсказания вывода. По умолчанию используется значение results_field задания аналитики фрейма данных, которое использовалось для обучения модели, которое по умолчанию равно <dependent_variable>_prediction.
tokenization

(Необязательно, объект) Указывает токенизацию, которую необходимо выполнить, и желаемые параметры. Конфигурация токенизации по умолчанию — bert. Допустимые значения токенизации:

  • bert: Используется для моделей типа BERT
  • deberta_v2: Используется для моделей типа DeBERTa v2 и v3
  • mpnet: Используется для моделей типа MPNet
  • roberta: Используется для моделей типа RoBERTa и BART
  • [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. xlm_roberta: Используется для моделей типа XLMRoBERTa
  • [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Свойства токенизации
bert

(Необязательно, объект) Токенизация типа BERT выполняется с указанными параметрами.

Свойства bert
span

(Необязательно, целое число) Когда truncate равно none, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрываются между каждой подпоследовательностью.

Значение по умолчанию — -1, что означает отсутствие оконного разделения или перекрытия.

Если ваш типичный вход немного больше, чем max_sequence_length, лучше просто усечь его; во второй подпоследовательности будет очень мало информации.

truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, она усекается.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

deberta_v2

(Необязательно, объект) Токенизация типа DeBERTa выполняется с указанными параметрами.

Свойства deberta_v2
span

(Необязательно, целое число) Когда truncate равно none, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрываются между каждой подпоследовательностью.

Значение по умолчанию — -1, что означает отсутствие оконного разделения или перекрытия.

Если ваш типичный вход немного больше, чем max_sequence_length, лучше просто усечь его; во второй подпоследовательности будет очень мало информации.

truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • balanced: Одна или обе первая и вторая последовательности могут быть усечены, чтобы сбалансировать токены, включенные из обеих последовательностей.
  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, она усекается.
roberta

(Необязательно, объект) Токенизация типа RoBERTa выполняется с указанными параметрами.

Свойства roberta
span

(Необязательно, целое число) Когда truncate равно none, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрываются между каждой подпоследовательностью.

Значение по умолчанию — -1, что означает отсутствие оконного разделения или перекрытия.

Если ваш типичный вход немного больше, чем max_sequence_length, лучше просто усечь его; во второй подпоследовательности будет очень мало информации.

truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, она усекается.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

mpnet

(Необязательно, объект) Токенизация типа MPNet выполняется с указанными параметрами.

Свойства mpnet
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, она усекается.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

Параметры конфигурации текстового встраивания

results_field
(Необязательно, строка) Поле, добавляемое к входящим документам для хранения прогноза вывода. По умолчанию используется значение results_field задания аналитики фреймов данных, которое использовалось для обучения модели, которое по умолчанию равно <dependent_variable>_prediction.
tokenization

(Необязательно, объект) Указывает, какую токенизацию следует выполнить и необходимые настройки. Конфигурация токенизации по умолчанию — bert. Допустимые значения токенизации:

  • bert: Используйте для моделей типа BERT
  • deberta_v2: Используйте для моделей типа DeBERTa v2 и v3
  • mpnet: Используйте для моделей типа MPNet
  • roberta: Используйте для моделей типа RoBERTa и BART
  • [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. xlm_roberta: Используйте для моделей типа XLMRoBERTa
  • [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. bert_ja: Используйте для моделей типа BERT, обученных для японского языка.
Свойства токенизации
bert

(Необязательно, объект) Токенизация типа BERT выполняется с указанными настройками.

Свойства bert
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, усекается она.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

deberta_v2

(Необязательно, объект) Токенизация типа DeBERTa выполняется с указанными настройками.

Свойства deberta_v2
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • balanced: Одна или обе (первая и вторая) последовательности могут быть усечены для балансировки токенов, включенных из обеих последовательностей.
  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, усекается она.
roberta

(Необязательно, объект) Токенизация типа RoBERTa выполняется с указанными настройками.

Свойства roberta
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, усекается она.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

mpnet

(Необязательно, объект) Токенизация типа MPNet выполняется с указанными настройками.

Свойства mpnet
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, усекается она.

Для zero_shot_classification последовательность гипотезы всегда является второй последовательностью. Поэтому не используйте second в этом случае.

Параметры конфигурации расширения текста

results_field
(Необязательно, строка) Поле, добавляемое к входящим документам для хранения прогноза вывода. По умолчанию используется значение results_field задания аналитики фрейма данных, которое использовалось для обучения модели, которое по умолчанию равно <dependent_variable>_prediction.
tokenization

(Необязательно, объект) Указывает на токенизацию, которую нужно выполнить, и желаемые параметры. Конфигурация токенизации по умолчанию — bert. Допустимые значения токенизации:

  • bert: Используйте для моделей типа BERT
  • deberta_v2: Используйте для моделей типа DeBERTa v2 и v3
  • mpnet: Используйте для моделей типа MPNet
  • roberta: Используйте для моделей типа RoBERTa и BART
  • [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. xlm_roberta: Используйте для моделей типа XLMRoBERTa
  • [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. bert_ja: Используйте для моделей типа BERT, обученных для японского языка.
Свойства токенизации
bert

(Необязательно, объект) Токенизация типа BERT выполняется с указанными параметрами.

Свойства bert
span

(Необязательно, целое число) Когда truncate равно none, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрываются между каждой подпоследовательностью.

Значение по умолчанию — -1, что означает отсутствие оконного или охватывающего режима.

Когда ваш типичный вход немного больше, чем max_sequence_length, лучше просто усечь; во второй подпоследовательности будет очень мало информации.

truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, она усекается.

Для zero_shot_classification гипотетическая последовательность всегда является второй последовательностью. Поэтому не используйте second в этом случае.

deberta_v2

(Необязательно, объект) Токенизация типа DeBERTa выполняется с указанными параметрами.

Свойства deberta_v2
span

(Необязательно, целое число) Когда truncate равно none, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрываются между каждой подпоследовательностью.

Значение по умолчанию — -1, что означает отсутствие оконного или охватывающего режима.

Когда ваш типичный вход немного больше, чем max_sequence_length, лучше просто усечь; во второй подпоследовательности будет очень мало информации.

truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • balanced: Одна или обе первые и вторые последовательности могут быть усечены, чтобы сбалансировать токены, включенные из обеих последовательностей.
  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, она усекается.
roberta

(Необязательно, объект) Токенизация типа RoBERTa выполняется с указанными параметрами.

Свойства roberta
span

(Необязательно, целое число) Когда truncate равно none, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрываются между каждой подпоследовательностью.

Значение по умолчанию — -1, что означает отсутствие оконного или охватывающего режима.

Когда ваш типичный вход немного больше, чем max_sequence_length, лучше просто усечь; во второй подпоследовательности будет очень мало информации.

truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, она усекается.

Для zero_shot_classification гипотетическая последовательность всегда является второй последовательностью. Поэтому не используйте second в этом случае.

mpnet

(Необязательно, объект) Токенизация типа MPNet выполняется с указанными параметрами.

Свойства mpnet
truncate

(Необязательно, строка) Указывает, как усекаются токены, когда они превышают max_sequence_length. Значение по умолчанию — first.

  • none: Усечение не происходит; запрос вывода получает ошибку.
  • first: Усекается только первая последовательность.
  • second: Усекается только вторая последовательность. Если есть только одна последовательность, она усекается.

Для zero_shot_classification гипотетическая последовательность всегда является второй последовательностью. Поэтому не используйте second в этом случае.

Параметры конфигурации сходства текста

text_similarity

(Объект, необязательно) Сходство текста принимает входную последовательность и сравнивает её с другой входной последовательностью. Это обычно называется кросс-кодированием. Эта задача полезна для ранжирования текстов документов при сравнении их с другим предоставленным текстовым вводом.

Свойства вывода сходства текстов
span_score_combination_function

(Необязательно, строка) Определяет, как комбинировать полученный результат сходства, когда предоставленный фрагмент текста длиннее max_sequence_length и должен быть автоматически разделен для нескольких вызовов. Это применимо только тогда, когда truncate равен none, а span — неотрицательное число. Значение по умолчанию — max. Доступные варианты:

  • max: Возвращается максимальное значение сходства из всех участков.
  • mean: Возвращается среднее значение сходства по всем участкам.
tokenization

(Необязательно, объект) Указывает, какую токенизацию выполнить и какие настройки использовать. Настройка токенизации по умолчанию — bert. Допустимые значения токенизации:

  • bert: Используется для моделей типа BERT.
  • deberta_v2: Используется для моделей типа DeBERTa v2 и v3.
  • mpnet: Используется для моделей типа MPNet.
  • roberta: Используется для моделей типа RoBERTa и BART.
  • [предварительный просмотр] Эта функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. xlm_roberta: Используется для моделей типа XLMRoBERTa.
  • [предварительный просмотр] Эта функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. bert_ja: Используется для моделей типа BERT, обученных для японского языка.

Обратитесь к Свойствам tokenizaton, чтобы ознакомиться со свойствами объекта tokenization.

Параметры конфигурации классификации без обучения

labels
(Необязательно, массив) Метки для классификации. Могут быть установлены при создании для меток по умолчанию, а затем обновлены во время вывода.
multi_label
(Необязательно, логическое значение) Указывает, может ли быть более одной метки true, учитывая входные данные. Это полезно при маркировке текста, который может относиться к более чем одной входной метке. По умолчанию — false.
results_field
(Необязательно, строка) Поле, которое добавляется в входящие документы для хранения прогноза вывода. По умолчанию — значение results_field задания анализа данных фрейма, которое использовалось для обучения модели, которое по умолчанию равно <dependent_variable>_prediction.
tokenization

(Необязательно, объект) Указывает, какую токенизацию выполнить и какие настройки использовать. Настройка токенизации по умолчанию — bert. Допустимые значения токенизации:

  • bert: Используется для моделей типа BERT.
  • deberta_v2: Используется для моделей типа DeBERTa v2 и v3.
  • mpnet: Используется для моделей типа MPNet.
  • roberta: Используется для моделей типа RoBERTa и BART.
  • [предварительный просмотр] Эта функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. xlm_roberta: Используется для моделей типа XLMRoBERTa.
  • [предварительный просмотр] Эта функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Свойства токенизации
bert

(Необязательно, объект) Токенизация в стиле BERT выполняется с указанными настройками.

Свойства bert
truncate

(Необязательно, строка) Указывает, как обрезаются токены, превышающие max_sequence_length. Значение по умолчанию — first.

  • none: Обрезка не выполняется; запрос вывода получает ошибку.
  • first: Обрезается только первая последовательность.
  • second: Обрезается только вторая последовательность. Если есть только одна последовательность, она обрезается.

Для zero_shot_classification, гипотетическая последовательность всегда является второй последовательностью. Поэтому не используйте second в этом случае.

...
... ``` ``` (Note: The translation continues for the remaining HTML content, which has been truncated here for brevity. Please provide the full HTML content for a complete translation.)

Эта конфигурация задает вывод classification. Количество категорий, для которых сообщаются предсказанные вероятности, равно 2 (num_top_classes). Результат записывается в поле prediction, а лучшие классы — в поле probabilities. Оба поля содержатся в объекте результатов target_field.

Пример использования обученных моделей обработки естественного языка см. в Добавление вывода NLP в конвейеры загрузки.

Сопоставление объекта важности признаков

Чтобы получить все преимущества агрегирования и поиска по важности признаков, обновите сопоставление вашего индекса для поля результата важности признаков, как показано ниже:

"ml.inference.feature_importance": {
  "type": "nested",
  "dynamic": true,
  "properties": {
    "feature_name": {
      "type": "keyword"
    },
    "importance": {
      "type": "double"
    }
  }
}

Имя поля сопоставления для важности признаков (в примере выше это ml.inference.feature_importance) формируется следующим образом:

<ml.inference.target_field>.<inference.tag>.feature_importance

  • <ml.inference.target_field>: по умолчанию ml.inference.
  • <inference.tag>: если не указано в определении процессора, то оно не входит в путь к полю.

Например, если вы укажете тег foo в определении, как показано ниже:

{
  "tag": "foo",
  ...
}

Тогда значение важности признаков записывается в поле ml.inference.foo.feature_importance.

Вы также можете указать целевое поле следующим образом:

{
  "tag": "foo",
  "target_field": "my_field"
}

В этом случае важность признаков отображается в поле my_field.foo.feature_importance.

Примеры процессоров вывода

Следующий пример использует точку входа вывода в процессе вывода под названием query_helper_pipeline для выполнения задачи завершения диалога. Процессор генерирует запрос Elasticsearch из входных данных естественного языка с использованием приглашения, предназначенного для типа задачи завершения. Обратитесь к этому списку для использования вами сервиса вывода и проверьте соответствующие примеры настройки точки входа с типом задачи завершения диалога.

resp = client.ingest.put_pipeline(
    id="query_helper_pipeline",
    processors=[
        {
            "script": {
                "source": "ctx.prompt = 'Please generate an elasticsearch search query on index `articles_index` for the following natural language query. Dates are in the field `@timestamp`, document types are in the field `type` (options are `news`, `publication`), categories in the field `category` and can be multiple (options are `medicine`, `pharmaceuticals`, `technology`), and document names are in the field `title` which should use a fuzzy match. Ignore fields which cannot be determined from the natural language query context: ' + ctx.content"
            }
        },
        {
            "inference": {
                "model_id": "openai_chat_completions",
                "input_output": {
                    "input_field": "prompt",
                    "output_field": "query"
                }
            }
        },
        {
            "remove": {
                "field": "prompt"
            }
        }
    ],
)
print(resp)
const response = await client.ingest.putPipeline({
  id: "query_helper_pipeline",
  processors: [
    {
      script: {
        source:
          "ctx.prompt = 'Please generate an elasticsearch search query on index `articles_index` for the following natural language query. Dates are in the field `@timestamp`, document types are in the field `type` (options are `news`, `publication`), categories in the field `category` and can be multiple (options are `medicine`, `pharmaceuticals`, `technology`), and document names are in the field `title` which should use a fuzzy match. Ignore fields which cannot be determined from the natural language query context: ' + ctx.content",
      },
    },
    {
      inference: {
        model_id: "openai_chat_completions",
        input_output: {
          input_field: "prompt",
          output_field: "query",
        },
      },
    },
    {
      remove: {
        field: "prompt",
      },
    },
  ],
});
console.log(response);
PUT _ingest/pipeline/query_helper_pipeline
{
  "processors": [
    {
      "script": {
        "source": "ctx.prompt = 'Please generate an elasticsearch search query on index `articles_index` for the following natural language query. Dates are in the field `@timestamp`, document types are in the field `type` (options are `news`, `publication`), categories in the field `category` and can be multiple (options are `medicine`, `pharmaceuticals`, `technology`), and document names are in the field `title` which should use a fuzzy match. Ignore fields which cannot be determined from the natural language query context: ' + ctx.content" 
      }
    },
    {
      "inference": {
        "model_id": "openai_chat_completions", 
        "input_output": {
          "input_field": "prompt",
          "output_field": "query"
        }
      }
    },
    {
      "remove": {
        "field": "prompt"
      }
    }
  ]
}

Поле prompt содержит запрос, используемый для задачи завершения, созданный с помощью Painless. + ctx.content добавляет входные данные естественного языка к запросу.

Идентификатор предварительно настроенной точки входа вывода, использующей openai сервис с типом задачи completion.

Следующий запрос API позволит смоделировать запуск документа через ранее созданный конвейер загрузки:

resp = client.ingest.simulate(
    id="query_helper_pipeline",
    docs=[
        {
            "_source": {
                "content": "artificial intelligence in medicine articles published in the last 12 months"
            }
        }
    ],
)
print(resp)
const response = await client.ingest.simulate({
  id: "query_helper_pipeline",
  docs: [
    {
      _source: {
        content:
          "artificial intelligence in medicine articles published in the last 12 months",
      },
    },
  ],
});
console.log(response);
POST _ingest/pipeline/query_helper_pipeline/_simulate
{
  "docs": [
    {
      "_source": {
        "content": "artificial intelligence in medicine articles published in the last 12 months" 
      }
    }
  ]
}

Запрос на естественном языке, используемый для генерации запроса Elasticsearch в рамках запроса, созданного процессором вывода.

Дополнительные материалы

  • Какая работа подходит вам лучше всего? Использование LLMs и semantic_text для сопоставления резюме с вакансиями

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/inference-processor.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API