Руководство по созданию приложения для поиска данных на основе агента 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, которое работает полностью на вашей локальной машине и доступно бесплатно. Вот ключевые компоненты этого приложения:

  1. Методы поиска знаний GraphRAG интегрированы с агентом AutoGen через вызов функций.

  2. GraphRAG (локальный и глобальный поиск) настроен на поддержку локальных моделей от Ollama для вывода и встраивания.

  3. AutoGen был расширен для поддержки вызова функций с не-OpenAI LLM из Ollama через прокси-сервер Lite-LLM.

  4. 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

Установка 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
Активация среды conda

Активация среды conda

Установка зависимостей

pip install -r requirements.txt

Продолжение во второй части.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Какую LLM вы найболее часто используете?

100% Llama1
0% Mistral0
0% OpenAI0
0% Другую0

Проголосовал 1 пользователь. Воздержались 2 пользователя.

ссылка на оригинал статьи https://habr.com/ru/articles/857354/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *