Osmi
Загрузчики документов

Json Lines File

JSON Lines (JSONL) — текстовый формат, в котором каждая строка является допустимым значением JSON. Этот модуль предоставляет функциональность для загрузки и обработки JSONL-файлов, с поддержкой извлечения содержимого с использованием указателей и динамической обработки метаданных.

Данный модуль реализует продвинутый загрузчик JSONL-документов, который может:

  • Загружать один или несколько JSONL-файлов
  • Извлекать конкретные значения с помощью JSON-указателей
  • Обрабатывать динамическое извлечение метаданных
  • Обрабатывать содержимое с помощью текстовых разделителей
  • Поддерживать файлы, закодированные в base64
  • Обеспечивать интеграцию с системами хранения файлов
  • Настраивать извлечение метаданных

Входные данные

Обязательные параметры

  • JSONL File: JSONL-файл(ы) для обработки (.jsonl обязательно в расширении)
  • Pointer Extraction: JSON-указатель для извлечения содержимого (например, "key" для {"key": "value"})

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

  • Text Splitter: инструмент для разделения текста извлечённого содержимого
  • Additional Metadata: JSON-объект с дополнительными метаданными
  • Omit Metadata Keys: список ключей метаданных, разделённых запятыми, которые нужно исключить

Выходные данные

  • Document: массив объектов документов, содержащих метаданные и pageContent
  • Text: объединённая строка, сформированная из pageContent всех документов

Функции

  • Извлечение с помощью JSON-указателей
  • Обработка динамических метаданных
  • Поддержка разделения текста
  • Поддержка файлов в формате base64
  • Интеграция с системами хранения файлов
  • Обработка ошибок
  • Эффективная работа с памятью
  • Поддержка вложенных структур JSON
  • Гибкое извлечение метаданных
  • Форматы вывода, адаптированные к потребностям

Пример извлечения JSONL данных:

Для содержимого:

json

{"key": "value1", "source": "file1.txt"} {"key": "value2", "source": "file2.txt"} с указателем "key" результат: "value1", "value2".

Динамическое извлечение метаданных:

Можно извлекать значения как метаданные, используя JSON-указатели:

json

{ "source": "/source", "custom": "/metadata/field" }

Структура документа:

Каждый документ содержит:

  • pageContent: содержимое, извлечённое с помощью указателя
  • metadata:
    • source: исходный путь файла
    • line: номер строки в файле
    • pointer: использованный JSON-указатель
    • Дополнительные динамические метаданные

Обработка файлов:

Локальные файлы:

  • Прямое загрузка файла
  • Содержимое в формате base64
  • Поддержка нескольких файлов

Интеграция с системами хранения:

  • Поддержка систем хранения файлов
  • Хранение на уровне организации
  • Организационно-ориентированное хранение
  • Хранение на базе Chatflow
  • Хранение с использованием Chatflow

Примечания:

  • Один документ на строку JSONL
  • Невалидные строки пропускаются
  • Эффективная обработка памяти
  • Обработка ошибок при некорректных указателях
  • Поддержка вложенных JSON-структур
  • Гибкое динамическое извлечение метаданных
  • Поддержка различных форматов вывода