Rag 2

반쪽짜리 Contextual Retrieval로 RAG 강화 해보기

2024년 9월 20일, Anthropic은 Contextual Retrieval이라는 개념을 제시했다. Contextual Retrieval은 기존의 RAG의 검색 성공률을 향상시키기 위한 방법으로, Contextual Embeddings와 Contextual BM25의 두가지 하위 기술을 사용한다. Anthropic에 따르면 이 방법을 이용할 경우 실패한 검색 수를 49%까지 줄일 수 있으며, ReRanking과 함께 사용하면 67%까지 줄일 수 있다고한다. 최근에는 RAG에 이어 CAG(Cache-Augmented Generation)도 등장했다. CAG는 더 길어진 LLM의 Context Window를 충분히 활용하여, 검색 증강하려는 문서의 전체 내용이 Context Window에 들어갈 수 있..

Langchain으로 간단한 RAG 구현하기

Langchain으로 소설 "난쟁이가 쏘아올린 작은 공" PDF 문서에 대한 답변을 제공해 줄 수 있는 간단한 RAG 애플리케이션을 구현했다. (코드에 대한 설명은 Gist 주석으로 대신한다.) 아직 잘 모르는 상태로 무작정 다이브했으니, 간단하게 개념을 정리하겠다. LLM이 답변을 지어내는 것을 방지하고, 커스텀한 컨텍스트 제공을 위해 LLM을 이용한 챗봇에는 검색증강생성(RAG)라는 기술을 사용한다. RAG 애플리케이션은 일반적으로 두 구성요소로 이루어진다. 1. 인덱싱(Indexing) - 소스에서 데이터를 수집하고 인덱싱하는 과정2. 검색과 생성(Retrieval and generation) - 유저에게 쿼리를 받아서 인덱스에서 관련 데이터를 찾아 모델에게 전달하는 실질적인 RAG 체인이다. 인..

1