Rag 썸네일형 리스트형 [RAG] RAPTOR(Recrusive Abstractive Processing for Tree-Organized Retrieval) Parth Sarthi et al. 2024 오늘은 올해 발행되어, RAG 시스템의 개선 아이디어를 제시한 'RAPTOR' 논문에 대해 자세히 리뷰해보려 한다. 0. 어원먼저, RAPTOR의 어원을 먼저 살펴보자.페이퍼 타이틀인 "RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL"를직역하면, "트리로 구성된 검색을 위한 재귀적 추상 처리"로 번역할 수 있는데,뒤에 설명하겠지만, 해당 논문은 RAG를 위한 데이터 구축 방식 및 검색 방법론을 설명하고있고, 여기서는 '트리'와 '재귀적 추상'이라는 키워드에 대해서만 주목하고 넘어가면 될 것 같다.만약, RAPTOR의 동작방식에 대해서만 빠르게 이해하고자한다면, 아래의 "2.그렇다면, RAPTOR란 무엇인가?" 의프로세스 부분만 읽어도 무방하다.. 더보기 Llama3-70B(Llama-cpp)로 Langchain Function Call 구현하기 오늘은 Llama-cpp와 Langchain을 이용해서 llama3 모델로 Function Call을 구현하는 과정에 대해 리뷰해보려고한다.구현 과정에서 여러 삽질을 좀 한 관계로, 비슷한 시도를 하는 분들이 있다면,시행착오를 줄였으면 하는 바램으로 진행과정을 정리해본다. 1. 왜 Langchain을 사용했는가?최근 구현되고 있는 챗봇들의 경우, 단순 질문에 대한 답변뿐아니라, 유저의 지시사항을 반영(action)할 수 있는복합적인 동작과 기능을 제공하고 있다.이와 같이 유저의 의도에 맞는 정확한 피드백을 제공하기 위해서는 LLM, RAG, Function call을 포함한 다양한 기술을 통해 답변을 처리할 수 있는 Agent 방식을 기반으로 동작하도록 챗봇을 구현해야하는데, Agent 개발을 가장 .. 더보기 Vector DB란 무엇일까? 그리고 어떤 Vector DB를 사용해야할까? (2) 이전 글에서는 Vector DB가 무엇인지와 Vector DB에서 데이터를 검색하기 위한 방법들에 대해서 알아보았다. 오늘은 Vector DB의 종류들과 특성, 장단점에 대해 분석해보려 한다. 3. 어떤 Vector DB를 사용해야할까? VectorDB를 선택할때는 현재 진행하는 서비스 또는 프로젝트의 상황과 환경에 비추어 적절한 DB를 선택할 수 있어야 한다. 따라서, Vector DB의 여러 요소들을 살펴, 적합한 DB를 선택해야하는데, 아래 기준들을 면밀히 살펴봐야한다. 1) 성능과 속도 : 검색 속도 대규모 데이터셋에서 검색 속도는 가장 중요한 요소 중 하나이다. 검색 알고리즘의 효율성과 데이터 인덱싱 방법이 검색 속도에 큰 영향을 미치게 된다. : 삽입 및 업데이트 속도 데이터의 삽입과 업데이트.. 더보기 이전 1 다음