VectifyAI/OpenKB

OpenKB: Open LLM Knowledge Base

GitHub에서 열기 ↗ agentsaiknowledge-basellmragretrieval
2,944
GitHub 스타
321
포크
Python
언어
Apache-2.0
라이선스
2026.07.10
최근 푸시
2026.05.10
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
OpenKB는 장기적인 지식 관리와 에이전트 스킬 생성에 적합하며, 특히 연구 논문, 기술 문서 등 방대한 자료를 체계적으로 정리하고 재사용하려는 팀이나 개인에게 유용합니다. RAG의 한계를 보완하는 혁신적인 접근법으로, 지식 축적이 중요한 프로젝트에 도입할 가치가 있습니다.

강점

  • 벡터 DB 없이 추론 기반 검색을 사용하여 긴 문서를 효율적으로 처리합니다.
  • 위키 형태로 지식을 축적하여 시간이 지남에 따라 지식이 성장하고 재사용됩니다.
  • 다양한 문서 형식(PDF, Word, Markdown 등)과 멀티모달(이미지, 표)을 지원합니다.
  • Obsidian과 호환되어 그래프 보기 등으로 위키를 시각화할 수 있습니다.
  • 스킬 팩토리를 통해 에이전트 스킬을 추출하여 다른 AI 도구와 통합할 수 있습니다.

약점

  • LLM API 키와 PageIndex Cloud API 키가 필요하여 완전한 로컬 실행이 제한적일 수 있습니다.
  • 문서 추가 시 LLM 호출로 인해 비용이 발생할 수 있습니다.
  • 초기 설정 및 문서 컴파일 과정이 다소 복잡할 수 있습니다.

주의사항

  • recompile 명령어는 수동 편집을 덮어쓰므로 주의해야 합니다.
  • LLM 제공자 및 모델 선택에 따라 결과 품질이 달라질 수 있습니다.
  • PageIndex Cloud 사용 시 추가 비용이 발생할 수 있습니다.
  • LiteLLM 버전이 고정되어 있어 최신 기능이 제한될 수 있습니다.

시작 가이드

  • OpenKB를 설치하고 간단한 문서로 테스트 실행해 보세요.
  • 예제 디렉토리(examples/)를 참고하여 실제 사용 사례를 학습하세요.
  • PageIndex Cloud 평가판을 사용해 보고 필요에 따라 유료 전환을 고려하세요.
  • Obsidian과 연동하여 위키를 시각화하고 탐색해 보세요.
  • 스킬 팩토리를 활용하여 특정 도메인의 에이전트 스킬을 생성하고 Claude Code 등과 통합해 보세요.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

<div align="center">

<a href="https://openkb.ai"> <img src="https://docs.pageindex.ai/images/openkb.png" alt="OpenKB (by PageIndex)" /> </a>

<br /> <br />

<p align="center"> <a href="https://trendshift.io/repositories/26145" target="_blank"><img src="https://trendshift.io/api/badge/repositories/26145" alt="VectifyAI%2FOpenKB | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> </p>

OpenKB: 오픈 LLM 지식 베이스

<p align="center"><i>긴 문서 확장 &nbsp; • &nbsp;추론 기반 검색 &nbsp; • &nbsp;네이티브 멀티모달 &nbsp; • &nbsp;벡터 DB 불필요</i></p>

</div>

<details open> <summary><h2>📢 최근 업데이트</h2></summary>

  • Google 오픈 지식 포맷 (OKF): 위키 페이지는 지식 공유를 위해 Google OKF 사양을 따릅니다.
  • 엔티티 페이지: 사람, 조직, 장소, 제품을 전용 위키 페이지로 자동 추출 및 동기화합니다.

</details>


📑 OpenKB란?

OpenKB (오픈 지식 베이스)는 CLI 기반의 오픈소스 시스템으로, LLM을 사용하여 원시 문서를 구조화되고 상호 연결된 위키 스타일의 지식 베이스로 컴파일하며, PageIndex의 벡터리스 추론 기반 검색을 통해 긴 문서를 처리합니다.

