Справочник по набору данных оценки

Наборы данных оценки в MLflow определяют структурированные тестовые данные, используемые для оценки приложения GenAI: inputsнеобязательные поля исходной истины expectationsи поля происхождения, такие как источник и теги. На этой странице описана схема набора данных и ссылки на наиболее часто используемые методы и классы ПАКЕТА SDK.

Общие сведения и примеры использования наборов данных оценки см. в разделе "Оценка приложений GenAI" во время разработки.

Схема набора данных оценки

Наборы данных оценки должны использовать схему, описанную в этом разделе.

Основные поля

Следующие поля используются как в абстракции набора данных оценки, так и при передаче данных напрямую.

колонна Тип данных Описание Обязательно
inputs dict[Any, Any] Входные данные для приложения (например, вопрос пользователя, контекст), хранящиеся в формате JSON-seralizable dict. Да
expectations dict[Str, Any] Метки истинных значений, хранящиеся в формате JSON-сериализуемый dict. Необязательно

expectations зарезервированные ключи

expectations имеет несколько зарезервированных ключей, которые используются встроенными судьями LLM: guidelines, expected_factsи expected_response.

Поле Используется кем-либо Описание
expected_facts Correctness судья Список фактов, которые должны отображаться
expected_response Correctness судья Точные или аналогичные ожидаемые выходные данные
guidelines Guidelines судья Правила естественного языка для выполнения
expected_retrieved_context document_recall Бомбардиром Документы, которые должны быть извлечены

Дополнительные поля

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

колонна Тип данных Описание Обязательно
dataset_record_id струна Уникальный идентификатор записи. Автоматическая установка, если не указано.
create_time отметка времени Время создания записи. Автоматически устанавливается при вставке или обновлении.
created_by струна Пользователь, создавший запись. Автоматически устанавливается при вставке или обновлении.
last_update_time отметка времени Время последнего обновления записи. Автоматически устанавливается при вставке или обновлении.
last_updated_by струна Пользователь, который последний раз обновил запись. Автоматически устанавливается при вставке или обновлении.
source Структура Источник записи набора данных. См. поле "Источник". Необязательно
tags dict[str, Any] Теги "ключ-значение" для записи набора данных. Необязательно

Исходное поле

Поле source отслеживает, откуда поступила запись набора данных. Каждая запись может иметь только один тип источника.

Источник человека: запись, созданная вручную человеком

{
    "source": {
        "human": {
            "user_name": "jane.doe@company.com"  # user who created the record
        }
    }
}

Источник документа: запись синтезирована из документа

{
    "source": {
        "document": {
            "doc_uri": "s3://bucket/docs/product-manual.pdf",  # URI or path to the source document
            "content": "The first 500 chars of the document..."  # Optional, excerpt or full content from the document
        }
    }
}

Источник трассировки: запись, созданная из рабочей трассировки

{
    "source": {
        "trace": {
            "trace_id": "tr-abc123def456". # unique identifier of the source trace
        }
    }
}

Пользовательский интерфейс набора данных оценки MLflow

Вкладка "Наборы данных" на странице эксперимента MLflow предоставляет визуальный интерфейс для управления наборами данных оценки и их записями. На странице используется макет разделенной панели: в левой области перечислены все наборы данных оценки, связанные с экспериментом, а в правой области отображаются записи выбранного набора данных. Вы можете выполнять поиск, сортировку, создание, изменение и удаление наборов данных и записей непосредственно из пользовательского интерфейса без написания кода.

Вкладка

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

Обзор пользовательского интерфейса набора данных оценки

  1. На боковой панели щелкните "Эксперименты" и откройте эксперимент.

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

  3. Щелкните имя набора данных, чтобы просмотреть свои записи в правой области. Чтобы просмотреть все столбцы, может потребоваться прокрутить вправо и влево.

  4. Чтобы увеличить правую панель, наведите указатель мыши на разделитель области и щелкните стрелку влево. Щелкните стрелку еще раз, чтобы вернуться к представлению по умолчанию.

    Наведите указатель мыши на разделитель области, чтобы увеличить правую панель.

  5. Чтобы выбрать отображаемые столбцы, нажмите кнопку "Столбцы ". Установите или отмените выбор флажков. По завершении щелкните в раскрывающемся меню.

    Выберите столбцы для отображения.

Создание набора данных оценки

  1. На вкладке "Наборы данных" нажмите кнопку "Создать набор данных".

    Кнопка создания набора данных

  2. В диалоговом окне щелкните "Выбрать схему" , чтобы выбрать схему каталога Unity, в которой есть CREATE TABLE разрешения.

  3. Введите имя таблицы для набора данных. Предварительный просмотр полного имени набора данных (catalog.schema.table_name) отображается под входными данными.

  4. Нажмите кнопку "Создать набор данных".

Добавление записей набора данных

Сведения о добавлении существующих трассировок в набор данных оценки см. в статье "Создание набора данных с помощью пользовательского интерфейса".

Изменение записей набора данных

В видео показаны следующие действия.

  1. Выберите набор данных в левой области, чтобы просмотреть свои записи.
  2. Поля "Входные данные " и "Ожидания " можно изменять непосредственно в таблице. Эти поля принимают JSON и проверяют входные данные по мере ввода.
  3. Чтобы добавить новую строку, нажмите кнопку "Добавить запись". Новая строка со значениями по умолчанию отображается в верхней части таблицы.
  4. Чтобы сохранить все ожидающие изменения, нажмите кнопку "Сохранить изменения " в правом верхнем углу.

Изменение записей набора данных.

Удаление записей или наборов данных

  • Чтобы удалить записи, установите флажки, чтобы выбрать одну или несколько записей, а затем нажмите кнопку "Удалить( N)".

Удалить запись.

  • Чтобы удалить набор данных, нажмите кнопку "Показать сведения ", чтобы открыть область сведений, а затем нажмите кнопку "Удалить набор данных " в нижней части области. Вы также можете удалить набор данных из значка меню Kebab в меню Kebab. В списке наборов данных.

В наборе данных оценки отображается область сведений.

Просмотр сведений о наборе данных

Чтобы просмотреть метаданные для набора данных, нажмите кнопку "Показать сведения " в правом верхнем углу. Откроется область, включая имя набора данных, идентификатор, время создания, последнее обновление, источник и ссылку для просмотра набора данных в каталоге Unity.

Добавление и удаление тегов

В столбце "Теги" щелкните тег, чтобы изменить его, или нажмите кнопку "Добавить теги ", чтобы добавить новый тег.

Изменение тегов в пользовательском интерфейсе.

Просмотр исходной трассировки

В столбце "Источник " щелкните трассировку, чтобы открыть интерактивное окно с полными трассировками и оценками.

Просмотр исходной трассировки в пользовательском интерфейсе.

Запуск оценки с помощью набора данных

Чтобы открыть диалоговое окно с шаблоном кода Python, который загружает набор данных и запускается mlflow.genai.evaluate() с набором показателей по умолчанию:

  1. Нажмите кнопку "Запустить оценку".

    Запустите кнопку оценки.

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

    Скопируйте фрагмент кода.

Справочник SDK по набору данных оценки MLflow

Пакет SDK для оценки наборов данных предоставляет программный доступ для создания, управления и использования наборов данных для оценки приложений GenAI. Дополнительные сведения см. в справочнике по API: mlflow.genai.datasets Ниже приведены некоторые из наиболее часто используемых методов и классов: