일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 월미도
- 백준
- 쿠버네티스
- 오일러프로젝트
- Docker
- 알고리즘
- Spring Data JPA
- Apache Kafka
- 클라우드 컴퓨팅
- 프로그래밍문제
- Spring Boot
- 로드밸런서
- VPC
- 코드업
- Kafka
- springboot
- Elasticsearch
- 백트래킹
- 클라우드
- 개발자
- DFS
- 스프링 부트
- 스프링
- Spring
- gcp
- 스프링부트
- 카프카
- aws
- 자료구조
- JPA
- Today
- Total
GW LABS
오픈소스 GraphRAG 'Graphiti' 본문
오픈소스 GraphRAG 'Graphiti'란? AI 기반 RAG 구축에 최적의 선택
소개
AI 기술이 발전하면서 RAG(Retrieval-Augmented Generation)는 더 이상 선택이 아닌 필수가 되고 있습니다. 하지만 일반적인 RAG 파이프라인은 텍스트 기반의 벡터 검색에만 의존하여, 정보 간 관계성을 놓치는 한계를 가지고 있죠.
이런 문제를 해결하기 위해 등장한 것이 바로 오픈소스 GraphRAG 프로젝트인 Graphiti
입니다.
이 글에서는 주니어 개발자와 AI 개발자를 위한 Graphiti의 개념, 아키텍처, 사용법을 친절하게 소개합니다. 특히 GraphRAG 기반 지식 그래프 구축법과 코드 예제를 통해, 실전에서 바로 활용할 수 있도록 도와드립니다.
본문
1. GraphRAG란 무엇인가?
RAG (Retrieval-Augmented Generation)은 외부 문서에서 정보를 검색하고, 이를 기반으로 LLM이 응답을 생성하는 구조입니다.
하지만 단순 벡터 검색은 다음과 같은 한계가 있습니다:
- 정보 간 관계 파악 불가
- 긴 문서나 계층적 구조의 데이터에 약함
- 같은 벡터 스코어라도 문맥에 따라 중요한 정보가 다름
GraphRAG는 문서 간 또는 문서 내에서 엔티티 간의 관계를 그래프로 추출하고 이를 기반으로 LLM이 더 정교한 답변을 생성하도록 돕습니다.
📌 핵심 차이: 벡터 유사도 vs. 관계 기반 연결 정보
2. Graphiti란?
Graphiti는 GraphRAG 개념을 구현한 오픈소스 프레임워크입니다.
- GitHub: https://github.com/graphiti-ai/graphiti
- 언어: Python
- 라이선스: Apache-2.0
주요 특징:
- LLM 기반의 지식 그래프 생성
- Neo4j, NetworkX 등과 연동 가능
- LangChain, OpenAI API 등과 호환
- 쿼리 → RAG 기반 응답 생성까지 자동화
3. Graphiti 아키텍처
Graphiti는 크게 다음과 같은 3단계로 작동합니다:
- 문서 임포트
- LLM 기반 엔티티 및 관계 추출 → 지식 그래프 생성
- 질문을 Graph-augmented 쿼리로 변환 → LLM 응답 생성
graph TD
A[문서 업로드] --> B[엔티티 및 관계 추출]
B --> C[그래프 저장 (Neo4j 등)]
C --> D[사용자 질문]
D --> E[그래프 기반 쿼리 생성]
E --> F[LLM 응답 생성]
- 설치 및 사용법
Graphiti 설치는 매우 간단합니다.
pip install graphiti
예제코드
from graphiti.core import GraphRAG
from graphiti.extractors import OpenAIEntityExtractor
# 문서 로드 및 엔티티 추출
graphrag = GraphRAG(
extractor=OpenAIEntityExtractor(api_key="YOUR_OPENAI_KEY")
)
graphrag.index_documents(["./docs/sample.pdf"])
# 질문 실행
answer = graphrag.ask("이 문서의 주요 인사이트는?")
print(answer)
☑️ OpenAI API Key와 Neo4j 설정만 해두면 바로 실행 가능!
5. Graphiti의 장점
기능 기존 RAG Graphiti 기반 GraphRAG
정확도 중간 높음 (문맥 기반 응답)
스케일 확장 보통 그래프 기반 확장 용이
질문 다양성 한정적 관계 기반 추론 가능
FAQ
Q1. Graphiti는 어떤 LLM과 호환되나요?
OpenAI, Anthropic, Cohere 등 다양한 API 기반 LLM을 사용할 수 있습니다. LangChain을 통해 HuggingFace 모델도 연동 가능합니다.
Q2. 지식 그래프는 어디에 저장되나요?
기본적으로 Neo4j를 지원하며, NetworkX, ArangoDB 등으로도 확장 가능합니다.
클라우드 기반 Neo4j Aura 사용도 가능합니다.
Q3. Graphiti는 상업용으로 사용해도 되나요?
네, Apache 2.0 라이선스이기 때문에 자유롭게 상업적 프로젝트에 활용할 수 있습니다.
Q4. LLM 추론 비용이 많이 들지 않나요?
Graphiti는 문서 인덱싱 단계에서만 LLM을 활용하고, 이후엔 그래프 탐색을 통해 비용을 줄일 수 있습니다.
마무리
Graphiti는 기존 RAG 시스템의 한계를 넘어서는 차세대 AI 정보 검색 프레임워크입니다.
이 포스팅을 통해 Graphiti의 구조와 활용법을 익히고, 여러분의 LLM 기반 서비스에 더욱 정교하고 정확한 답변을 추가해보세요.
메타디스크립션
Graphiti로 GraphRAG 구현하는 방법과 예제를 통해 LLM 성능을 강화하세요. AI 개발자를 위한 실전 가이드입니다.
'Journal > About Tech' 카테고리의 다른 글
CGI에서 Servlet까지: WAS(Web Application Server)의 진화 역사 (2) | 2025.08.08 |
---|---|
팔란티어(Palantir) 완전 정복: 데이터 분석 플랫폼, 활용법, 그리고 미래 전망 (1) | 2025.08.05 |