NodeRAG: гетерогенный инструмент на основе графов для точного поиска и генерации информации

Общее введение

NodeRAG - это система с открытым исходным кодом Retrieval Augmented Generation (RAG), размещенная на GitHub и разработанная Terry-Xu-666, которая оптимизирует поиск и генерацию информации через гетерогенные графовые структуры для значительного повышения точности поиска и контекстной релевантности. NodeRAG поддерживает локальное развертывание и предоставляет удобные интерфейсы и инструменты визуализации для академических исследований, управления знаниями и анализа данных. Первая стабильная версия проекта (v0.1.0) будет выпущена в марте 2025 года и может быть установлена через PyPI. Официальная документация является подробной, а сообщество - активным и современным. По сравнению с традиционными RAG Система NodeRAG лучше справляется с многоходовыми рассуждениями, скоростью поиска и эффективностью хранения данных, и особенно подходит для обработки сложных наборов данных.

NodeRAG:基于异构图的精准信息检索与生成工具

 

Список функций

  • Гетерогенная структура графа: поддерживает несколько типов узлов (например, документы, сущности, ключевые слова) для повышения точности поиска.
  • Точный поиск: многоходовые рассуждения и контекстно-значимые запросы поддерживаются с помощью декомпозиции, дополнения, обогащения и поиска графов.
  • Визуализация данных: обеспечивает интерактивную визуализацию графической структуры для облегчения понимания сложных взаимосвязей данных.
  • Интерфейс локального развертывания: поддерживает локальное управление и обеспечивает интуитивно понятное взаимодействие с пользователем.
  • Кросс-платформенная установка: поддержка установки Conda, Docker и PyPI, совместимость с различными средами.
  • Инкрементное обновление: поддерживает динамическое обновление структуры графов без перестройки всей базы данных графов.
  • Высокопроизводительная оптимизация: быстрая индексация и запросы для обработки больших массивов данных.
  • Открытая документация: содержит подробные руководства, примеры кода и научные статьи для облегчения обучения.

 

Использование помощи

Процесс установки

NodeRAG поддерживает различные методы установки, но ниже описаны шаги по установке через Conda и PyPI. Убедитесь, что в вашей системе установлен Python 3.10 или более поздней версии.

1. Установка через Conda

  1. Создание виртуальной среды
    Откройте терминал и выполните следующую команду, чтобы создать и активировать среду Conda:

    conda create -n NodeRAG python=3.10
    conda activate NodeRAG
  1. Клонирование кодовой базы (необязательно)
    Если вам нужен исходный код или версия для разработки, вы можете клонировать его с GitHub:

    git clone https://github.com/Terry-Xu-666/NodeRAG.git
    cd NodeRAG
    
  2. Установка зависимостей
    В каталоге проекта выполните следующую команду для установки зависимостей:

    pip install -r requirements.txt
    

    Зависимости включают networkx(Рисунок операции),numpy(численные расчеты),flask(веб-интерфейс) и т.д.

  3. Установка NodeRAG
    Если вы не клонировали кодовую базу, вы можете установить ее прямо из PyPI:

    pip install NodeRAG
    
  4. Запуск локального интерфейса
    Выполните следующую команду, чтобы запустить локальный веб-интерфейс:

    python -m NodeRAG.app
    

    Откройте браузер и посетите http://localhost:5000Интерфейс NodeRAG доступен.

2. ускоренная установка с помощью ультрафиолета (опция)

Чтобы увеличить скорость установки, используйте uv Инструменты:

  1. монтаж uv::
    pip install uv
    
  2. пользоваться uv Установите NodeRAG:
    uv pip install NodeRAG
    

3. Проверка установки

После запуска интерфейса загрузите официально предоставленный набор данных примера (находится в data/sample каталог или онлайн-документацию), проверьте, правильно ли отображается визуализация диаграммы. Если у вас возникли проблемы, обратитесь к официальному FAQ.

Использование основных функций

