본문 바로가기
Python

[Python] RAG (Retrieval Augmented Genderation) 알아보기

by 잉나영 2024. 9. 27.
반응형

1. LLM 어플리케이션 개발에서 중요한 개념

  a. LLM 등장전 NLP에서부터 사용됨

  b. 우리말로 하면 검색-증강 생성

 

2. Retrieval 

 a. 데이터를 가져오는 것

 b. 구체적으로는 "컴퓨터 시스템에 저장된 자료를 취득하는 것" 이라는 뜻도 있음

 c. 언어모델이 가지고 있지 않은 정보를 가져오는 것

  ㄱ. 언어모델이 아웃풋을 만드는데 필요한 정보를 제공하는 것

  ㄴ. 언어모델이 "답변생성"에 능숙하지만, 답변 생성을 위한 모든 정보를 가지고 있지는 않음

   1) 보안이 걸려있는 사내 자료

   2) GPT4는 23년 10월까지의 정보를 가지고 있음

 

3. Augmented

 a.  AR/VR에 사용되는 것과 같은 단어

 b. 마치 사실인 것 처럼

 c. Retrieval된 데이터를 LLM에게 주면서, "마치 이 정보를 아는 것처럼"

 

4. Genderation

 a. 생성

 b. 내가 가져온 데이터를 제공할테니, 이 정보를 아는 것처럼, "답변을 생성해라"

 

 

5. 이제 우리의 고민은?

 a. 답변을 생성하는 것은 LLM의 역할

 b. 우리는 데이터를 잘 가져와서

 c. LLM에게 잘 전달해야함

 

6. 데이터를 잘 가져오려면?

 a. 일단 잘 저장해야함

 b. 잘 저장하는 것은 매우 어려움 - 제일 중요한 부분임!

  ㄱ. 부딪히면서 취득한 여러가지 잔기술들을 소개할 예정

 

7. 잘 전달하려면?

 a. 프롬프트를 잘 활용해야함

 b. 문맥을 어떻게 제공할 것인가도 매우 중요

 c. 잘 가져오더라도 제대로 전달하지 못하면 LLM이 올바른 답변을 주지 못함

  1) LangChain 활용의 장점 

 

 

 

반응형