Текстовая генерация и суммаризация с использованием GenAI становятся мейнстримом благодаря своей способности быстро создавать точные и связные резюме нужной информации. Хотя есть общедоступные инструменты для суммаризации, компании могут предпочесть внутренние решения по причинам конфиденциальности данных, безопасности и соблюдения регулятивных норм. Поэтому возникает потребность в локальных продуктах, которые могут адаптироваться к требованиям организации и ее правилам управления данными.
Команды часто сталкиваются с серьезными препятствиями при создании собственных решений на основе машинного обучения. Какую технику суммаризации следует использовать для больших документов, которые превышают размер контекстного окна моделей LLM? Какие библиотеки лучше всего подходят для парсинга больших документов, таких как PDF, с их сложными структурами (например, таблицы, графики и изображения)? Какая LLM подходит для суммаризации длинных расшифровок встреч, где есть множество смен диалогов, что затрудняет понимание ценной контекстной информации? Какие эффективные подсказки (prompts) следует использовать для выбранных моделей?
Сервис Summarize-and-Chat
Summarize-and-Chat — это проект с открытым исходным кодом для VMware Private AI, который решает вышеуказанные задачи и помогает командам начать работу с их кейсами. Этот проект может быть развернут на VMware Private AI Foundation с NVIDIA, чтобы клиенты могли начать использовать GenAI на своих приватных данных. Данная возможность предоставляет универсальный и масштабируемый подход для типичных задач суммаризации, обеспечивая взаимодействие на естественном языке через чат-интерфейсы. Интеграция суммаризации документов и общения через чат в единой системе имеет несколько преимуществ. Во-первых, это позволяет пользователям получать краткие резюме различного контента, включая статьи, отзывы клиентов, баги/проблемы или пропущенные встречи.
Во-вторых, благодаря использованию LLM для чатов, данная возможность обеспечивает более вовлекающие и контекстно-осведомленные разговоры, повышая удовлетворенность пользователей.
Ключевые особенности
Summarize-and-Chat предоставляет следующие возможности:
Поддержка различных типов и форматов документов (PDF, DOCX, PPTX, TXT, VTT и популярных аудиофайлов - mp3, mp4, mpeg, mpga, m4a, wav и webm).
Поддержка открытых LLM на движке вывода, совместимого с OpenAI.
Интуитивно понятный пользовательский интерфейс для загрузки файлов, генерации резюме и чатов.
Суммаризация:
Вставляйте, копируйте или загружайте файлы и просматривайте их.
Выбирайте способ суммаризации (пользовательские подсказки, размер фрагмента, диапазон страниц для документов или временной диапазон для аудио).
Регулируйте длину резюмирующего вывода.
Получайте резюме за считанные секунды и загружайте его.
Чат с вашим документом:
Автоматически сгенерированные вопросы по документу.
Получайте ответ с указанием источника за считанные секунды.
Анализ инсайтов:
Выбирайте два или более документа.
Пишите запрос для сравнения или определения инсайтов из выбранных документов.
Преобразование речи в текст.
Поддержка различных PDF-парсеров: PyPDF, PDFMiner, PyMUPDF.
API.
Шаги развертывания
Настройка Summarize-and-Chat проста и включает несколько конфигурационных шагов для каждого компонента.
Summarize-and-Chat включает три компонента:
1. Summarization-client: веб-приложение на Angular/Clarity. 2. Summarization-server: сервер-шлюз на FastAPI для управления основными функциями приложения, включая:
Контроль доступа.
Пайплайн обработки документов: обработка документов, извлечение метаданных для заполнения векторного индекса (текстовые эмбеддинги).
Суммаризация с использованием LangChain Map Reduce. Этот подход позволяет суммаризовать большие документы, которые превышают лимит токенов на входе модели.
Улучшенное извлечение с помощью Retrieval Augmented Generation (RAG), используя возможности ранжирования LlamaIndex и pgvector для повышения производительности в системах вопрос-ответ.
3. Speed-to-text (STT): преобразование аудио в текст с использованием OpenAI's faster-whisper.
Следуйте инструкциям по быстрой установке и настройке в файле README, и вы сможете начать работу через несколько минут.
Использование Summarize-and-Chat
Теперь давайте посмотрим, как можно использовать Summarize-and-Chat для суммаризации длинного PDF-документа и полноценного взаимодействия с ним.
Для начала войдите в клиент суммаризации, используя ваши учетные данные Okta.
1. Загрузите файл и добавьте метаданные (дату, версию).
2. Выберите опцию QUICK для краткого резюме или DETAILED для детальной суммаризации.
3. Нажмите кнопку SUMMARIZE, и резюме будет сгенерировано мгновенно. Для длинного документа вы увидите оценку времени и получите уведомление, когда резюме будет готово к загрузке.
Чат с вашим документом
Вы можете нажать на иконку "чат" в верхнем меню, чтобы начать общение с вашим документом. Вы можете выбрать один из автоматически сгенерированных вопросов или ввести свой собственный вопрос и получить ответ с указанием источника за несколько секунд.
Что дальше
Broadcom представила Summarize-and-Chat с открытым исходным кодом, чтобы поддержать проекты по работе с данными и машинному обучению на платформе VMware Private AI.
Если вы хотите принять участие в проекте, пожалуйста, ознакомьтесь с этим руководством.