Будет ли RAG поддерживать PDF-файлы в будущем?

Сначала: ваши AI-функции просто крутые!

Во-вторых, если мы разместим файлы PDF, Word или PowerPoint на нашем форуме, сможете ли вы также прочитать их и разбить на векторы для RAG?

2 лайка

К сожалению, поддержка PDF-файлов пока отсутствует — мы рассматриваем возможность её добавления. Однако мы поддерживаем файлы TXT в нашей реализации RAG для персон и инструментов. Таким образом, если вы сможете конвертировать исходные материалы в текстовые файлы, их можно будет использовать в персоне.

3 лайка

Да, именно так мы и поступили: преобразовали вложения в текст и связали их с каждой темой.

1 лайк

Мы несколько раз получали такую обратную связь и рассматриваем возможность расширения поддержки форматов файлов в будущем через нашего AI-бота и реализацию Tool RAG.

4 лайка

В качестве временного решения мы просто конвертируем файлы PowerPoint, Word или PDF в текст и прикрепляем их к соответствующей теме.

1 лайк

Поддержка PDF стала бы настоящим прорывом для многих сообществ! Поскольку это, по сути, универсальный стандарт для документов, нам часто приходится переформатировать материалы в .txt для RAG, что действительно отнимает много времени :face_with_spiral_eyes:

6 лайков

Мы завершаем работу над эмбеддингами, и как только она будет закончена, следующим шагом станет добавление поддержки PDF.

5 лайков

Вау, это очень приятно. Респект команде, которая всегда учитывает потребности сообщества!

А как насчёт JSON-файлов? У меня есть множество экспортированных чатов из Discord, которые нам нужно будет обрабатывать с помощью ИИ, чтобы не потерять эту информацию :slight_smile:

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

JSON — это просто текст, поэтому мы уже поддерживаем его.

Для больших языковых моделей это неэффективный формат из-за значительного дублирования внутри структуры, что приведёт к неоправданному расходу токенов, но в целом он будет работать. Я рекомендую запустить скрипт для преобразования и переформатирования данных, чтобы улучшить производительность RAG.

Автоматизировать это очень сложно, так как JSON может быть сильно вложенным, а выбор идеального текстового представления, специфичного для предметной области, сильно зависит от самой области.

3 лайка

Спасибо, Сэм. Можно спросить о вашем предложении поддерживать сбалансированное соотношение производительности и цены при добавлении ~150 МБ JSON (в PDF)?

Это мой первый опыт работы с RAG на наших данных, и я скоро начну изучать этот процесс.

Буду признателен за любые советы от сообщества.

Скажу прямо: этот коммит выглядит просто великолепно :heart_eyes:

Не подскажете, есть ли какие-то сроки полного выпуска этой функции? Я вижу, что пока она скрыта как функция сайта.

5 лайков

Одной из сложностей в работе над этим является поддержка PDF-файлов всех типов. Как вы можете себе представить, некоторые PDF-файлы содержат простой текст и их легко обработать. Однако есть файлы с пользовательскими шрифтами, изображениями, графикой, нелинейным форматированием и т.д.

Мы пытаемся найти способ заставить работать все типы PDF-файлов, поэтому это может занять некоторое время.

4 лайка

Очень верно сказано. Я считаю, что DeepSeek сейчас немного меняет эту ситуацию. Запуск более мелких моделей DeepSeek локально с помощью Ollama теперь может обеспечивать качественную инференс и предлагать решение этих проблем.

Извините, что отвлекаю, @Saif, не могли бы вы помочь мне по связанной теме здесь: How to properly debug AI Personas? Спасибо!

Спасибо за такое невероятное дополнение к уже потрясающему плагину.

В PR указано, что:

  • Задание RAG Digestion: Задание DigestRagUpload теперь обрабатывает загрузку PDF-файлов и изображений. Оно использует PdfToImages и ImageToText для извлечения текста и создания фрагментов документа.

Когда это задание фактически выполняется? Нужно ли мне запускать его вручную?

Я только что загрузил несколько текстовых файлов и один PDF-файл. Текстовые файлы индексируются сразу, но для PDF-файла всё ещё отображается статус «готов к индексации».

Спасибо. :pray:

1 лайк

Задача выполняется, но возникла ошибка:

Jobs::HandledExceptionWrapper: Wrapped NameError: undefined local variable or method `temp_dir’ for an instance of DiscourseAi::Utils::PdfToImages

Я использую собственную установку. Возможно, я смогу разобраться в этом подробнее?

Я бы воздержался от использования этой функции, поскольку она технически ещё не запущена. Вы столкнетесь с проблемами здесь.

2 лайка

Я думаю, я нашел проблему в PdfToImages:

3 лайка

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

Затем «богатое» извлечение на основе LLM можно разместить за флагами.

Проблема многих PDF-файлов в том, что они огромны и могут сильно нагружать ресурсы сервера. Кроме того, такие инструменты, как Tesseract, могут быть довольно сложными в установке, но они могут улучшить качество.

5 лайков

@sam, я размещаю это на собственном сервере и сейчас сталкиваюсь с проблемами в Tesseract. Установил без проблем, но он выдаёт ошибки, которые, кажется, недостаточно серьёзны, чтобы сорвать выполнение задачи:

Ошибка при обработке OCR: /var/www/discourse/lib/discourse.rb:139:in `exec’: Не удалось выполнить OCR изображения с помощью Tesseract
Оценка разрешения как 337

Даже при этой ошибке PDF отображается в Persona как проиндексированный.

Не уверен, что это означает для влияния на RAG. Разберусь глубже в выходные.

Спасибо за столь быстрый ответ.

2 лайка

У нас есть оценка (и я хочу добавить больше), но в целом качество преобразования изображения в текст сильно варьируется в зависимости от модели, если оно не основано на фактах.

Хорошая новость в том, что с PDF мы можем извлекать текст без потерь, а затем полагаться на LLM только для его улучшения, если вы хотите довести его до идеала. Что-то будет на следующей неделе.

6 лайков