llama_index

LLM FrameworksCLIPython

★ 52,137주당 +105조회 4

무엇인가

LlamaIndex OSS는 사설 데이터를 LLM 애플리케이션에 연결하는 Python 데이터 프레임워크다. 원본 데이터 소스와 LLM 애플리케이션 사이에서 수집·구조화·검색 계층을 담당한다. 같은 저장소가 배포하는 상용 플랫폼 LlamaParse와는 별개로, 오픈소스 툴킷으로 계속 공개되어 있다.

어떻게 동작하나

동작은 세 단계로 나뉜다. 데이터 커넥터가 API, PDF, 문서, SQL 같은 기존 소스를 읽어 들이고, 인덱스와 그래프로 데이터를 구조화한 뒤, 검색·질의 인터페이스가 입력 프롬프트에 대해 검색된 컨텍스트와 지식 증강 출력을 돌려준다. 기본 저장소는 메모리이며, 디스크에 남기려면 `./storage` 아래로 영속화하고 다시 로드하는 호출을 쓴다. 패키지 이름공간은 import에 `core`가 들어가면 코어 패키지, 없으면 통합 패키지를 뜻한다.

무엇과 다른가

LangChain 같은 범용 오케스트레이션 프레임워크와 달리 데이터 수집과 인덱싱, 검색을 중심에 둔다. 외부 애플리케이션 프레임워크와 배타적이지 않아 LangChain, Flask, Docker, ChatGPT 등과 함께 쓸 수 있다. LlamaParse는 파싱·추출·인덱싱을 맡는 호스팅 플랫폼이고, 이 프레임워크는 그 위에 앱을 짓는 오픈소스 계층이다.

어떻게 쓰나

설치는 스타터 패키지 `llama-index`로 코어와 선별된 통합을 한 번에 받거나, `llama-index-core`만 설치하고 LlamaHub에서 필요한 통합 패키지를 고르는 두 갈래다. 이후 벡터 스토어 인덱스를 만들어 OpenAI나 Ollama 같은 LLM으로 질의하고, 필요하면 `./storage`에 저장하고 다시 로드한다.

전제와 한계

Python 라이브러리이며 LLM과 임베딩 제공자가 있어야 질의가 동작한다. 통합 패키지는 코어와 별도로 설치해야 하고, 새 통합은 기존 컴포넌트와 실질적으로 맞물려야 하며 유지관리자 판단으로 거절될 수 있다. `llama-index-core`에는 nltk와 tiktoken 캐시가 `_static` 폴더로 동봉되어 디스크 접근이 제한된 환경에서도 실행된다. README는 문서보다 갱신이 느리다.

관련 논문 3

유사 도구