1 분 소요

그동안 LLM RAG나 Agent 를 구축할 때, LangChain과 LlamaIndex 프레임워크를 많이 사용했다. 하지만 이 두개의 프레임워크가 어떠한 차이점이 궁금했는 데, 이를 한번 정리해 보겠다.

참고로 LlamaIndex와 LangChain은 RAG (Retrieval-Augmented Generation) 아키텍처를 기반으로 한 LLM 기반 애플리케이션 개발을 도와주는 프레임워크이지만, 역할이 다르다.

1. LangChain과 LlamaIndex 차이

항목 LlamaIndex LangChain
주요 목적 비정형 데이터(문서, PDF, DB 등)를 LLM에 쉽게 연결 다양한 LLM 앱을 구성하는 체인/워크플로우 프레임워크
초점 데이터 연결 및 인덱싱 LLM 기능 조합 및 파이프라인 구성
철학 “LLM을 위한 데이터 레이어” “LLM을 위한 파이프라인 엔진”

2. 기능적 차이

기능 영역 LlamaIndex LangChain
데이터 연결 파일, DB, API 등 다양한 소스에서 데이터를 불러오고 인덱싱 (DocumentLoader, VectorStore 등 내장) 외부 라이브러리를 통해 처리하거나 LlamaIndex와 연동
인덱싱 & 검색 자체 인덱스 구조 (VectorStoreIndex, TreeIndex, ListIndex 등)로 문맥 검색 최적화 주로 외부 vector DB나 LlamaIndex를 사용
LLM 호출 체인 구성 단일 프롬프트 기반 RAG 구조에 특화됨 다양한 체인 (LLMChain, AgentChain, ToolChain) 조합 가능
에이전트 시스템 기본적 또는 외부 LangChain Agent 활용 복잡한 LLM 기반 에이전트 시스템 지원 (Tool, ReAct 등)
유연성 RAG 구조에 특화된 간결한 API 복잡한 체인 로직, 에이전트 구성 등 유연한 확장 가능

3. 사용 예시

  LlamaIndex LangChain
  PDF, Notion, Google Docs → Embedding → LLM 질의 응답 질의 → 검색 → LLM → 요약 → Tool 호출 → 응답
  자체 문서에 최적화된 인덱스 구성으로 빠른 검색 및 응답 복잡한 대화형 에이전트 구축 (예: ChatGPT 플러그인 같은 구조)

4. 통합성

  • 실제로는 LlamaIndex + LangChain을 함께 사용하는 경우도 많음
    • LlamaIndex로 데이터 처리 및 인덱싱
    • LangChain으로 에이전트 및 전체 워크플로우 구성

5. 결론

정리 추천 사용 목적
LlamaIndex RAG 기반 검색 특화, 문서 기반 질문응답 시스템 구축에 탁월
LangChain 다양한 툴/에이전트/체인을 활용한 복합 LLM 앱 개발에 적합

댓글남기기