이 아이디어는 Andrej Karpathy가 설명한 개념에 기반합니다: LLM이 요약, 개념 페이지, 상호 참조를 생성하고 자동으로 유지 관리합니다. 지식은 매 쿼리마다 재도출되는 대신 시간이 지남에 따라 축적됩니다.

왜 기존 RAG가 아닌가?

기존 RAG는 매 쿼리마다 처음부터 지식을 재발견합니다. 아무것도 축적되지 않습니다. OpenKB는 지식을 한 번 컴파일하여 영구적인 위키로 만든 다음 최신 상태로 유지합니다. 상호 참조는 이미 존재하고, 모순은 플래그 지정되며, 종합은 소비된 모든 것을 반영합니다.

OpenKB는 두 개의 레이어로 구성됩니다: 지식을 컴파일하고 유지 관리하는 위키 기반과 이를 유용한 출력으로 변환하는 생성기(쿼리/채팅/스킬 팩토리)입니다. 전체 명령어 목록은 사용법을 참조하세요.

기능

  • 광범위한 형식 지원: PDF, Word, Markdown, PowerPoint, HTML, Excel, CSV, 텍스트, URL 등.
  • 긴 문서 확장: 길고 복잡한 문서는 PageIndex 트리 인덱싱을 통해 처리되어 정확하고 벡터리스이며 컨텍스트 인식 검색이 가능합니다.
  • 네이티브 멀티모달: 텍스트뿐만 아니라 그림, 표, 이미지를 검색하고 이해합니다.
  • 컴파일된 위키: LLM이 문서를 요약, 개념 페이지, 엔티티 페이지 및 상호 링크로 컴파일하며, 모두 동기화 상태를 유지합니다.
  • 쿼리 및 채팅: 위키에 대한 일회성 질문 또는 다중 턴 대화, 지속된 세션으로 재개 가능.
  • 스킬 팩토리: 위키에서 재배포 가능한 에이전트 스킬을 추출합니다.
  • OKF 준비: 위키 페이지는 지식 공유를 위해 Google OKF 사양을 따릅니다.
  • Obsidian 호환: 위키는 상호 링크가 있는 일반 .md 파일입니다. 그래프 보기를 위해 Obsidian에서 열 수 있습니다.

🚀 시작하기

설치

pip install openkb

<details> <summary><b><i>기타 설치 옵션:</i></b></summary>

  • GitHub 최신 버전:
  pip install git+https://github.com/VectifyAI/OpenKB.git
  • 소스에서 설치 (편집 가능, 개발용):
  git clone https://github.com/VectifyAI/OpenKB.git
  cd OpenKB
  pip install -e.

</details>

빠른 시작

# 1. 지식 베이스 디렉토리 생성
mkdir my-kb && cd my-kb

# 2. 지식 베이스 초기화
openkb init

# 3. 문서 추가
openkb add paper.pdf
openkb add ~/papers/                            # 전체 디렉토리 추가
openkb add https://arxiv.org/pdf/2509.11420     # URL에서 가져오기

# 4. 질문하기
openkb query "주요 발견은 무엇인가요?"

# 5. 또는 대화형 채팅
openkb chat

# (선택 사항) 위키를 다른 출력으로 변환
openkb skill new my-expert "<주제>에 대한 전문가처럼 추론"   # 휴대용 에이전트 스킬
openkb visualize                                                     # 대화형 지식 그래프
openkb deck new my-deck "<주제>에 대한 소개 덱"              # 슬라이드 — 단일 파일 HTML 덱

LLM 설정

OpenKB는 LiteLLM을 통해 여러 LLM 제공자 (OpenAI, Claude, Gemini 등)를 지원합니다 (안전한 버전으로 고정됨).

openkb init 중 또는 .openkb/config.yaml에서 provider/model LiteLLM 형식 (예: anthropic/claude-sonnet-4-6)을 사용하여 모델을 설정하세요. OpenAI 모델은 접두사를 생략할 수 있습니다 (예: gpt-5.4).

LLM API 키와 함께 .env 파일을 생성하세요:

LLM_API_KEY=your_llm_api_key

🧩 OpenKB 작동 방식

아키텍처

