본문 바로가기
🤖 AI/AI

🦙 LlamaIndex - RAG 정리

by 정람지 2024. 5. 10.
 

High-Level Concepts (RAG) - LlamaIndex

High-Level Concepts (RAG) This is a quick guide to the high-level concepts you'll encounter frequently when building LLM applications. Retrieval Augmented Generation (RAG) LLMs are trained on enormous bodies of data but they aren't trained on your data. Re

docs.llamaindex.ai

 

RAG에서는 여러분의 데이터가 로드되어 쿼리를 위해 준비되거나 "인덱싱"됨

사용자 쿼리는 인덱스에서 작동하여 데이터를 가장 관련 있는 맥락으로 필터링

이 맥락과 여러분의 쿼리는 LLM과 함께 프롬프트와 함께 LLM에 전달되며, LLM은 응답을 제공


🦙 LlamaIndex - 다섯 가지 주요 단계


Loading:

데이터 — 텍스트 파일, PDF, 다른 웹사이트, 데이터베이스 또는 API — 에서 자신의 파이프라인으로 가져오는 것을 의미

- LlamaHub은 선택할 수 있는 수백 개의 커넥터를 제공

 

Nodes and Documents:

문서는 어떤 데이터 소스 주위에 있는 컨테이너

노드는 LlamaIndex에서 데이터의 원자 단위이며 소스 문서의 "조각"을 나타냄 ( 노드는 문서 내부 및 다른 노드와 관련된 메타데이터를 가짐)

 

Connectors:

다양한 데이터 소스 및 데이터 형식에서 문서 및 노드로 데이터를 가져옴


Indexing:

데이터를 쿼리할 수 있는 데이터 구조를 생성하는 것을 의미

데이터의 의미를 수치적으로 나타내는 벡터 임베딩을 생성하는 것을 의미

 

Indexes:

데이터를 가져온 후에 데이터를 쉽게 검색할 수 있는 구조로 인덱싱

일반적으로 벡터 임베딩을 생성하는 것을 포함하며, 이는 벡터 저장소라고 하는 전문 데이터베이스에 저장

인덱스는 또한 데이터에 대한 다양한 메타데이터를 저장할 수 있음

 

Embeddings :

LLM은 데이터의 수치적 표현을 생성하는 임베딩을 생성

관련성 있는 데이터를 필터링할 때, LlamaIndex는 쿼리를 임베딩으로 변환하고, 벡터 저장소는 쿼리의 임베딩과 수치적으로 유사한 데이터를 찾음


Storing:

데이터가 인덱싱되면  다시 인덱싱할 필요가 없도록 인덱스와 기타 메타데이터를 저장


Querying:

주어진 인덱싱 전략에 대해 LLM과 LlamaIndex 데이터 구조를 사용하여 쿼리를 수행할 수 있는 많은 방법

 

Retrievers:

주어진 쿼리에 대해 인덱스에서 관련 맥락을 효율적으로 검색하는 방법을 정의

 

Routers:

지식 기반에서 관련 맥락을 검색하는 데 사용될 검색기를 결정

 

Node Postprocessors:

노드 후처리기

검색된 노드 세트를 가져와 변환, 필터링 또는 재순위 지정 로직을 적용

 

Response Synthesizers:

응답 합성기

사용자 쿼리와 주어진 검색된 텍스트 조각 집합을 사용하여 LLM에서 응답을 생성


Evaluation:

쿼리에 대한 응답이 얼마나 정확하고 충실하며 빠른지에 대한 객관적인 측정을 제공


 

데이터 기반 LLM 애플리케이션을 위한 사용 사례

 

Query Engines:

쿼리 엔진은 데이터에 대해 질문을 할 수 있는 종단 간 파이프라인

자연어 쿼리를 받아들이고, 응답과 함께 검색 및 전달된 참조 맥락을 반환

 

Chat Engines:

채팅 엔진은 데이터와의 대화(단일 질문 및 답변 대신 여러 번의 왕복)를 위한 종단 간 파이프라인

 

Agents:

에이전트는 세트 도구를 통해 세상과 상호 작용하는 LLM으로 구동되는 자동화된 의사 결정자

에이전트는 주어진 작업을 완료하기 위해 임의의 수의 단계를 수행할 수 있으며, 사전에 결정된 단계를 따르기보다는 최상의 행동 과정을 동적으로 결정 (더 복잡한 작업을 처리할 수 있는 추가적인 유연성)

'🤖 AI > AI' 카테고리의 다른 글

🦙LlamaIndex 써보기  (0) 2024.05.18
🌷구축형 AI 환경 세팅하기2 🌷  (2) 2024.05.16
🦜langchain - RAG 정리  (2) 2024.05.10
🪻구축형 AI 환경 세팅하기 🪻  (1) 2024.04.08
✅ Viuron - Kia_EV6_RAG  (0) 2024.04.01