hyperextract, 명령어 he)는 비정형 텍스트를 강타입(strongly-typed) '지식 추상(Knowledge Abstract)'으로 바꾸는 LLM 기반 지식 추출 프레임워크다. 단순 리스트·집합부터 지식 그래프, 하이퍼그래프, 시공간 그래프까지 8가지 구조를 명령어 한 줄로 뽑아낸다. 슬로건은 "Stop reading. Start understanding(읽기를 멈추고, 이해를 시작하라)". (저장소: yifanfeng97/Hyper-Extract · Python ≥3.11 · Apache-2.0 · ★약 1,600 · 2026년 1월 신생 · v0.2.0 알파)한 문장으로 이 프로젝트가 뭘 하는지부터.
Hyper-Extract = "문서를 들이밀면, 사람이 읽지 않아도 컴퓨터가 다룰 수 있는 '지식 구조물'로 바꿔 주는 명령줄 도구." 우리가 가진 정보 대부분은 줄글(비정형 텍스트)이다. 사람은 읽으면 이해하지만, 프로그램은 줄글을 곧바로 계산·검색·연결하지 못한다. Hyper-Extract는 LLM에게 텍스트를 읽혀서, 미리 정해 둔 '틀(스키마)'에 맞는 강타입 데이터로 뽑아낸다. 그 결과물이 엔티티(노드)와 관계(엣지)로 이뤄진 지식 그래프, 또는 셋 이상을 한 번에 묶는 하이퍼그래프다.
테슬라 전기를 한 권 받았다고 하자. 사람이 읽으면 "에디슨 밑에서 일했고, 웨스팅하우스와 손잡았고…"를 머릿속에 그린다. Hyper-Extract는 그 과정을 자동화한다 — 인물·회사·발명을 점(노드)으로, '함께 일했다/경쟁했다'를 선(엣지)으로 뽑아 검색 가능한 관계도를 만든다.
게다가 "君臣佐使로 짜인 한약 처방"처럼 셋 이상이 한 덩어리로 얽히는 관계는 보통 그래프로 표현이 어색한데, Hyper-Extract는 그걸 하이퍼엣지(hyperedge) 하나로 통째로 묶어 버린다. 이게 이름에 'Hyper'가 붙은 이유다.
data.json), 메타정보(metadata.json), 검색용 인덱스(index/)가 들어 있다. "텍스트에서 짜낸 지식을 담아 두는 캡슐"이라고 보면 된다.Pydantic 모델로 정의하면, LLM은 그 틀에 맞춰서만 답한다. 덕분에 결과가 들쭉날쭉하지 않고 예측 가능해져서 곧바로 프로그램에 쓸 수 있다.핵심 정체성을 정리하면 세 가지다. ⑴ LLM으로 추출한다(규칙 기반 파서가 아니라 언어모델이 읽고 판단). ⑵ 결과가 강타입 구조물이다(리스트·모델·그래프·하이퍼그래프·시공간 그래프 등 8종). ⑶ 점진적으로 키운다 — 새 문서를 계속 먹이면(he feed) 기존 지식 베이스가 중복을 합치며 커진다(저자는 이를 '지식 진화, knowledge evolution'라 부른다).
TrendShift 일간 16위 — GraphRAG 도구가 쏟아지는 와중에 이게 눈에 띈 이유.
2024~2026년은 "RAG에서 GraphRAG로" 넘어가는 흐름이 뜨겁다. 단순히 문서 조각을 검색해 붙이는 RAG의 한계를 넘어, 지식을 그래프로 구조화해 추론까지 노리는 접근(Microsoft GraphRAG, LightRAG, KG-Gen 등)이 줄줄이 나왔다. Hyper-Extract는 그 경쟁의 한복판에서 다음 네 가지로 차별화한다.
대부분의 도구는 둘씩 잇는 보통 그래프(binary graph)에서 멈춘다. Hyper-Extract는 셋 이상을 한 번에 묶는 하이퍼그래프, 그리고 시간·장소가 붙은 시공간 그래프까지 1급 시민으로 다룬다. README의 비교표에서 이 도구만 'Spatial Graph + Hypergraph + Domain Templates' 세 칸을 동시에 채운다고 주장한다 — 이게 가장 큰 세일즈 포인트다.
금융·법률·의료·한의학(TCM)·산업·일반 도메인에 맞춘 YAML 템플릿이 미리 들어 있다. 사용자는 파이썬을 한 줄도 안 쓰고 he parse 문서 -t finance/...처럼 템플릿 이름만 고르면 된다. "추출이 뭘 뽑아야 하는지"를 코드가 아니라 설정 파일로 갈아끼우는 설계다.
GraphRAG·LightRAG·iText2KG·KG-Gen 같은 유명 논문 방식들을 재구현해 methods/ 폴더에 모아 뒀다. he parse -m hyper_rag처럼 방법만 바꿔 끼우며 같은 입력에 여러 알고리즘을 비교할 수 있다. "여러 GraphRAG 구현을 각각 깔지 말고, 한 CLI에서 스위치로 돌려 보라"는 제안이다.
OpenAI뿐 아니라 vLLM 로컬 서버(예: Qwen3.5-9B + bge-m3 임베딩)를 1급으로 지원한다. 민감한 의료·법률 문서를 내 GPU 안에서만 처리할 수 있다는 점은 기업·연구실에 큰 매력이다.
| 도구 | 성격 | Hyper-Extract와의 차이 |
|---|---|---|
| Microsoft GraphRAG | 그래프 기반 RAG의 대표 | 보통 그래프 중심·무겁다. Hyper-Extract는 하이퍼/시공간 + 가벼운 CLI + 도메인 템플릿. |
| LightRAG | 경량 GraphRAG | 속도·간결함이 강점. Hyper-Extract는 그걸 -m light_rag 엔진으로 흡수하고 8개 구조로 확장. |
| KG-Gen / iText2KG | 지식그래프 생성기 | 그래프 생성에 특화. Hyper-Extract는 같은 계열을 엔진으로 품고 하이퍼그래프까지. |
| Hyper-Extract | 추출 '프레임워크' + CLI | 8종 구조·9개 엔진·80+ 템플릿·로컬 LLM·증분 진화를 하나로 묶음. |
이 레포의 진짜 가치는 특정 알고리즘이 아니라 3층 구조(템플릿 → 엔진 → 자료형)다. 쉬운 사람은 템플릿만, 중간은 엔진 선택, 고급은 파이썬 API로 자기 스키마를 직접 짠다. 난이도별로 같은 엔진을 공유하므로, 입문자가 점점 깊이 들어가도 도구를 갈아탈 필요가 없다.
겉보기엔 Hyper-Extract 한 레포지만, 무거운 일(저장·병합·중복 제거·시각화)은 같은 저자(Yifan Feng)가 만든 ontomem·ontosight·semhash가 처리한다. 즉 이 레포 자체는 '오케스트레이션 + 스키마 + 템플릿' 층에 가깝다. 또한 2026년 1월에 막 시작된 v0.2.0 알파라 API가 바뀔 수 있고, 비교표의 "유일하게 다 된다"식 주장은 저자 측 표현이니 직접 검증하며 받아들이는 게 좋다.
pyproject.toml · uv.lock · 소스를 직접 열어 확인한 실제 구성. 순수 파이썬 프로젝트다.
먼저 큰 그림 — Hyper-Extract는 웹 서버·프런트엔드가 없는 순수 파이썬 CLI다(Python ≥3.11, 빌드 백엔드 hatchling). 외부 서비스는 'LLM + 임베딩' 두 가지뿐이고, 나머지는 전부 파이썬 라이브러리다. 스택은 ⓐ LLM 오케스트레이션, ⓑ 저장·검색, ⓒ CLI/UX, ⓓ 저자 제작 핵심 엔진 네 묶음으로 나뉜다.
| 구성요소 | 역할 |
|---|---|
langchain / langchain-core | 프롬프트 템플릿(ChatPromptTemplate), 구조화 출력(with_structured_output), 동시 호출(.batch()), 텍스트 분할(RecursiveCharacterTextSplitter)을 제공하는 뼈대. |
langchain-openai | 실제 LLM·임베딩 클라이언트. OpenAI 호환이면 무엇이든 ChatOpenAI/OpenAIEmbeddings로 호출(국산·중국·로컬 엔드포인트 포함). |
langchain-anthropic · langchain-google-genai | 선택 의존성(extras). Anthropic·Google 모델을 쓰려면 pip install "hyperextract[all]"로 추가. |
| 구성요소 | 역할 |
|---|---|
faiss-cpu | 벡터 인덱스 백엔드. 노드·엣지를 임베딩해 저장하고 의미 검색(semantic search)을 수행. CPU판이라 GPU 불필요. |
semhash | 의미 기반 근접 중복 탐지. 표현만 다르고 뜻이 같은 항목을 걸러 낸다(저자 제작). |
| 구성요소 | 역할 |
|---|---|
typer | he 명령 트리(parse/feed/search/talk/show…)를 구성하는 CLI 프레임워크. |
rich | 터미널 표·패널·스피너·아스키 로고 같은 예쁜 출력. |
python-dotenv · tomli-w | .env 읽기, 그리고 ~/.he/config.toml 설정 파일 쓰기. |
structlog | 구조화 로깅. |
아래 세 라이브러리는 모두 같은 저자(Yifan Feng)가 만든 것으로, Hyper-Extract의 '심장부'다. 이 레포만 봐서는 안 보이는 알맹이가 여기 있다.
| 구성요소 | 역할 |
|---|---|
ontomem | OMem(객체 메모리 저장소) + 병합 전략(MergeStrategy, create_merger). 모든 자료형 밑에서 중복 제거·병합·색인을 담당하는 엔진. |
ontosight | 그래프·하이퍼그래프 시각화(view_graph, view_hypergraph). he show 명령의 실체. |
semhash | 위 ⓑ에 등장. 의미 해시 기반 중복 제거. |
llm.with_structured_output(스키마)가 모델의 함수호출/JSON 모드를 이용해 이를 보장한다. Hyper-Extract의 '하드 요구사항' — 이 기능을 지원하는 모델만 쓸 수 있다.he search·he talk가 이걸로 돌아간다.텍스트 한 덩이가 그래프가 되기까지 — 그리고 '3층 구조'가 왜 영리한가.
아키텍처는 두 축으로 본다. (1) 가로축: 사용자 접근 3층(템플릿 → 엔진 → 자료형) — 쉬운 길과 유연한 길을 같은 엔진 위에 쌓은 구조. (2) 세로축: 추출 파이프라인 — 원본 텍스트가 LLM을 거쳐 색인된 그래프가 되는 흐름. 먼저 3층부터.
핵심은 세 층 모두 결국 같은 Auto-Type 엔진을 인스턴스화한다는 점이다. 템플릿(YAML)도, 메서드(엔진)도 내부적으론 AutoGraph·AutoHypergraph 같은 객체를 만들 뿐이다. 그래서 입문자가 템플릿으로 시작했다가 나중에 파이썬 API로 내려가도 개념이 그대로 이어진다.
추상 클래스 BaseAutoType이 위 파이프라인 '전체 골격'을 소유하고, 8개 자료형은 빈칸(훅)만 채운다. 예: _init_data_state(초기 상태), merge_batch_data(병합 방식), build_index(색인), search(검색), _default_prompt(기본 프롬프트). 실제 추출의 심장은 이 한 줄이다:
# BaseAutoType: 프롬프트와 '구조화 출력 LLM'을 파이프로 연결
self.data_extractor = self.prompt_template | self.llm_client.with_structured_output(self._data_schema)
# _extract_data: 짧으면 한 번, 길면 청크로 쪼개 동시 호출
if len(text) <= self.chunk_size:
extracted = [self.data_extractor.invoke({"source_text": text})]
else:
chunks = self.text_splitter.split_text(text)
inputs = [{"source_text": c} for c in chunks]
extracted = self.data_extractor.batch(inputs, config={"max_concurrency": self.max_workers})
extracted = self._filter_none_results(extracted) # 실패분 제거
merged = self.merge_batch_data(extracted) # ontomem 머저로 병합
보통 그래프와 하이퍼그래프의 차이는 개념이 아니라 코드에 박혀 있다. 하이퍼엣지는 둘이 아니라 참여자 전체를 담은 튜플이다. 그래서 중복을 합치려면 참여자를 정렬해 '순서 무관' 키를 만들어야 한다.
# 보통 그래프: 엣지 = (출발, 도착) 2-튜플
nodes_in_edge_extractor = lambda x: (x.source, x.target)
# 하이퍼그래프: 엣지 = 참여자 전원 튜플 (2개 이상)
nodes_in_edge_extractor = lambda x: tuple(x.members)
edge_key_extractor = lambda x: f"{x.type}_{'_'.join(sorted(x.members))}"
# ↑ sorted(): {A,B,C}=={C,B,A} 로 보게 만들어 중복 제거가 동작
그리고 AutoHypergraph는 노드용 OMem과 엣지용 OMem을 따로 두고, FAISS 인덱스도 node_index/·edge_index/ 둘로 나눈다. 검색은 (노드들, 엣지들) 튜플을 돌려주고, RAG 챗은 이를 "=== 관련 노드 ===", "=== 관련 엣지 ===" 두 블록으로 나눠 모델에 보여 준다.
보통 그래프는 한쪽 끝점만 없어도 엣지를 버린다. 하지만 하이퍼엣지는 참여자가 여럿이라, _prune_dangling_edges가 "참여자 전원이 노드 목록에 존재할 때만" 그 하이퍼엣지를 살린다(하나라도 빠지면 폐기). 다대다 관계의 일관성을 지키려는 의도된 보수성이다.
AutoSpatioTemporalGraph는 AutoGraph를 상속해 두 가지를 더한다. ⑴ 같은 관계라도 시간·장소가 다르면 다른 것으로 보도록 복합 키 "{관계} @ {시간} at {장소}"를 만든다. ⑵ 프롬프트에 observation_time(기본=오늘)·observation_location을 주입해, LLM이 "작년", "여기", "현재" 같은 상대 표현을 절대값으로 환산하게 한다. 또한 "시간을 노드로 뽑지 말라(시간은 관계의 속성이다)"를 명시한다.
BaseAutoType이 추출 파이프라인을 고정하고, 그래프·하이퍼그래프 등이 병합·색인 같은 단계만 다르게 구현한다.he feed KA폴더 새문서를 하면 기존 메타데이터의 템플릿·언어를 재사용해 추출하고, 중복은 합쳐서 그래프를 확장한다.저장소를 클론하면 어디부터 봐야 하는가 — types/가 본체다.
공부 순서 추천: README.md → examples/(돌려보며 감 잡기) → hyperextract/types/base.py(파이프라인 골격) → types/hypergraph.py(간판 자료형) → utils/client.py(LLM 연결). 가장 중요한 폴더는 types/(8개 자료형)과 methods/(9개 엔진)다.
| 위치 | 역할 |
|---|---|
hyperextract/types/ | 레포의 심장. 8개 강타입 자료 구조. base.py가 골격, graph.py·hypergraph.py가 간판. |
hyperextract/methods/ | 유명 논문 방식(GraphRAG·LightRAG·iText2KG·KG-Gen 등)을 재구현한 9개 엔진. registry.py가 이름↔클래스 연결. |
hyperextract/templates/presets/ | 코드 없이 쓰는 도메인 YAML 프리셋. 예: tcm/formula_composition.yaml(한약 처방). |
utils/template_engine/ | YAML 한 장을 실제 AutoType 객체로 바꾸는 변환기(파서들). |
hyperextract-skills/ | 이 레포가 함께 배포하는 Claude Code 스킬 팩 — YAML 템플릿을 '설계'하도록 돕는 워크플로(아래 학습 포인트 참고). |
examples/ · docs/ | 영/중 실행 예제와 MkDocs 문서. 입문자는 여기서 시작하는 게 가장 빠르다. |
hyperextract-skills/ 안엔 brainstorm·graph-designer·yaml-validator·template-optimizer 같은 스킬이 들어 있다. 즉 "어떤 스키마/템플릿을 만들지"를 Claude Code 같은 에이전트와 함께 설계하라는 것. 이 공부 프로젝트(스킬 기반 자동화)와도 잘 맞는 부분이라 한 번 열어 볼 가치가 있다.
이 레포에서 실제로 무엇을 배울 수 있는가 — 기술별 + 실습 아이디어.
가장 큰 배움. LLM에게 자유 문장이 아니라 Pydantic 스키마로 답을 강제하면, 결과를 곧장 프로그램에 쓸 수 있다. prompt | llm.with_structured_output(schema) 한 줄이 "추출의 신뢰성"을 어떻게 끌어올리는지, 실패분을 None으로 거르는 처리까지 한 세트로 배운다.
실습 아이디어: 간단한 Entity(name, type) 스키마를 만들어 기사 한 편에서 인물·기관을 뽑아 보고, 스키마에 필드를 더했을 때 결과가 어떻게 달라지는지 본다.
"이 관계는 둘인가, 여럿인가?"를 구분하는 눈. 공저·팀·처방·반응처럼 다대다가 본질인 관계를 보통 그래프로 욱여넣으면 정보가 깨진다. 하이퍼엣지 = 참여자 정렬 튜플이라는 표현, '순서 무관 중복 제거', '전원 존재해야 살리는 가지치기'를 코드로 배운다.
실습 아이디어: 같은 문단을 AutoGraph와 AutoHypergraph로 각각 추출해, 결과 그래프의 모양 차이를 he show로 시각 비교한다.
추출만이 아니라 FAISS 색인 → 의미 검색 → RAG 챗까지 한 흐름에 들어 있다. 노드·엣지를 따로 임베딩해 (노드, 엣지)로 검색하고, 그걸 프롬프트에 블록으로 끼워 답을 만드는 GraphRAG식 검색 증강의 실제 구현을 읽을 수 있다.
실습 아이디어: he search와 he talk의 결과를 비교하고, top_k(가져오는 개수)를 바꿔 답 품질이 어떻게 변하는지 관찰한다.
YAML 한 장을 읽어 동적으로 Pydantic 스키마와 프롬프트를 만들어 내는 template_engine/은 좋은 설정 기반 설계(config-driven) 교본이다. "코드를 고치지 않고 동작을 바꾸는" 구조를, 파서가 어떻게 식별자·출력·가이드라인을 분리해 다루는지로 배운다.
실습 아이디어: 기존 프리셋 YAML 하나를 복사해 내 도메인(예: 게임 캐릭터 관계)용으로 고쳐 보고, yaml-validator 스킬로 검증한다.
OpenAI·Bailian(알리바바)·vLLM을 provider:model@url 한 형식으로 통일한 client.py는 공급자 교체를 깔끔히 추상화한 예다. 특히 vLLM 로컬 엔드포인트의 까다로운 임베딩 입력을 우회하는 CompatibleEmbeddings처럼, 실전에서 부딪히는 호환성 문제를 어떻게 감싸는지 배운다.
실습 아이디어: OpenAI로 한 번, 로컬 Ollama/vLLM로 한 번 같은 문서를 추출해 결과·속도·비용을 비교한다.
무엇이 있어야 돌릴 수 있나 — 도구 자체엔 GPU가 필요 없다.
좋은 소식 — Hyper-Extract 자체는 가벼운 순수 파이썬이다. faiss-cpu를 쓰고 무거운 연산(LLM·임베딩)은 외부 API/서버에 맡기므로, 도구를 돌리는 데 GPU가 필요 없다. GPU는 모델을 직접 자체 호스팅(vLLM)할 때만 필요하다.
| 항목 | 요구사항 / 비고 |
|---|---|
| Python | 3.11 이상(CI는 3.11·3.12 테스트). 설치는 uv tool install hyperextract 또는 pip. |
| LLM 엔드포인트 | 구조화 출력(JSON 스키마/함수호출)을 지원하는 OpenAI 호환 채팅 모델. 기본값 gpt-4o-mini. |
| 임베딩 엔드포인트 | 색인·검색·챗에 필요. 기본값 text-embedding-3-small. 없으면 search/talk가 동작하지 않음. |
| API 키 / 설정 | he config init -k 키 → ~/.he/config.toml에 저장, 또는 OPENAI_API_KEY·OPENAI_BASE_URL 환경변수. |
| GPU | 도구엔 불필요. vLLM으로 Qwen3.5-9B 등을 로컬 구동할 때만 GPU 필요. |
| 입력 형식 | .txt/.md 파일, 그 디렉토리, 또는 stdin(-). (README의 PDF 예시는 마크다운 우선 워크플로 기준.) |
처음엔 gpt-4o-mini로 빠르게 결과를 보고 추출 품질을 가늠하라 — 가장 저렴하고 빠르다. 이후 의료·법률처럼 밖으로 나가면 안 되는 데이터는 vLLM 프리셋(provider:model@url)으로 갈아끼우면 같은 명령·같은 템플릿으로 완전 오프라인 처리가 된다.
난이도별로 — 30초 퀵스타트부터 내 도메인 템플릿 제작까지.
먼저 설치와 30초 퀵스타트. 이게 전체 사용 흐름의 축소판이다.
# 설치 + API 키 등록
uv tool install hyperextract
he config init -k YOUR_OPENAI_API_KEY
# ① 추출: 테슬라 전기를 '인물 전기 그래프' 템플릿으로 → ./output/
he parse examples/en/tesla.md -t general/biography_graph -o ./output/ -l en
# ② 질문: 만들어진 지식 추상에 자연어로 검색
he search ./output/ "What are Tesla's major achievements?"
# ③ 확인: 그래프를 시각화해서 보기
he show ./output/
위 4줄을 그대로 실행해 ./output/ 폴더가 생기는 걸 확인한다. 안의 data.json·metadata.json·index/를 열어 "추출 결과가 실제로 어떤 JSON으로 저장되는지"를 눈으로 본다. he info ./output/로 노드·엣지 개수도 확인.
he feed ./output/ 새문서.md로 같은 KA에 문서를 추가한다. 노드·엣지 수가 늘되 중복 인물은 합쳐지는지 관찰한다. "한 번 만들고 끝"이 아니라 계속 자라는 지식 베이스라는 개념을 체감하는 과제.
공저 관계나 팀 구성이 담긴 문단을, -m으로 그래프 계열 엔진(graph_rag)과 하이퍼그래프 계열(hyper_rag)에 각각 넣어 본다. he show로 두 결과를 시각 비교하며 "여럿이 한 덩어리인 관계"가 어떻게 다르게 표현되는지 확인한다.
templates/presets/의 프리셋 하나를 복사해 내 도메인용으로 고친다(예: 게임 세계관의 인물·세력 관계). 노드/엣지 스키마와 가이드라인을 바꾸고, 동봉된 yaml-validator 스킬로 검증한 뒤 he parse -t 내템플릿으로 돌려 본다.
# 아주 단순화한 템플릿 골격(개념용)
type: graph
language: ko
node_schema:
name: { type: str, desc: "엔티티 이름" }
role: { type: str, desc: "세력/직책" }
edge_schema:
source: ...
target: ...
relation: { type: str, desc: "동맹/적대 등" }
로컬 OpenAI 호환 서버(vLLM 또는 Ollama)를 띄우고 he config llm으로 vllm:모델@http://localhost:8000/v1을 등록한다. 임베딩도 로컬(bge-m3 등)으로 맞춘 뒤, 인터넷 없이 같은 추출이 되는지 확인한다. 클라우드 대비 속도·품질·비용을 표로 비교하면 좋은 학습이 된다.
이 레포를 발판으로 'LLM 지식추출 + GraphRAG'까지 — 6주 계획.
| 주차 | 주제 | 학습 자료 / 할 일 |
|---|---|---|
| 1주차 | LLM 구조화 출력 | LangChain with_structured_output + Pydantic 기초. 기사에서 엔티티 추출 실습. |
| 2주차 | 지식 그래프 기본 | 노드/엣지 모델링, KG-Gen·iText2KG 개념. AutoGraph 예제 정독. |
| 3주차 | 하이퍼그래프 | 하이퍼엣지 표현·순서 무관 dedup·가지치기. types/hypergraph.py 코드 리딩. |
| 4주차 | 벡터 검색 & GraphRAG | 임베딩·FAISS·top_k. Microsoft GraphRAG/LightRAG 논문 + he search/talk 분석. |
| 5주차 | 설정 기반 설계 | YAML→스키마 변환(template_engine) 읽기. 내 도메인 템플릿 제작·검증. |
| 6주차 | 로컬 LLM & 운영 | vLLM/Ollama 서빙, 공급자 추상화, 비용-품질 비교 실험. 시공간 그래프까지 확장. |
문서·코드에 자주 나오는 용어 — 한 줄 정의.
| 용어 | 의미 |
|---|---|
| Knowledge Abstract (KA) | 추출 결과 한 덩어리. data.json·metadata.json·index/를 담은 폴더. |
| Auto-Type | 8종 강타입 자료 구조(Model/List/Set/Graph/Hypergraph/Temporal/Spatial/SpatioTemporal). |
| Method (엔진) | 미리 만든 추출 알고리즘. graph_rag·light_rag·hyper_rag·kg_gen·atom 등 9종. |
| Template (템플릿) | 코드 없이 추출을 정의하는 도메인별 YAML 프리셋(finance/legal/tcm 등). |
| Structured Output | LLM이 정해진 JSON 스키마에 맞춰 답하도록 강제하는 기능. 이 도구의 필수 요건. |
| Hyperedge | 점 2개가 아니라 여럿을 한 번에 묶는 선. 다대다 관계 표현. |
| Spatio-Temporal Graph | 관계에 시간·장소가 붙은 그래프. 복합 키로 시점·장소별로 구분. |
| GraphRAG | 지식 그래프를 활용한 검색 증강 생성(RAG). 단순 청크 검색보다 추론에 강함. |
| Embedding / FAISS | 문장을 의미 벡터로, FAISS는 가까운 벡터를 빠르게 찾는 검색 엔진. |
| Incremental Evolution | 문서를 계속 먹여(he feed) 지식 베이스를 중복 병합하며 키우기. |
| OMem (ontomem) | 저자 제작 객체 메모리 저장소 + 병합 전략. 모든 자료형의 저장·dedup 엔진. |
| OntoSight | 저자 제작 시각화 라이브러리. he show의 그래프/하이퍼그래프 그리기. |
| vLLM | 고성능 로컬 LLM 서빙 엔진. 완전 오프라인 추출에 사용(provider:model@url). |
| Two-stage extraction | 1단계 노드 먼저, 2단계에서 그 노드를 단서로 엣지 추출 — 환각 줄이기. |
원문으로 더 깊이 — 공식 소스 위주.
uv tool install hyperextract)hyperextract-skills/ (brainstorm · graph-designer · yaml-validator · template-optimizer)ontomem · ontosight · semhash (by Yifan Feng)