Суть NodeRAG заключается в построении, поиске и генерации разнородных графов. Ниже подробно описывается процесс работы.

1. Построение неоднородных карт

NodeRAG использует гетерогенные графы для хранения данных, а типы узлов включают документы, сущности, ключевые слова и т. д. Пользователям необходимо подготовить данные в формате JSON или CSV, содержащие текст и метаданные (например, название, автор). Шаги:

  • Войдите в веб-интерфейс и нажмите "Импорт данных".
  • Выберите файл данных и задайте тип узла (например, "Документ") и краевое отношение (например, "Документ-ключевое слово").
  • Нажмите кнопку "Построить диаграмму", система сгенерирует структуру диаграммы и сохранит ее в локальной базе данных.
    Пример: импортируется набор данных научных статей, система извлекает названия, авторов, ключевые слова и формирует граф знаний.

2. Поиск исполнительной информации

Поиск NodeRAG основан на алгоритме поиска графов и поддерживает многоходовые рассуждения. Этапы работы:

  • Введите в интерфейс запрос, например "Deep Learning in Healthcare".
  • Выберите глубину поиска (рекомендуется 2-3 хопа) и нажмите "Поиск".
  • Система возвращает соответствующие узлы, ребра и пути, демонстрируя контекстные связи.
  • Результаты представлены в виде списков и графиков, и пользователи могут нажимать на узлы для просмотра подробностей.
    Поиск поддерживает сложные запросы, такие как комбинации нескольких критериев или поиск по нескольким полям.

3. создание контента

NodeRAG генерирует контекстно-значимые ответы в сочетании с Большой моделью. Операционные шаги:

  • На экране результатов поиска нажмите "Сгенерировать ответ".
  • Система генерирует текст на основе найденных узлов, вызывая большую модель.
  • Настраиваемые пользователем параметры (например. temperature, иmax_tokens) управляет стилем вывода.
    Пример: запрос "Последние достижения в области квантовых вычислений" генерирует ответ, включающий последние научные разработки.

4. визуализация данных

NodeRAG предоставляет интерактивные средства визуализации графов, помогающие пользователям наглядно анализировать взаимосвязи данных. Шаги операции:

  • В интерфейсе выберите "Визуализация графиков".
  • Система отображает узлы и ребра графа и поддерживает масштабирование, перетаскивание и фильтрацию.
  • Нажмите на узел, чтобы увидеть его атрибуты (например, текстовое содержимое), и нажмите на ребро, чтобы увидеть тип связи.
    Эта функция подходит для изучения сложных наборов данных, таких как графы знаний и социальные сети.

5. инкрементное обновление

NodeRAG поддерживает динамическое обновление структуры графа без перестройки всего графа. Этапы работы:

  • Выберите "Инкрементное обновление" на экране.
  • Загрузите новые файлы данных, и система автоматически интегрирует их в существующую структуру диаграмм.
  • После обновления повторно выполните запрос, чтобы проверить результаты.
    Эта функция подходит для сценариев непрерывного обновления, таких как базы данных новостей или корпоративные хранилища документов.

6. пользовательская конфигурация

Опытные пользователи могут редактировать config.yaml В файле настраивается структура графа и параметры алгоритма, такие как веса узлов, типы ребер и глубина поиска. После внесения изменений выполните следующую команду для перезагрузки:

python -m NodeRAG.reload_config

Функциональное управление

Гетерогенная структура графов NodeRAG является ее основной сильной стороной, оптимизируя поиск и генерацию с помощью следующих четырех шагов:

  • графическая декомпозиция : Разделите сложные запросы на подзадачи и назначьте их различным типам узлов.
  • графическое усовершенствование : Дополнительные неявные связи между узлами для улучшения контекстной целостности.
  • Обогащение диаграмм : Интеграция внешних знаний (например, общедоступных наборов данных) в граф.
  • поиск изображений : Используйте эффективные алгоритмы для быстрого поиска нужных узлов.
    Операционная процедура:
  • Включите "Улучшение графика" или "Обогащение графика" в "Дополнительных настройках" интерфейса.
  • После ввода запроса система автоматически применяет эти шаги для получения более точных результатов.
    Эти функции значительно улучшают многоходовые рассуждения и подходят для анализа сложных проблем.

