IT/영어 공부노트

[RAG] RAG 개념 및 구현 과정 본문

💻 IT/AI

[RAG] RAG 개념 및 구현 과정

소저어엉 2024. 7. 15. 18:44
반응형

<랭체인으로 LLM 기반의 AI 서비스 개발하기> 책을 읽고 정리한 내용으로, 
개인 공부 목적의 포스팅입니다.

 

~책 보러가기~

 


1.  RAG란?

RAG(Retrieval-Augmented Generation)는 LLM이 텍스트를 생성할 때 관련 정보를 찾아보고, 그 정보를 활용하여 새로운 텍스트를 만드는 기술로, LLM이 더 정확하고 신뢰할 수 있는 내용을 생성하도록 돕는다. 

What you should know about RAG (from beginner to advanced) ❘ by Jonathan Nguyen ❘ Medium


2.  RAG 과정

RAG는 정보검색과 텍스트 생성의 두 단계로 나뉜다. 

  • 정보검색 : AI가 대규모 정보로부터 관련 데이터를 찾음
  • 텍스트 생성 : 찾은 정보를 기반으로 새로운 텍스트 생성

1) 질문입력 → 2) 검색 → 3) 유사도 검색 → 4) 랭킹 처리 → 5)결과 반환/텍스트 생성

정보검색

1) 질문입력 

query : 사용자는 질문을 하거나 키워드를 입력한다. 

 

2) 검색

검색 엔진은 해당 쿼리와 관련된 정보를 데이터베이스나 인터넷에서 찾는다. 

 

3) 유사도 검색

검색 엔진은 쿼리와 데이터베이스에 있는 문서들 사이의 유사도를 계산한다. 이는 키워드 검색과 시맨틱 검색을 모두 포함한다. 

  • 키워드 검색 : 사용자가 입력한 단어나 구를 데이터베이스나 인터넷에서 직접 찾는 방식으로, 단순 키워드 존재 여부만을 기준으로 하기 때문에 관련 없는 결과가 나오는 경우도 있다. 
  • 시맨틱 검색 : 단어의 의미와 문맥을 이해하여 보다 관련성 높은 결과를 제공하는 기술로, 키워드 검색보다 훨씬 복잡하며 고도의 알고리즘과 자연어 처리 기술이 필요하다. 

4) 랭킹 처리

검색 결과로 찾아낸 문서들 중 어떤 것이 질문과 가장 관련이 높은지 결정하여 높은 순 대로 나열한다. 

  • 유사도계산 : 문서나 단어 사이의 관련성이나 유사성을 수치로 표현한다. 예로 각 단어나 문서를 수치화된 숫자인 벡터로 변환하여 벡터들 사이의 거리나 각도를 계산하여 유사도를 측정한다. 대표적으로 코사인 유사도를 사용한다. 
  • 문맥과 의도 파악 : 쿼리의 문맥과 의도를 고려하여 문서가 얼마나 관련 있는지 파악한다. 
  • 랭킹 산출 : 유사도, 문맥, 정보 품질 등 다양한 요소를 종합하여 최종 랭킹을 매긴다. 

 

텍스트 생성

5) 결과 반환(검색 엔진인 경우)

랭킹이 매겨진 문서 리스트를 사용자에게 보여준다. 

 

6) 텍스트 생성(LLM의 경우)

사용자의 질문과 검색 결과로 텍스트를 생성한다. 

 

 

반응형