? Мультимодальная обработка документов тряпка с Langchain?
Этот проект представляет собой приложение для обработки мультимодальных документов и запроса базы данных Milvus . Он использует передовые инструменты, такие как Langchain , Transformers , Easyocr и другие для обработки, хранения и запроса текста, извлеченного из различных типов файлов.
Функции
Загрузить обработку файлов :
- Поддерживает несколько типов файлов:
audio , video , image , text , csv , yaml , json , docx и pdf . - Извлекает текстовое содержание с помощью:
- ? Audio :
speech_recognition и pydub . - ? Видео : пользовательская логика извлечения.
- ? ️ Изображение :
EasyOCR . - ? Текст/журналы/документы : Langchain Loaders.
Интеграция мильвуса :
- ? ️ хранит обработанные документы внедрения для запросов на основе сходства.
- ? Использует
HuggingFaceEmbeddings для создания векторных представлений.
? Интерфейс запроса :
- Интерфейс запроса естественного языка.
- Реализует конвейер из поискового генерального поколения (RAG) для ответов, управляемых AI.
Установка
? Предварительные условия
- Python 3.8+
- менеджер пакетов
pip или conda - CUDA-совместимый GPU (необязательно, для более быстрой обработки)
? Вилка и клонировать репозиторий
Вилка репозитория : перейдите к репозиторию GitHub Rag-Architecture и нажмите Fork .
Клонировать раздвоенный репозиторий :
git clone https://github.com/ < your-username > /RAG-Architecture.git
cd RAG-Architecture
? Установить зависимости
pip install -r requirements.txt
Использование
Начните приложение
Запустите приложение Streamlit:
Режимы приложения
? Загрузить файлы:
- Загрузите файл для обработки и хранить его контент в Milvus.
- Отображает извлеченный контент и хранит встроенные в базу данных.
❓ Запрос:
- Введите вопрос для поиска и получения соответствующей информации из базы данных Milvus.
- Возвращает сгенерированные AI ответы, используя тряпичный трубопровод Langchain.
? Структура файла
# # ? **File Structure**
` ` ` bash
project/
│
├── app.py # Main Streamlit application
├── requirements.txt # ? Python dependencies
├── utils/ # Utility modules
│ ├── audio_utils.py # ? Audio file processing
│ ├── video_utils.py # ? Video file processing
│ ├── image_utils.py # ?️ Image file processing
│ ├── document_loaders.py # Document processing loaders
│ ├── milvus_client.py # ?️ Initializes Milvus database
│
├── milvus_database.db # ?️ Milvus database file (auto-created)
├── Dataset # Folder to store datasets
├── Images # ? Folder for storing images
? Ключевые модули
app.py
? Основная логика приложения
- Обрабатывает загрузку файлов, обработку документов и запросы.
utils/
- ? Аудио : разбивает аудио на куски и транскрибирует текст.
- ? Видео : обрабатывает видеофайлы для извлечения и анализа контента.
- ? ️ Изображение : использует easyoc для извлечения текста.
- Журналы/документы : обрабатывает файлы CSV, YAML, JSON и PDF в структурированные документы Langchain.
Пример рабочий процесс
? Загрузка файла
- Выберите режим «Загрузить файлы» .
- Загрузите файл (например,
example.pdf ). - Обработайте и сохраните файл в базе данных.
❓ Запрос базы данных
- Выберите режим "запроса" .
- Введите вопрос о естественном языке.
- Получите краткий, основанный на фактах ответ.

? Будущие улучшения
- ? Добавьте более продвинутые возможности запроса.
- Улучшение поддержки дополнительных типов файлов и вторжений.
- ⚡ Улучшение масштабируемости для более крупных наборов данных.
Лицензия Этот проект лицензирован по лицензии MIT .
? Благодарности
- Уточняя для интерактивного пользовательского интерфейса.
- Langchain и Milvus для обработки документов, поиска и вектора DB.
- ? Трансформеры для внедрения поколения.
- ? ️ easyoc для извлечения текста изображения.
- ? MoviePy для обработки видео.