본문 바로가기

인공지능

OpenKB: LLM 기반 지식 컴파일 시스템으로 만드는 지속형 지식 베이스

728x90
반응형
728x170

이 글은 OpenKB(Open LLM Knowledge Base)가 무엇인지, 기존 RAG 방식과 무엇이 다른지, 그리고 실제로 어떻게 지식 베이스를 구축하고 활용할 수 있는지를 정리한 IT 기술 소개 글입니다. 단순히 문서를 검색하는 도구가 아니라, 문서를 한 번 컴파일해 지속적으로 축적되는 지식 위키로 만든다는 점에서 OpenKB의 개념과 구조, 주요 기능, 사용 방법을 중심으로 설명합니다.

반응형

OpenKB란 무엇인가

OpenKB는 LLM을 활용해 원본 문서를 구조화된 위키 형태의 지식 베이스로 컴파일하는 오픈소스 CLI 시스템입니다. 문서를 질의할 때마다 다시 해석하는 방식이 아니라, 처음부터 지식을 정리·연결해 두고 그 결과를 지속적으로 유지·확장하는 접근을 취합니다.

이 개념은 Andrej Karpathy가 제안한 아이디어에서 출발했습니다. LLM이 문서를 읽고 요약, 개념 정리, 상호 참조를 자동으로 생성하면 지식은 매번 재생성되는 것이 아니라 시간이 지날수록 축적(compound)됩니다.


기존 RAG 방식과의 차이점

전통적인 RAG(Retrieval-Augmented Generation)는 질문이 들어올 때마다 문서를 다시 검색하고 추론합니다.
이 방식의 한계는 다음과 같습니다.

  • 지식이 누적되지 않는다
  • 매 쿼리마다 같은 내용을 반복적으로 재발견한다
  • 문서 간 관계나 모순을 지속적으로 관리하기 어렵다

OpenKB는 이와 달리 지식을 한 번 컴파일해 영구적인 위키로 저장합니다.
이미 연결된 개념, 교차 참조, 요약이 존재하므로 LLM은 “이미 정리된 지식 위를 탐색”하며 답변하게 됩니다.


OpenKB의 핵심 특징

다양한 문서 포맷 지원

PDF, Word, Markdown, PowerPoint, HTML, Excel, 텍스트 등 다양한 포맷을 지원하며, 내부적으로 markitdown을 활용해 문서를 표준화합니다.

벡터 DB 없는 장문 문서 처리

OpenKB는 벡터 DB를 사용하지 않습니다.
대신 PageIndex 기반 트리 인덱싱을 통해 수십 페이지 이상의 장문 PDF도 안정적으로 처리합니다. LLM은 전체 문서를 직접 읽는 대신, 문서 구조와 요약으로 구성된 트리를 탐색합니다.

멀티모달 네이티브 지원

텍스트뿐 아니라 표, 이미지, 도표까지 함께 추출·이해합니다. 이는 단순 텍스트 검색 기반 시스템과의 큰 차별점입니다.

컴파일된 위키 구조

문서를 추가하면 LLM이 다음 작업을 자동으로 수행합니다.

  1. 문서 요약 페이지 생성
  2. 기존 개념 페이지 검토
  3. 개념 추가 또는 업데이트 및 교차 문서 합성
  4. 인덱스 및 변경 로그 갱신

하나의 문서가 여러 위키 페이지에 영향을 주며, 지식은 고립되지 않고 연결됩니다.


OpenKB 아키텍처 이해하기

OpenKB는 다음과 같은 흐름으로 동작합니다.

  • raw/ : 원본 문서를 드롭하는 공간
  • 짧은 문서 : markitdown → LLM이 전체 문서 읽기
  • 긴 PDF : PageIndex → 트리 인덱스 + 요약
  • 결과물 : wiki/ 디렉터리에 구조화된 지식 생성

wiki/에는 개요(index), 요약, 개념(concepts), 탐색 결과(explorations), 품질 리포트(reports) 등이 Markdown 파일로 저장됩니다.


지식 컴파일 방식의 의미

OpenKB의 핵심은 “검색”이 아니라 컴파일입니다.
문서를 추가할 때마다 기존 지식과 비교·합성되며, 다음과 같은 관리가 자동화됩니다.

  • 개념 간 중복 제거
  • 문서 간 모순 탐지
  • 오래된 정보 식별
  • 고아 페이지(연결되지 않은 지식) 발견

이로 인해 지식 베이스는 시간이 지날수록 더 정제되고 신뢰도가 높아집니다.


OpenKB 사용 방법 간단 예제

설치

pip install openkb

GitHub 최신 버전 설치

pip install git+https://github.com/VectifyAI/OpenKB.git

지식 베이스 초기화

mkdir my-kb && cd my-kb
openkb init

문서 추가

openkb add paper.pdf
openkb add ~/papers/

질의 및 대화

openkb query "What are the main findings?"
openkb chat

대화 모드는 세션이 유지되므로, 맥락을 반복 입력하지 않고도 심화 탐색이 가능합니다.


멀티 LLM 지원 구조

OpenKB는 LiteLLM을 통해 OpenAI, Claude, Gemini 등 다양한 LLM을 지원합니다.
모델은 초기 설정 또는 .openkb/config.yaml에서 지정하며, API 키는 .env 파일로 관리합니다.


Obsidian과의 연계

생성된 위키는 일반 Markdown 파일과 [[wikilinks]]로 구성되어 있어 Obsidian에서 바로 열 수 있습니다.
그래프 뷰를 활용하면 지식 간 연결 구조를 시각적으로 탐색할 수 있습니다.


728x90

OpenKB는 문서를 단순히 “질의 대상”으로 두지 않고, 지속적으로 성장하는 지식 자산으로 전환합니다.
특히 다음과 같은 경우에 강력한 효과를 기대할 수 있습니다.

  • 논문, 기술 문서, 내부 자료가 지속적으로 쌓이는 환경
  • 장문 문서 기반의 정확한 지식 관리가 필요한 조직
  • RAG의 반복 비용과 비일관성에 피로를 느끼는 사용자

지식을 매번 다시 찾는 것이 아니라, 한 번 정리해 계속 사용하는 구조.
이 점이 OpenKB가 제시하는 가장 중요한 방향성입니다.

300x250

https://github.com/VectifyAI/OpenKB

 

GitHub - VectifyAI/OpenKB: OpenKB: Open LLM Knowledge Base

OpenKB: Open LLM Knowledge Base. Contribute to VectifyAI/OpenKB development by creating an account on GitHub.

github.com

728x90
반응형
그리드형