Загрузчики документов
Custom Document Loader
Пользовательская функция для загрузки документов.
Этот модуль позволяет создавать собственные функции загрузки документов с помощью JavaScript. Он обеспечивает гибкую и настраиваемую обработку документов через пользовательские скрипты.
Что предоставляет этот модуль:
- Выполнение пользовательских JavaScript-функций для загрузки документов
- Динамическую работу с входными переменными
- Поддержку как вывода документов, так и текста
- Исполнение в изолированной (sandboxed) среде
- Доступ к контексту потока и переменным
- Обработку пользовательских метаданных
Входные параметры
Обязательные параметры:
- Javascript Function: пользовательский код, который должен возвращать либо:
- Массив объектов документов (для вывода документов)
- Строку (для вывода текста)
Дополнительные параметры:
- Input Variables: JSON-объект с переменными, доступными внутри функции, с префиксом $
Выходные данные
- Document: массив объектов документов, содержащих metadata и pageContent
- Text: объединенная строка из pageContent всех документов
Ключевые особенности:
- Исполнение в изоленной среде (sandbox)
- Поддержка внедрения переменных
- Доступ к контексту потока (flow)
- Поддержка пользовательских зависимостей
- Обработка ошибок
- Защита от тайм-аутов
- Валидация входных данных
Структура документа при возвращении:
Объекты должны иметь следующую структуру:
{
pageContent: 'Document Content',
metadata: {
title: 'Document Title',
// ... other metadata
}
}
Пример использования
Для возврата документов:
return [
{
pageContent: 'Document Content',
metadata: {
title: 'Document Title',
source: 'Custom Source'
}
}
]
Для возврата текста:
return "Processed text content"
Доступный контекст
- $input: входное значение, переданное функции
- $vars: доступ к переменным потока
- $flow: объект контекста потока, содержащий:
- chatflowId
- sessionId
- chatId
- input
Примечания
- Скрипты работают в безопасной изолированной среде
- Максимальное время выполнения — 10 секунд
- Встроенные зависимости доступны по умолчанию
- Можно настраивать внешние зависимости
- Входные переменные должны быть валидным JSON
- Обработка ошибок для некорректных возвратов данных
- Поддержка асинхронных операций

