Создание системы RAG с помощью Langflow и Milvus
Это руководство демонстрирует, как использовать Langflow для создания конвейера Retrieval-Augmented Generation (RAG) с Milvus.
Система RAG улучшает генерацию текста, сначала извлекая соответствующие документы из базы знаний, а затем генерируя новые ответы на основе этого контекста. Milvus используется для хранения и получения текстовых вкраплений, а Langflow облегчает интеграцию поиска и генерации в визуальный рабочий процесс.
Langflow позволяет легко создавать конвейеры RAG, в которых фрагменты текста встраиваются, хранятся в Milvus и извлекаются при соответствующих запросах. Это позволяет языковой модели генерировать ответы с учетом контекста.
Milvus служит масштабируемой векторной базой данных, которая быстро находит семантически схожий текст, а Langflow позволяет управлять тем, как ваш конвейер обрабатывает поиск текста и генерирует ответы. Вместе они обеспечивают эффективный способ создания надежного конвейера RAG для усовершенствованных текстовых приложений.
Предварительные условия
Перед запуском этого блокнота убедитесь, что у вас установлены следующие зависимости:
$ python -m pip install langflow -U
Учебник .
После установки всех зависимостей запустите дашборд Langflow, введя следующую команду:
$ python -m langflow run
После этого появится панель инструментов, как показано ниже:
langflow .
Мы хотим создать проект Vector Store, поэтому сначала нам нужно нажать кнопку New Project. Появится панель, и мы выберем вариант Vector Store RAG:
panel
После успешного создания проекта Vector Store Rag по умолчанию используется векторное хранилище AstraDB, в то время как мы хотим использовать Milvus. Поэтому нам нужно заменить эти два модуля astraDB на Milvus, чтобы использовать Milvus в качестве векторного хранилища.
astraDB
Шаги по замене astraDB на Milvus:
- Удалите существующие карты Vector Store. Щелкните на двух карточках AstraDB, отмеченных красным цветом на изображении выше, и нажмите backspace, чтобы удалить их.
- Нажмите на опцию Vector Store в боковой панели, выберите Milvus и перетащите ее на холст. Сделайте это дважды, поскольку нам нужны две карты Milvus: одна для хранения рабочего процесса обработки файлов и одна для рабочего процесса поиска.
- Свяжите модули Milvus с остальными компонентами. Для справки смотрите изображение ниже.
- Настройте учетные данные Milvus для обоих модулей Milvus. Самый простой способ - использовать Milvus Lite, установив Connection URI на milvus_demo.db. Если у вас есть самостоятельно развернутый сервер Milvus или Zilliz Cloud, установите Connection URI на конечную точку сервера и Connection Password на токен (для Milvus это конкатенированный "
: ", для Zilliz Cloud это API Key). Для справки смотрите рисунок ниже:
Демонстрация структуры Milvus
Встраивание знаний в систему RAG
- Загрузите файл в базу знаний LLM через модуль файла в левом нижнем углу. Здесь мы загрузили файл, содержащий краткое введение в Milvus
- Запустите рабочий процесс вставки, нажав кнопку run на модуле Milvus в правом нижнем углу. В результате знания будут вставлены в векторное хранилище Milvus.
- Проверьте, сохранились ли знания в памяти. Откройте playground и задайте любые вопросы, связанные с загруженным файлом.
почему Milvus