LlamaIndex 라마인덱스 설명·사용법·설치·파이썬 예제코드 완전 가이드

2025. 5. 29. 20:42코딩/AI

728x90

 

라마인덱스 설명·사용법·설치·파이썬 예제코드 완전 가이드

 

 

https://github.com/run-llama/llama_index?tab=readme-ov-file

 

GitHub - run-llama/llama_index: LlamaIndex is the leading framework for building LLM-powered agents over your data.

LlamaIndex is the leading framework for building LLM-powered agents over your data. - run-llama/llama_index

github.com

 

 

 

 

1. 라마인덱스 설명 ― 개념과 기능 원리

라마인덱스(LlamaIndex)는 LLM(대규모 언어 모델) 기반 애플리케이션에서 데이터 수집·인덱싱·검색을 자동화해 주는 오픈소스 데이터 프레임워크입니다. 핵심 철학은 RAG(Retrieval Augmented Generation) 패러다임을 간소화해 “몇 줄의 코드”만으로 지식베이스 챗봇이나 문서 Q&A, 멀티-에이전트 워크플로 등을 만들 수 있게 돕는 것이죠. 

1-1. RAG 두 단계 – 인덱싱과 쿼리

  1. 인덱싱 스테이지
    • 다양한 소스(API, PDF, DB 등) → 문서 객체로 변환
    • 문서를 벡터 임베딩하고 메타데이터와 함께 저장
  2. 쿼리 스테이지
    • 사용자의 질문 → 인덱스에서 관련 컨텍스트 검색
    • LLM 프롬프트에 컨텍스트 삽입 → 정확도 상승

이 구조 덕분에 모델은 최신·사내·개인 데이터를 “기억”하지 않고도 고품질 답변을 생성할 수 있습니다. Pathway

1-2. 데이터 처리 아키텍처

컴포넌트 컴포넌트 역할대표 클래스
Data Connector 외부 데이터 로드 SimpleDirectoryReader, GithubRepositoryReader
Indexing 의미 임베딩 + 저장 VectorStoreIndex, TreeIndex
Query Interface 자연어 질문 처리 QueryEngine, Tool
 

VectorStoreIndex가 가장 많이 쓰이지만, 목록·트리·키워드 색인 등도 지원해 데이터 특성에 맞춰 선택 가능합니다. valprovia.com

 
 

LlamaIndex

 


2. 라마인덱스 설치 – 시작을 위한 3분 셋업

2-1. 기본 설치

pip install llama-index      # 스타터 번들

위 명령은 llama-index-core, llama-index-llms-openai, llama-index-embeddings-openai까지 한 번에 설치해 줍니다.

2-2. 환경 변수

export OPENAI_API_KEY="sk-..."   # OpenAI 사용 시 필수
export LLAMA_INDEX_CACHE_DIR="~/.cache/llamaindex"  # 옵션

2-3. 로컬 LLM·임베딩 대안

인터넷 없이도 돌리고 싶다면:

pip install llama-index-llms-ollama \
            llama-index-embeddings-huggingface \
            sentence-transformers
  • Ollama: ollama run llama3.1
  • HuggingFace 임베딩: BAAI/bge-small-en-v1.5 등

3. 라마인덱스 사용법 – 필수 API 흐름

  1. 모델 지정 → Settings.llm / Settings.embed_model
  2. 문서 로드 → SimpleDirectoryReader("data").load_data()
  3. 인덱스 빌드 → VectorStoreIndex.from_documents(docs)
  4. 쿼리 엔진 → query_engine = index.as_query_engine()
  5. 질의응답 → query_engine.query("질문")

인덱스를 storage_context.persist()로 저장해 두면, 재시작 시 load_index_from_storage()로 곧바로 재사용 가능하니 비용·시간을 절감할 수 있습니다.

 

 

 

LlamaIndex OpenAI

 

 

 


4. 파이썬 예제코드 – 벡터 스토어부터 에이전트까지

4-1. 기본 벡터 스토어 구축

import os
os.environ["OPENAI_API_KEY"] = "YOUR_KEY"

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

docs = SimpleDirectoryReader("docs").load_data()
index = VectorStoreIndex.from_documents(docs)

4-2. 로컬 LLM + HuggingFace 임베딩

from llama_index.core import Settings
from llama_index.llms.ollama import Ollama
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

Settings.llm = Ollama(model="llama3.1")
Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5")

4-3. 함수 호출 에이전트 워크플로

from llama_index.core.agent.workflow import FunctionAgent

def multiply(a: float, b: float) -> float:
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=Ollama(model="llama3.1"),
    system_prompt="두 숫자를 곱해 드립니다."
)

print(agent.run("1234×4567은?"))

4-4. End-to-End 질의응답 시스템

from llama_index.core import (
    SimpleDirectoryReader, VectorStoreIndex,
    StorageContext, load_index_from_storage
)

# ① 인덱스 생성
index = VectorStoreIndex.from_documents(
    SimpleDirectoryReader("data").load_data()
)
index.storage_context.persist()

# ② 로드 후 질의
storage = StorageContext.from_defaults(persist_dir="./storage")
qa_index = load_index_from_storage(storage)
print(qa_index.as_query_engine().query("LlamaIndex 장점은?"))

 

 

 

 

 

 

LlamaIndex 깃허브

5. 깃허브 링크 & 커뮤니티 리소스

  • 공식 GitHub: github.com/run-llama/llama_index – 매일 커밋이 올라오는 활발한 저장소입니다. (GitHub)
  • 문서 사이트: llamaindex.ai – 빠른 시작 튜토리얼과 300 + 통합 패키지 목록 제공. (llamaindex.ai)
  • 사용 사례 비교: LangChain vs. LlamaIndex, Pathway 리포트 등에서 장단점을 확인하면 도구 선택에 도움이 됩니다. (Medium, Pathway)

6. 결론 – 왜 지금 라마인덱스를 배워야 할까?

  • RAG 표준화: 기업·스타트업 모두 ‘검색 증강 생성’이 필수 기술로 자리 잡음.
  • 생산성 폭증: 데이터 커넥터 → 인덱스 → 질의엔진까지 한 몸체처럼 연결.
  • 확장성: 로컬 노트북부터 클라우드까지, 그리고 LlamaCloud까지 손쉽게 이식.
  • 커뮤니티 파워: 하루 수백 커밋·수천 스타로 검증된 오픈소스 에코시스템.

다가올 생성형 AI 시대에 데이터 오케스트레이션을 선점하고 싶다면, 오늘 바로 라마인덱스를 설치해 작은 POC(Proof of Concept)부터 시작해 보세요. 여러분의 질문 한 줄이 곧 지식 관리 자동화의 첫 단추가 될 것입니다.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://docs.llamaindex.ai/en/stable/

 

LlamaIndex - LlamaIndex

Welcome to LlamaIndex 🦙 ! LlamaIndex is the leading framework for building LLM-powered agents over your data with LLMs and workflows. Introduction What is context augmentation? What are agents and workflows? How does LlamaIndex help build them? Use case

docs.llamaindex.ai

 

 

LlamaIndex 아이콘

반응형