<div align="center"> <img src="assets/openkb-architecture.webp" alt="OpenKB 아키텍처: 원시 문서(markitdown / PageIndex)에서 LLM 위키 컴파일을 거쳐 wiki/ 기반으로, 쿼리/채팅, 스킬 팩토리 및 미래 생성기를 지원" width="900" /> </div>

짧은 문서 vs 긴 문서 처리

짧은 문서 긴 문서 (PDF 20페이지 이상)
변환 markitdown → Markdown PageIndex → 트리 인덱스 + 요약
이미지 인라인 추출 (pymupdf) PageIndex가 추출
LLM 읽기 전체 텍스트 문서 트리
결과 요약 + 개념 요약 + 개념

짧은 문서는 LLM이 전체를 읽습니다. 긴 PDF는 PageIndex에 의해 계층적 트리 인덱스로 처리됩니다. LLM은 전체 텍스트 대신 트리를 읽어 긴 문서에 대한 정확하고 확장 가능한 검색이 가능합니다.

지식 컴파일

문서를 추가하면 LLM은:

  1. 요약 페이지 생성
  2. 기존 개념엔티티 페이지 읽기
  3. 문서 간 종합을 통해 개념 생성 또는 업데이트
  4. 엔티티 페이지 (사람, 조직, 장소, 제품) 생성 또는 업데이트
  5. 인덱스로그 업데이트

단일 소스는 10~15개의 위키 페이지에 영향을 미칠 수 있습니다. 지식이 축적됩니다: 각 문서는 기존 위키를 풍부하게 하며 고립되지 않습니다.

⚙️ 사용법

OpenKB 명령어는 두 레이어로 나뉩니다: 위키 기반 (지식 컴파일 + 관리) 및 생성기 (위키를 유용한 출력으로 변환). 각 명령어는 구체적인 예제와 연결됩니다 — OpenKB가 하나의 샘플 논문에서 생성한 실제 아티팩트입니다 (examples/에서 모두 확인 가능).

레이어 1: 🧱 위키 기반 — 컴파일 및 유지 관리

명령어 설명
openkb init 새 지식 베이스 초기화 (대화형)
<code>openkb&nbsp;add&nbsp;&lt;파일또는디렉토리또는URL&gt;</code> 파일, 디렉토리 또는 URL을 추가하고 위키로 컴파일 (URL 콘텐츠 유형은 자동 감지)
openkb list 인덱싱된 문서 및 개념 나열
openkb status 지식 베이스 통계 표시
openkb watch raw/ 디렉토리 감시 및 새 파일 자동 컴파일
openkb lint 구조 및 지식 상태 검사 실행

<details> <summary><i>추가 위키 명령어:</i></summary> <br>

명령어 설명
<code>openkb&nbsp;remove&nbsp;&lt;문서&gt;</code> 문서를 제거하고 해당 위키 페이지, 이미지, 레지스트리 및 PageIndex 상태 정리 (--dry-run으로 미리보기, --keep-raw / --keep-empty로 아티팩트 유지)
<code>openkb&nbsp;recompile&nbsp;[&lt;문서&gt;]&nbsp;[--all]</code> 이미 인덱싱된 문서에 대해 재인덱싱 없이 컴파일 파이프라인 재실행. 요약을 재생성하고 개념 페이지를 다시 작성하며, 수동 편집은 덮어씁니다 (--dry-run으로 미리보기, --refresh-schemawiki/AGENTS.md도 업데이트)
<code>openkb&nbsp;feedback&nbsp;["메시지"]</code> 미리 채워진 GitHub 이슈를 열어 피드백 제출 (--type bug/feature/question으로 태그 지정)

</details>

예제: 일상적인 루프를 처음부터 끝까지 단계별로 설명 — examples/commands/.

레이어 2: 💡 생성기 — 위키를 출력으로 변환

"생성기"는 컴파일된 위키를 읽고 유용한 것을 생성합니다: 답변, 대화, 스킬 폴더 등. 위키는 기반이며, 생성기는 표면입니다.

