Загрузчики документов
GitHub Document Loader
Загрузка данных из репозитория GitHub.
GitHub — платформа для контроля версий и совместной работы. Этот модуль обеспечивает возможность загрузки и обработки контента из репозиториев GitHub, поддерживая как публичные, так и приватные репозитории.
Данный модуль предоставляет продвинутый загрузчик документов для GitHub, который способен:
- Загружать контент из репозиториев GitHub
- Обеспечивать доступ к приватным репозиториям
- Обрабатывать репозитории рекурсивно
- Работать с пользовательскими инстансами GitHub
- Управлять параллельностью и повторными попытками
- Настраивать фильтрацию файлов
- Обрабатывать контент с помощью разделителей текста
Входные данные
Обязательные параметры
Ссылка на репозиторий: URL репозитория GitHub (например, https://github.com/osmi) Ветка: ветка для загрузки контента (по умолчанию: main)
Дополнительные параметры
- Учётные данные для подключения: учетные данные API GitHub (требуются для приватных репозиториев)
- Рекурсивный режим: обработка поддиректорий
- Максимальная параллельность: максимальное количество одновременных загрузок файлов
- Базовый URL GitHub: пользовательский базовый URL GitHub для корпоративных инстансов
- API инстанса GitHub: пользовательский API URL для корпоративных инстансов
- Игнорируемые пути: массив шаблонов glob для путей, которые необходимо игнорировать
- Максимальное число повторных попыток: предел количества попыток загрузки
- Разделитель текста: средство разделения текста для обработки извлечённого содержимого
- Дополнительные метаданные: JSON-объект с дополнительной информацией
- Исключить ключи метаданных: список ключей метаданных через запятую для исключения
Выходные данные
- Документ: массив объектов документов с метаданными и содержанием страницы (pageContent)
- Текст: объединённая строка из pageContent всех документов
Особенности
- Поддержка публичных и приватных репозиториев
- Поддержка корпоративных инстансов GitHub
- Рекурсивная обработка директорий
- Управление параллельностью
- Механизм повторных попыток
- Фильтрация путей
- Поддержка разделения текста
- Настройка метаданных
Методы аутентификации
Публичные репозитории:
- Аутентификация не требуется
- Применяются ограничения по скорости
- Ограничены публичным контентом
Приватные репозитории:
- Требует токен доступа к GitHub
- Более высокие лимиты скорости
- Доступ к приватному контенту
- Поддержка корпоративных инстансов
Структура документа
Каждый документ содержит:
- pageContent: содержимое файла
- metadata:
- source: путь файла в репозитории
- branch: ветка репозитория
- commit: хеш коммита
- дополнительные пользовательские метаданные
Примечания
- Поддержка как публичных, так и приватных репозиториев
- Поддержка корпоративных инстансов GitHub
- Автоматическая обработка ограничений по скорости
- Обратное импульсное увеличение (exponential backoff) при повторных попытках
- Фильтрация путей с помощью шаблонов glob
- Эффективная по памяти обработка
- Обработка ошибок для недопустимых репозиториев

