llama_index: 무엇인지, 어떤 문제를 해결하며, 왜 인기를 얻고 있는지

llama_index: 무엇인지, 어떤 문제를 해결하며, 왜 인기를 얻고 있는지

해결하는 문제

LlamaIndex는 대규모 언어 모델(LLMs)을 개인 데이터로 보강하기 위해 설계된 데이터 프레임워크입니다. LLM이 사전 학습된 공개 데이터에만 국한된다는 문제를 해결하기 위해, 지식 보강 생성(knowledge-augmented generation)을 위한 개인 정보를 수집, 구조화 및 검색할 수 있는 툴킷을 제공합니다.

작동 방식

LlamaIndex는 데이터와 LLM 사이의 간극을 메우기 위한 일련의 도구를 제공합니다:

  • Data Connectors: 다양한 소스 및 형식(PDFs, APIs, SQL 등)에서 데이터를 수집합니다.
  • Data Structuring: 데이터를 인덱스 또는 그래프로 구성하여 LLM이 사용할 수 있는 상태로 만듭니다.
  • Retrieval/Query Interface: LLM 프롬프트를 입력받아 검색된 개인 데이터를 기반으로 문맥이 보강된 출력을 반환하는 고급 인터페이스입니다.
  • Integrations: LangChain, Flask 또는 Docker와 같은 다른 애플리케이션 프레임워크와 원활하게 연결됩니다.

대상 사용자

  • Beginners: 몇 줄의 코드로 데이터를 수집하고 쿼리할 수 있는 고수준 API를 사용할 수 있는 사용자.
  • Advanced Users: 리트리버(retrievers), 쿼리 엔진(query engines), 리랭킹 모듈(reranking modules)과 같은 모듈을 사용자 정의하고 확장해야 하는 개발자.

주요 특징

  • LLMs, 임베딩(embeddings), 벡터 스토어(vector stores)를 위한 300개 이상의 통합 패키지.
  • 스타터 패키지(llama-index)와 사용자 정의 코어 패키지(llama-index-core) 모두 지원.
  • 효율적인 재로딩을 위해 데이터를 디스크에 저장할 수 있는 기능.
  • 에이전트형 OCR 및 구조화된 데이터 추출을 위한 LlamaParse와의 통합.

Sources