KAG: фреймворк логического QA на базе движка OpenSPG и LLM 134

小编 ·

KAG: фреймворк логического QA на базе движка OpenSPG и LLM

KAG (Knowledge Augmented Generation) — фреймворк обслуживания знаний для профессиональных доменов от Ant Group, построенный на движке OpenSPG и LLM. Предназначен для создания решений логического QA по вертикальным базам знаний. Объединяя преимущества графов знаний и векторного поиска, KAG устраняет неоднозначность векторного сходства в классическом RAG и шум OpenIE-ориентированного GraphRAG, поддерживает логический вывод и многоходовые фактологические вопросы, превосходя текущие SOTA-подходы.

KAG: фреймворк логического QA на базе движка OpenSPG и LLM

Что такое KAG?

KAG (Knowledge Augmented Generation) — это профессиональный фреймворк для предоставления знаний в предметных областях, разработанный компанией Ant Group. Он построен на движке OpenSPG и LLM и предназначен для создания решений для логического вывода и问答 в вертикальных базах знаний. Благодаря сочетанию преимуществ графов знаний и векторного поиска он эффективно устраняет неоднозначность традиционного векторного сходства RAG и проблему шума, вносимую GraphRAG на основе OpenIE, поддерживает логический вывод, многошаговые фактологические вопросы и ответы и превосходит современные передовые решения (SOTA).

Основные функции KAG

  • Улучшение问答 в профессиональных областях: сочетание графов знаний и векторного поиска повышает способность больших языковых моделей отвечать на вопросы в конкретных предметных областях, генерируя более точные, профессиональные и логически обоснованные ответы.

  • Оптимизация представления и поиска знаний: использует дружественную к LLM структуру представления знаний, обеспечивает взаимную индексацию графов знаний и исходных текстовых блоков, оптимизирует процессы представления, вывода и поиска знаний, повышая точность и релевантность результатов поиска.

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

  • Выравнивание знаний и семантическое обогащение: выравнивание знаний на основе семантического вывода, определение предметных знаний как различных семантических отношений, повышение стандартизации и связности знаний, усиление точности и согласованности их представления.

KAG核心功能.webp

Техническая архитектура KAG

  • kg-builder: отвечает за представление и построение знаний. Реализует дружественное к LLM представление знаний, модернизирует возможности представления знаний SPG на основе иерархии DIKW, совместим с бессхемным и схемным построением знаний, а также поддерживает взаимную индексацию графовых структур и текстовых блоков, обеспечивая основу для эффективного поиска на последующих этапах вывода и问答.

  • kg-solver: отвечает за вывод и решение задач. Использует гибридный движок решения и вывода, управляемый логическими формами, включающий три оператора: планирование, вывод и поиск, способный интегрировать четыре процесса решения задач: поиск, вывод на графах знаний, языковой вывод и численные вычисления, что позволяет решать сложные задачи логического вывода и问答.

  • kag-model: будет постепенно открываться в исходных кодах в дальнейшем, его функции в текущей версии подробно не описаны.

KAG技术架构.png

Руководство по использованию KAG

Продуктовая версия (для обычных пользователей)

Системные требования: рекомендуемые версии систем: macOS Monterey 12.6 или новее, CentOS 7 / Ubuntu 20.04 или новее, Windows 10 LTSC 2021 или новее.

Требования к программному обеспечению: пользователям macOS/Linux необходимы Docker и Docker Compose, пользователям Windows — WSL 2/Hyper-V, Docker и Docker Compose.

Шаги установки: используйте следующую команду, чтобы загрузить docker-compose.yml и запустить сервис с помощью Docker Compose:

curl -sSL https://raw.githubusercontent.com/OpenSPG/openspg/refs/heads/master/dev/release/docker-compose.yml -o docker-compose.yml
docker compose -f docker-compose.yml up -d

Способ использования: откройте в браузере ссылку KAG по умолчанию http://127.0.0.1:8887 и войдите, используя имя пользователя по умолчанию openspg и пароль openspg@kag.

Инструментпакетная версия (для разработчиков)

Шаги установки:

Создайте виртуальную среду Python, клонируйте код и установите KAG.

  • Для разработчиков на macOS/Linux:

conda create -n kag-demo python=3.10 && conda activate kag-demo
git clone https://github.com/OpenSPG/KAG.git
cd KAG && pip install -e .
  • Для разработчиков на Windows:

py -m venv kag-demo && kag-demo\Scripts\activate
git clone https://github.com/OpenSPG/KAG.git
cd KAG && pip install -e .

Способ использования: разработчики могут на основе встроенных компонентов KAG реализовать воспроизведение результатов на встроенных наборах данных и внедрение новых сценариев.

GitHub: https://github.com/OpenSPG/KAG

OpenSPG: https://spg.openkg.cn/