•
LLM 어플리케이션 개발에서 중요한 개념
1.
LLM
2.
검색-증강-생성
•
Retrieval
1.
데이터를 가져오는것
2.
구체적으로는 “컴퓨터 시스템에 저장된 자료를 취득하는 것” 이라는 뜻도 있음
3.
언어모델이 가지고 있지 않은 정보를 가져오는 것
a.
언어모델이 아웃풋을 만드는데 필요한 정보를 제공하는 것
b.
언어모델이 답변 생성에 능숙하지만 답변 생성을 위한 모든 정보를 가지고 있지는 않음
i.
보안이 걸려있는 사내자료
ii.
GPT4는 23년 10월까지의 정보를 가지고 있음
•
Augmented
1.
AR/VR에 사용되는 것과 같은 단어
2.
마치 사실인 것처럼.. (포켓몬고)
3.
Retrieval된 데이터를 LLM에게 주면서, “마치 이 정보를 아는 것 처럼”
•
Generation
1.
생성
2.
내가 가져온 데이터를 제공할테니, 이 정보를 아는 것처럼 “답변을 생성해라”
1.
이제 우리의 고민은?
a.
답변을 생성하는 것은 LLM의 역할
b.
우리는 데이터를 잘 가져와서
c.
LLM에게 잘 전달해야함
2.
데이터를 잘 가져오려면?
a.
일단 잘 저장해야함
b.
잘 저장하는 것이 매우 매우 어려움 → 제일 중요한 부분
3.
잘 전달하려면?
a.
프롬프트를 잘 활용해야함
b.
문맥을 어떻게 제공할 것인가도 매우 중요
c.
잘 가져오더라도 제대로 전달하지 못하면 LLM이 올바른 답변을 주지 못함
i.
LangChain 활용의 강점 : 랭체인 자체적으로 제공하는 기능들