명령어 출력 예제
<code>openkb&nbsp;query&nbsp;"질문"</code> 인용이 포함된 근거 있는 답변 (--savewiki/explorations/에 저장) query & save
<code>openkb&nbsp;chat</code> 위키에 대한 대화형 다중 턴 세션 (--resume, --list, --delete로 세션 관리) chat
<code>openkb&nbsp;visualize</code> output/visualize/graph.html에 자체 포함된 대화형 지식 그래프 — 3D, 마인드맵, 방사형 보기 visualize
<code>openkb&nbsp;skill&nbsp;new&nbsp;&lt;스킬-이름&gt;&nbsp;"&lt;의도&gt;"</code> 위키에서 재배포 가능한 에이전트 스킬 추출 (아래 스킬 팩토리 참조) skills
<code>openkb&nbsp;deck&nbsp;new&nbsp;&lt;이름&gt;&nbsp;"&lt;의도&gt;"</code> 단일 파일 HTML 슬라이드 덱 생성 (--skill로 테마 선택, --critique로 품질 검사 실행) slides

<details> <summary><i>추가 스킬 명령어:</i></summary> <br>

명령어 출력
<code>openkb&nbsp;skill&nbsp;validate&nbsp;[이름]</code> 컴파일된 스킬 검증 (skill new 후 자동 실행)
<code>openkb&nbsp;skill&nbsp;eval&nbsp;&lt;이름&gt;</code> 스킬이 올바른 프롬프트에서 트리거되는지 확인
<code>openkb&nbsp;skill&nbsp;history&nbsp;&lt;이름&gt;</code> / <code>openkb&nbsp;skill&nbsp;rollback&nbsp;&lt;이름&gt;</code> 스킬의 버전 기록 + 롤백

</details>

<a id="skill-factory"></a>

🛠 스킬 팩토리 — 책을 넣으면 디지털 전문가가 나옵니다.

플래그십 생성기: openkb skill new는 위키에서 휴대용 에이전트 스킬을 추출하며, Claude Code, Codex 및 Gemini가 기본적으로 설치하고 로드할 수 있습니다. 논문 한 권 분량을 넣으면 다른 에이전트가 호출할 수 있는 전문가가 나옵니다. → 실제 생성된 스킬과 설치/공유/eval/롤백은 examples/skills/에서 설명합니다.

🔧 설정

설정

openkb init.openkb/config.yaml을 작성합니다:

model: gpt-5.4                   # LLM 모델 (LiteLLM 지원 제공자)
language: en                     # 위키 출력 언어
pageindex_threshold: 20          # PageIndex 사용을 위한 PDF 페이지 임계값

전체 설정 참조 — entitytypes, OAuth 제공자 (chatgpt/, githubcopilot/), LiteLLM 튜닝 (Ollama/LM Studio와 같은 느린 로컬 런타임을 위한 타임아웃, drop_params, GitHub Copilot 헤더, 설치 참고 사항) — examples/configuration/에 있습니다.

PageIndex 설정

긴 문서 검색은 LLM에게 알려진 과제입니다. PageIndex는 벡터리스 추론 기반 검색으로 이를 해결하며, 계층적 트리 인덱스를 구축하여 LLM이 컨텍스트 인식 검색을 위해 인덱스에 대해 추론할 수 있게 합니다.

PageIndex는 기본적으로 오픈소스 버전을 사용하여 로컬에서 실행되며, 외부 종속성이 필요하지 않습니다.

클라우드 지원 (선택 사항):

크거나 복잡한 PDF의 경우 PageIndex Cloud를 사용하여 추가 기능에 액세스할 수 있습니다:

  • 스캔된 PDF에 대한 OCR 지원 (호스팅된 VLM 모델 사용)
  • 더 빠른 구조 생성
  • 대용량 문서를 위한 확장 가능한 인덱싱

클라우드 기능을 활성화하려면 .envPAGEINDEXAPIKEY를 설정하세요:

PAGEINDEX_API_KEY=your_pageindex_api_key

예제: 로컬 vs 클라우드 인덱싱 및 클라우드 인덱싱된 문서 가져오기 — examples/pageindex-cloud/.

AGENTS.md

wiki/AGENTS.md

[...생략...]

원본 저장소: VectifyAI/OpenKB

라이선스: Apache-2.0

게재 제외를 원하시면 삭제 요청을 보내주세요.