LlamaIndex
LlamaIndex
LLM과 데이터를 연결하는 프레임워크. RAG 구현에 특화.
LlamaIndex
LLM과 데이터를 연결하는 프레임워크. RAG 구현에 특화.
LlamaIndex는 LLM과 외부 데이터를 연결하는 오픈소스 프레임워크입니다. RAG(Retrieval-Augmented Generation) 구현에 특화되어 있으며, PDF, 웹페이지, 데이터베이스 등 다양한 데이터 소스를 LLM이 이해할 수 있는 형태로 인덱싱하고 검색합니다.
Jerry Liu가 2022년 GPT Index라는 이름으로 시작해 LlamaIndex로 발전했습니다. 2025년 현재 v0.11 버전이 출시되어 50개 이상의 데이터 커넥터(Google Drive, Notion, Slack 등)와 하이브리드 검색, Agentic Retrieval 등 고급 기능을 지원합니다.
LlamaIndex의 핵심 구성요소는 Data Connectors(데이터 로드), Index Structures(벡터/키워드 인덱스), Query Engines(검색 및 응답 생성), Agents(복잡한 태스크 수행)입니다. LlamaParse를 통해 복잡한 PDF도 정확하게 파싱할 수 있습니다.
실무에서는 사내 문서 기반 챗봇, 고객 지원 AI, 기술 문서 검색 시스템 등을 구축할 때 사용됩니다. LangChain과 비교해 문서 검색에 더 특화되어 있으며, 2025년 벤치마크에서 검색 정확도 35% 향상, 처리 속도 40% 개선을 달성했습니다.
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.core import Settings
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.openai import OpenAIEmbedding
# LLM과 임베딩 모델 설정
Settings.llm = OpenAI(model="gpt-4o-mini", temperature=0.1)
Settings.embed_model = OpenAIEmbedding(model="text-embedding-3-small")
# 문서 로드 (PDF, txt, docx 등 자동 인식)
documents = SimpleDirectoryReader("./company_docs").load_data()
print(f"로드된 문서: {len(documents)}개")
# 벡터 인덱스 생성 (청킹 + 임베딩 자동 처리)
index = VectorStoreIndex.from_documents(documents)
# 쿼리 엔진 생성
query_engine = index.as_query_engine(
similarity_top_k=5, # 상위 5개 관련 문서 검색
response_mode="compact" # 응답 형식
)
# 질문에 대한 답변 생성
response = query_engine.query(
"2024년 4분기 매출 실적은 어떻게 되나요?"
)
print(f"답변: {response}")
print(f"출처: {[node.metadata for node in response.source_nodes]}")
# 영구 저장소에 인덱스 저장
index.storage_context.persist(persist_dir="./storage")
# 저장된 인덱스 로드
from llama_index.core import StorageContext, load_index_from_storage
storage_context = StorageContext.from_defaults(persist_dir="./storage")
loaded_index = load_index_from_storage(storage_context)
2025년 1월 기준 LlamaIndex 생태계 가격 정보입니다.
| 서비스 | 가격 | 특징 |
|---|---|---|
| LlamaIndex 오픈소스 | 무료 (MIT License) | RAG 파이프라인 구축 |
| LlamaParse Free | 무료 | 1,000 페이지/일 |
| LlamaParse Pro | $4.99/월 | 100,000 페이지/월 |
| LlamaCloud Starter | $49/월 | 5,000 pages, 5GB storage |
| LlamaCloud Team | $299/월 | 100,000 pages, 50GB storage |
| LlamaCloud Enterprise | 문의 필요 | 무제한, VPC 배포 |
| 지원 데이터 소스 | 개수 | 예시 |
|---|---|---|
| LlamaHub Loaders | 300+ | PDF, Notion, Slack, DB 등 |
| Vector Stores | 40+ | Pinecone, Milvus, Weaviate 등 |
"사내 지식 검색 챗봇은 LlamaIndex로 구축했습니다. Confluence, Notion, Google Drive 문서 3만 건을 인덱싱해서 관련 문서를 검색하고 GPT-4o로 답변을 생성합니다. 직원들의 반복 질문이 70% 줄었습니다."
"LlamaIndex는 RAG 파이프라인 구축에 최적화된 프레임워크입니다. 문서 청킹, 임베딩, 벡터 검색, 응답 합성까지 추상화되어 있어서 빠르게 프로토타입을 만들 수 있고, 프로덕션 레벨까지 확장 가능합니다."
"최신 LlamaIndex는 Agentic RAG 패턴을 지원합니다. 단순 검색을 넘어서 Multi-hop 질문 분해, Self-RAG 같은 고급 검색 전략을 쉽게 구현할 수 있어요. HyDE나 RAPTOR 같은 기법도 빌트인으로 제공합니다."
문서 특성에 맞지 않는 청킹 크기는 검색 품질을 떨어뜨립니다. 기술 문서와 대화 로그는 다른 설정이 필요합니다.
문서 유형에 따라 chunk_size(256~1024), chunk_overlap(10~20%)을 조정하세요. 복잡한 PDF는 LlamaParse를, 테이블 데이터는 전용 파서를 사용하세요.