RAG에서는 여러분의 데이터가 로드되어 쿼리를 위해 준비되거나 "인덱싱"됨
사용자 쿼리는 인덱스에서 작동하여 데이터를 가장 관련 있는 맥락으로 필터링
이 맥락과 여러분의 쿼리는 LLM과 함께 프롬프트와 함께 LLM에 전달되며, LLM은 응답을 제공
🦙 LlamaIndex - 다섯 가지 주요 단계
Loading:
데이터 — 텍스트 파일, PDF, 다른 웹사이트, 데이터베이스 또는 API — 에서 자신의 파이프라인으로 가져오는 것을 의미
- LlamaHub은 선택할 수 있는 수백 개의 커넥터를 제공
문서는 어떤 데이터 소스 주위에 있는 컨테이너
노드는 LlamaIndex에서 데이터의 원자 단위이며 소스 문서의 "조각"을 나타냄 ( 노드는 문서 내부 및 다른 노드와 관련된 메타데이터를 가짐)
다양한 데이터 소스 및 데이터 형식에서 문서 및 노드로 데이터를 가져옴
Indexing:
데이터를 쿼리할 수 있는 데이터 구조를 생성하는 것을 의미
데이터의 의미를 수치적으로 나타내는 벡터 임베딩을 생성하는 것을 의미
데이터를 가져온 후에 데이터를 쉽게 검색할 수 있는 구조로 인덱싱
일반적으로 벡터 임베딩을 생성하는 것을 포함하며, 이는 벡터 저장소라고 하는 전문 데이터베이스에 저장
인덱스는 또한 데이터에 대한 다양한 메타데이터를 저장할 수 있음
LLM은 데이터의 수치적 표현을 생성하는 임베딩을 생성
관련성 있는 데이터를 필터링할 때, LlamaIndex는 쿼리를 임베딩으로 변환하고, 벡터 저장소는 쿼리의 임베딩과 수치적으로 유사한 데이터를 찾음
Storing:
데이터가 인덱싱되면 다시 인덱싱할 필요가 없도록 인덱스와 기타 메타데이터를 저장
Querying:
주어진 인덱싱 전략에 대해 LLM과 LlamaIndex 데이터 구조를 사용하여 쿼리를 수행할 수 있는 많은 방법
주어진 쿼리에 대해 인덱스에서 관련 맥락을 효율적으로 검색하는 방법을 정의
지식 기반에서 관련 맥락을 검색하는 데 사용될 검색기를 결정
노드 후처리기
검색된 노드 세트를 가져와 변환, 필터링 또는 재순위 지정 로직을 적용
응답 합성기
사용자 쿼리와 주어진 검색된 텍스트 조각 집합을 사용하여 LLM에서 응답을 생성
Evaluation:
쿼리에 대한 응답이 얼마나 정확하고 충실하며 빠른지에 대한 객관적인 측정을 제공
데이터 기반 LLM 애플리케이션을 위한 사용 사례
쿼리 엔진은 데이터에 대해 질문을 할 수 있는 종단 간 파이프라인
자연어 쿼리를 받아들이고, 응답과 함께 검색 및 전달된 참조 맥락을 반환
채팅 엔진은 데이터와의 대화(단일 질문 및 답변 대신 여러 번의 왕복)를 위한 종단 간 파이프라인
에이전트는 세트 도구를 통해 세상과 상호 작용하는 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 |