LlamaIndex는 파일·문서·데이터베이스 같은 외부 데이터를 LLM 애플리케이션에 연결하기 위한 Python 중심 프레임워크다. 문서 로딩, 인덱스 생성, 검색, 쿼리 엔진, 채팅 엔진, 에이전트 워크플로를 묶어 rag 파이프라인을 빠르게 만들 수 있게 한다.
핵심 역할
| 영역 | 설명 |
|---|---|
| 데이터 로딩 | 로컬 파일, 원격 문서, API 데이터를 LLM이 검색 가능한 형태로 가져옴 |
| 인덱싱 | 문서를 청크로 나누고 임베딩·메타데이터와 함께 저장 |
| 쿼리 엔진 | 사용자 질문에 맞는 컨텍스트를 검색해 LLM 답변에 주입 |
| 로컬·원격 모델 | OpenAI 같은 API 모델과 로컬 모델을 모두 연결 |
| 에이전트 워크플로 | 검색뿐 아니라 도구 호출과 단계적 작업 흐름으로 확장 |
기본 흐름
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("이 문서의 핵심 내용은?")
print(response)언제 선택하나
- 문서 기반 챗봇이나 사내 지식 검색을 빠르게 프로토타이핑할 때
- RAG의 로딩·청킹·인덱싱·검색 코드를 직접 모두 작성하고 싶지 않을 때
- LangChain보다 데이터 인덱싱과 쿼리 엔진 중심의 추상화를 선호할 때
관련 문서
- rag — 외부 지식을 LLM에 실시간으로 주입하는 검색 증강 생성 기술
- graph-rag — 관계 인식 검색으로 멀티홉 질문에 답하는 RAG 패러다임
- haystack — 프로덕션 RAG와 에이전트 파이프라인을 위한 오픈소스 프레임워크
- llamaindex-tutorial-rag-python — Python으로 LlamaIndex RAG 파이프라인 만들기
참고 자료
- Using LlamaIndex for RAG in Python — Real Python (2026-06-25)