Система ответов на вопросы PDF с использованием поколения в поисках (RAG)
Этот проект представляет собой сложную систему с ответом на вопросы, предназначенную для извлечения и предоставления ответов с контекстными вопросами из документов PDF. Интегрируя передовые методы извлечения-аугированного поколения (RAG) и современные модели искусственного интеллекта, система позволяет пользователям взаимодействовать со своими документами более эффективным и интеллектуальным способом.
Варианты использования
- Академические исследования : быстро извлечь понимание из исследовательских работ, отчетов или исследований.
- Профессиональный анализ : с легкостью ориентируйтесь на длительные контракты, белые работ или руководства.
- Повседневное использование : упростить взаимодействие с плотными или сложными PDF -документами.
Ключевые функции
- PDF -обработка : загрузка и обработка документов PDF для анализа.
- Интерактивные вопросы и ответы : введите вопросы естественного языка и получайте точные ответы на основе содержания документа.
- Расширенный поиск : использует векторную индексацию и оценку сходства для точного поиска контента.
- Интерфейс, удобный для пользователя : веб-приложение, созданное с Streatlit, обеспечивает простоту использования и доступность.
Технологии используются
Frontend: Backend Streamlit: Python Machine Learning: Trangingface Transformers для генерации текста VectorStoreIndex для индексации документов Пользовательский ретривер и постпроцессор для повышения точности
Установка и настройка
- Клонировать репозиторий :
git clone https://github.com/your-repo-name.git
cd your-repo-name
- Запустите приложение: запустите приложение Streamlit:
Загрузите PDF и начните запросить
- Загрузите желаемый файл PDF через интерфейс приложения.

- Введите вопросы и получайте контекстные точные ответы.

Как это работает
PDF -обработка :
- Система считывает и обрабатывает загруженный PDF, разделяя его на управляемые куски для индексации.
Поиск информации :
- Индексированное содержание извлекается с использованием расширенных встраиваний и сходства.
Поколение ответов :
- Предварительно обученная языковая модель генерирует контекстные и краткие ответы на основе полученного контента.
Технологический стек
- Frontend : Streamlit для интерактивного и интуитивно понятного пользовательского опыта.
- Бэкэнд :
- Трансформеры Huggingface для понимания естественного языка и поколения.
- Вектор на основе поиска с использованием пользовательских встроений.
- Язык программирования : Python.
Обзор кода
app.py
- Приложение Streamlit, которое предоставляет пользовательский интерфейс.
- Обрабатывает PDF -загрузки, вводы вопросов и отображает ответы.
rag.py
- Реализует основную логику Rag:
- PDF -обработка : читает и разбивает PDF на управляемые куски.
- Индексация : создает векторный индекс для эффективного поиска контента.
- Двигатель запроса : использует ретривер и постпроцессор, чтобы ответить на запросы.
- Генерация ответов : генерирует подробные ответы с использованием модели трансформатора.
Инструкции по использованию
- Загрузите PDF -файл.
- Подождите, пока система обработает документ.
- Введите свой вопрос и нажмите «Получить ответ».
- Просмотреть ответ, сгенерированный системой.
Будущие улучшения
- Многодокументированная поддержка : включить запрос в нескольких файлах PDF.
- Многоязычная поддержка : добавьте поддержку для обработки документов на нескольких языках.
- Поддержка графического процессора : внедрить ускорение графического процессора для более быстрого времени обработки и отклика.
- Дополнительные форматы : расширяйте поддержку другим форматам документов, таким как DOCX и TXT.
- Улучшенный пользовательский интерфейс : улучшить пользовательский интерфейс с расширенной аналитикой и функциями визуализации.
Внося
Мы приветствуем вклад сообщества. Внести свой вклад:
- Вилка репозитория.
- Создайте филиал.
- Отправьте запрос на привлечение, подробно описывая ваш вклад.
По любым вопросам или предложениям, пожалуйста, откройте обсуждение или проблему в репозитории.
Лицензия
Этот проект лицензирован по лицензии MIT. Не стесняйтесь использовать, изменять и распространять его в соответствии с условиями лицензии.
Контакт
Для запросов или дополнительной информации, пожалуйста, свяжитесь с репозиторием Tracker или Email (если применимо).