Часто задаваемые вопросы

  • нарушение монтажа : Проверьте версию Python (требуется 3.10+) и сетевое подключение. Используйте внутренний зеркальный источник для ускорения установки:
pip install NodeRAG -i https://pypi.tuna.tsinghua.edu.cn/simple
  • Интерфейс недоступен : Благодарность NodeRAG.app работает, проверьте, не занят ли порт 5000.
  • Неточные результаты поиска : Оптимизация исходных данных (обеспечение полноты метаданных) или увеличение глубины поиска.
  • Проблемы интеграции крупных моделей : в config.yaml API модели или локальный путь к модели правильно настроен в
    Больше вопросов можно найти в официальной документации:NodeRAG_web.

дополнительное примечание

  • Подготовка данных : входные данные должны быть структурированы, рекомендуется формат JSON, содержащий content(текст) и metadata(Метаданные).
  • оптимизация производительности NodeRAG использует единый алгоритм и механизм индексирования, а время отклика на запрос обычно находится в диапазоне секунд, даже при работе с большими массивами данных.
  • Поддержка общества : В репозитории GitHub есть страница Issues, на которой пользователи могут отправлять вопросы или участвовать в обсуждениях.

 

сценарий применения

  1. научные исследования
    Исследователи могут использовать NodeRAG для упорядочивания литературных данных и построения графа связей между диссертациями. После импорта набора данных диссертаций система извлекает ключевые слова, авторов и связи цитирования для создания графа знаний. Пользователи могут запросить тему исследования, получить связанную литературу и контекстуальный анализ, подходящий для обзора литературы или планирования темы.
  2. Управление корпоративными знаниями
    Предприятия могут использовать NodeRAG для управления внутренними документами и создания базы знаний. После импорта технической документации и отчетов по проектам система генерирует диаграмму взаимосвязи документов. Сотрудники могут быстро искать информацию и повышать эффективность обмена знаниями, что подходит для технических групп или межведомственного сотрудничества.
  3. Анализ и визуализация данных
    Аналитики данных могут использовать NodeRAG для анализа сложных наборов данных, таких как социальные сети или данные о взаимоотношениях с клиентами. Система помогает обнаружить скрытые закономерности, визуализируя связи данных с помощью графиков, и подходит для анализа рынка, оценки рисков или разработки рекомендательных систем.
  4. Обработка информации в режиме реального времени
    Функция инкрементного обновления NodeRAG подходит для обработки динамических данных, таких как новости или контент социальных сетей. Пользователи могут постоянно импортировать новые данные, а система автоматически обновляет структуру графа, чтобы поддерживать результаты поиска в актуальном состоянии.

 

QA

  1. Какие форматы данных поддерживает NodeRAG?
    Поддерживаются форматы JSON, CSV и TXT. Рекомендуется использовать JSON, который требует включения content(текст) и metadata(например, автор, дата).
  2. Как повысить точность поиска?
    Убедитесь, что данные содержат богатую метаинформацию, включите расширение графа или обогащение графа и увеличьте глубину поиска, если это необходимо (2-3 прыжка).
  3. Поддерживает ли NodeRAG обновления в реальном времени?
    Поддерживает инкрементные обновления, пользователи могут загружать новые данные для динамического обновления структуры графа без перестройки всего графа.
  4. Требуется ли поддержка крупных моделей?
    NodeRAG может быть интегрирован с такими моделями, как LLaMA, GPT и др. Требуется использование config.yaml Настройте API модели или локальные пути в
  5. Как просмотреть контрольные показатели производительности?
    В официальной документации приведены сравнительные графики производительности, демонстрирующие преимущества NodeRAG с точки зрения качества и скорости поиска, см. NodeRAG_web.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...