[Перевод] Руководство по созданию приложения для поиска данных на основе агента GraphRAG
Графическая абстракция интеграции и ключевых компонентов
Retrieval-augmented generation (RAG) — это мощный инструмент, который оснащает большие языковые модели (LLM) возможностью доступа к реальным данным для получения более обоснованных ответов. Это достигается за счет интеграции моделей с векторной базой данных для обучения и адаптации в режиме реального времени. Эта особенность делает RAG предпочтительным выбором для таких приложений, как чат-боты и виртуальные помощники, где требуется точный и осмысленный ответ в режиме реального времени. Продвинутый вариант этого метода, известный как Graph Retrieval-Augmented Generation (GraphRAG), объединяет преимущества поиска знаний на основе графов с LLM, что еще больше расширяет возможности обработки естественного языка. В отличие от традиционных методов RAG, которые полагаются на поиск векторного сходства, GraphRAG строит структурированный граф знаний из необработанного текста, фиксируя сущности, отношения и критические утверждения. Это позволяет повысить способность LLM понимать и синтезировать сложные наборы данных и их взаимосвязи, что дает более точные и контекстуально обоснованные ответы.
AutoGen — это инструмент от Microsoft, который упрощает разработку сложных приложений на основе мультиагентных LLM, автоматизируя и оптимизируя рабочие процессы, которые раньше были сложными и требовали значительных ручных усилий. Представьте себе AutoGen как платформу, где вы можете взаимодействовать не с одним, а с несколькими GPT. Каждый GPT действует как отдельный «агент», играя уникальную роль в комплексной операции. Сочетание возможностей GraphRAG по поиску информации с разговорными и ориентированными на выполнение задач функциями агентов ИИ AutoGen приводит к созданию надежных помощников ИИ, способных эффективно обрабатывать подробные запросы, генерировать и выполнять коды, создавать многостраничные научные отчеты и проводить анализ данных. Кроме того, автономные локальные LLM, такие как Ollama или LM Studio, обеспечивают экономически эффективную и безопасную обработку данных. Локальные LLM исключают высокую стоимость и риски конфиденциальности, связанные с онлайн LLM, сохраняя конфиденциальные данные внутри организации и снижая операционные расходы.
В этой статье мы расскажем вам о создании мультиагентного AI-приложения с поисковой системой GraphRAG, которое работает полностью на вашей локальной машине и доступно бесплатно. Вот ключевые компоненты этого приложения:
Методы поиска знаний GraphRAG интегрированы с агентом AutoGen через вызов функций.
GraphRAG (локальный и глобальный поиск) настроен на поддержку локальных моделей от Ollama для вывода и встраивания.
AutoGen был расширен для поддержки вызова функций с не-OpenAI LLM из Ollama через прокси-сервер Lite-LLM.
Chainlit UI для обработки непрерывных разговоров, многопоточности и настроек пользовательского ввода.
Разработка велась в среде Linux с использованием Windows Subsystem for Linux (WSL) и Visual Studio Code на ПК с Windows 11, процессором i9 13-го поколения, 64 ГБ оперативной памяти и 24 ГБ Nvidia RTX 4090. Для наилучшего опыта разработки и тестирования этого приложения рекомендуется использовать дистрибутив Linux или WSL. Я не тестировал это приложение в среде Windows. Рекомендации по установке WSL и настройке окружений Python и Conda можно найти в этой статье (здесь). Дополнительные ссылки и соответствующая информация приведены в конце статьи.
Вот ссылка на репозиторий исходного кода. Итак, давайте начнем!!!
Установка Anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
bash Anaconda3-2024.10-1-Linux-x86_64.sh
Установка Anaconds
Клонирование репозитория
git clone https://github.com/ZubikIT/Autogen_GraphRAG_Ollama.git
Клонирование репозитория
Установите языковые модели из Ollama для вывода и встраивания.
# Мистраль для выводов GraphRAG
ollama pull mistral
# Nomic-Embed-Text для встраивания GraphRAG
ollama pull nomic-embed-text
# LLama3 для вывода автогена
ollama pull llama3
# Разместите Ollama на локальном сервере: http://localhost:11434
ollama serve
Установка языковых моделей
Создайте среду conda и установите эти зависимости
eval "$(/home/alexzub/anaconda3/bin/conda shell.bash hook)"
conda create -n RAG_agents python=3.12
conda activate RAG_agents
Создание среды conda
Активация среды conda
Установка зависимостей
pip install -r requirements.txt
Продолжение во второй части.