KAG: OpenSPG 엔진과 LLM 기반 논리적 추론 질의응답 프레임워크 135

小编 ·

KAG: OpenSPG 엔진과 LLM 기반 논리적 추론 질의응답 프레임워크

KAG(Knowledge Augmented Generation)는 Ant Group에서推出的 전문 분야 지식 서비스 프레임워크로, OpenSPG 엔진과 LLM을 기반으로 수직领域 지식 베이스의 논리적 추론 질의응답 솔루션을 구축합니다. 지식 그래프와 벡터 검색의 장점을 결합하여 전통적인 RAG의 벡터 유사도 계산 모호성과 OpenIE 기반 GraphRAG의 노이즈 문제를 극복하고, 논리적 추론과 다중 홉 사실형 질의응답을 지원하여 현재 SOTA를 능가합니다.

KAG: OpenSPG 엔진과 LLM 기반 논리적 추론 질의응답 프레임워크

KAG란 무엇인가?

KAG(Knowledge Augmented Generation)는 Ant Group에서推出的專業領域 지식 서비스 프레임워크로, OpenSPG 엔진과 LLM을 기반으로 하며, 수직領域 지식 베이스의 논리적 추론 질의응답 솔루션을 구축하는 것을 목적으로 합니다. 이는 지식 그래프와 벡터 검색의 장점을 결합하여 기존 RAG의 벡터 유사도 계산의 모호성과 OpenIE가 도입한 GraphRAG의 잡음 문제를 효과적으로 극복하고, 논리적 추론, 다중 홉 사실 질의 등을 지원하여 현재 최첨단 SOTA보다 우수합니다.

KAG 핵심 기능

  • 전문 분야 질의응답 강화: 지식 그래프와 벡터 검색을 결합하여 특정 분야에서의 대형 언어 모델 질의응답 능력을 향상시키고, 더 정확하고 전문적이며 논리적인 답변을 생성합니다.

  • 지식 표현 및 검색 최적화: LLM 친화적인 지식 표현 프레임워크를 채택하여 지식 그래프와 원시 텍스트 블록의 상호 인덱싱을 구현하고, 지식의 표현, 추론 및 검색 프로세스를 최적화하여 검색 결과의 정확성과 관련성을 향상시킵니다.

  • 혼합 추론 및 문제 해결: 논리 형식 가이드 기반의 혼합 추론 엔진을 통해 자연어 문제를 언어와 기호가 결합된 문제 해결 프로세스로 변환하고, 검색, 지식 그래프 추론, 언어 추론 및 수치 계산을 통합하여 복잡한 문제를 효과적으로 처리합니다.

  • 지식 정렬 및 시맨틱 강화: 시맨틱 추론을 기반으로 지식 정렬을 수행하고, 도메인 지식을 다양한 시맨틱 관계로 정의하여 지식의 표준화와 연결성을 높이고, 지식 표현의 정확성과 일관성을 강화합니다.

KAG핵심기능.webp

KAG 기술 아키텍처

  • kg-builder: 지식 표현 및 구축을 담당합니다. LLM에 친화적인 지식 표현을 구현하고, DIKW 계층 구조를 기반으로 SPG 지식 표현 능력을 업그레이드하며, 스키마 없는 지식 구축과 스키마 기반 지식 구축을 모두 호환하고, 그래프 구조와 텍스트 블록의 상호 인덱싱 표현을 지원하여 후속 추론 및 질의응답 단계의 효율적인 검색을 지원합니다.

  • 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/