한양대학교 박서연 교수님 - github.io
(한양대학교 박서연 교수님의 딥러닝 수업을 청강 하면서 정리한 내용을 바탕으로 교수님의 허락을 받고 작성하였습니다.)
Retrieval Augmented Generation (RAG)
*19강 - Retrieval Augmented Generation (RAG)

- Retrieval Augmented Generation : 검색을 증강해서 대답하는 것
- 추가적인 데이터에 대한 fine-tuning없이 LLM이 외부 지식(Website, PDF, 외부 문서 등)을 검색 시스템이 관련 있는 문서/링크만 골라서 리스트업함 → 이후 관련 정보를 모아서 요약·재구성해서 답변 생성
OpenAI Platform
- Custom Data to Vector Format
huggingface.co

- AG with Open Source HuggingFace Library (Embedding Model)


Build a RAG agent with LangChain - Docs by LangChain
Document loaders - Docs by LangChain
LangChain overview - Docs by LangChain
Vector stores - Docs by LangChain
Embedding models - Docs by LangChain
- Local DB such as FAISS by Meta
Faiss - Docs by LangChain
- Cloud DB쓴다면
- ElasticSearch, Weaviate, Pinecone (보안 조심해야함)

- 직접 LLM을 구성할때는 chat History를 Maintaining해야한다 → GPT는 기본적으로 되지만, 직접 만들경우 memory를 기억하는 부분을 넣어줘야함

- Retriever
- query와 문서를 vector로 embedding해서, dot product / cosine similarity 같은 방법으로 가장 유사한 문서들을 찾아오는 검색 모듈
- RAG에서 외부 knowledge(Website, PDF 등)를 LLM에게 가져다주는 역할을 담당함

- Contrastive Learning
- 아이디어 : 기준이 되는 샘플을 anchor라고 두고, anchor와 비슷한 샘플(positive), 다른 샘플(negative)을 구성한다.
- 학습 목표 : embedding / feature space에서 anchor–positive 쌍은 가깝게 위치하도록 만들고 anchor–negative 쌍은 멀어지도록 만드는 loss를 최소화한다.
- 직관 : “비슷한 것끼리는 모으고(끌어당기고), 다른 것끼리는 떼어놓는(밀어내는) 방식으로 representation을 학습하는 방법”이 바로 contrastive learning
- General Usage of LLMs (Reference)
Seoul, South Korea 14 day weather forecast