LlamaIndex로 RAG를 만들 때 핵심은 “내 데이터를 LLM이 검색 가능한 인덱스로 바꾸고, 질문 시점에 관련 문맥을 주입한다”는 흐름을 이해하는 것이다. Real Python 강좌는 환경 준비, 파일 로딩, 인덱스 생성·저장, 쿼리 엔진 실행까지 입문자가 따라가기 좋은 순서로 다룬다.
실습 흐름
- Python 가상환경을 만들고 LlamaIndex 패키지를 설치한다.
- OpenAI, 로컬 모델 등 사용할 LLM 프로바이더를 설정한다.
SimpleDirectoryReader같은 로더로 문서를 읽는다.VectorStoreIndex로 검색 가능한 인덱스를 만든다.- 인덱스를 저장해 다음 실행에서 재사용한다.
as_query_engine()으로 질문을 실행한다.
최소 예시
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
print(query_engine.query("프로젝트의 주요 요구사항을 요약해줘"))실무에서 보강할 부분
튜토리얼 수준의 RAG는 작게 시작하기 좋지만, 운영 환경에서는 다음 요소가 추가로 필요하다.
| 보강 요소 | 이유 |
|---|---|
| 청킹 전략 | 문서 길이와 구조에 따라 검색 품질이 크게 달라짐 |
| 메타데이터 필터 | 부서·날짜·문서 유형별 검색 범위 제어 |
| 리랭킹 | 단순 벡터 유사도 결과를 질문 적합도 기준으로 재정렬 |
| 인용 출력 | 답변 근거를 사용자에게 명확히 보여줌 |
| 평가 세트 | 검색 누락과 환각을 반복적으로 측정 |
관련 문서
- llamaindex — 데이터를 LLM 앱과 연결하는 RAG 프레임워크
- rag — 검색 증강 생성 기술 개요
- rag-tutorial-vector-search-python — NumPy만으로 벡터 검색 구현하기
참고 자료
- Using LlamaIndex for RAG in Python — Real Python (2026-06-25)