본문 바로가기

RAG4

검색증강생성(RAG) - LangChain과 PGVector를 이용한 간단한 RAG 시스템 구축해보기 TL;DR이번 포스트에서는 벡터 DB 중, pgvector를 이용하여 간단한 RAG 시스템을 구축해봅니다. pgvector는 PostgreSQL에서 확장 기능(extension)으로 사용할 수 있는 오픈소스 벡터 DB 이며, 오픈소스임에도 불구하고 상용 벡터 DB에 준하는 성능을 보여줍니다.LangChain 프레임워크 상에서, PDF 파일을 벡터로 변환하여 pgvector에 저장하고 유사 문서를 검색하는 과정까지 수행해보겠습니다.   *샘플 PDF 파일 링크: https://www.dir.ca.gov/injuredworkerguidebook/InjuredWorkerGuidebook.pdf 먼저, 필요한 라이브러리들을 설치해주어야 합니다. LangChain은 LLM 기반 어플리케이션을 구축하는 데에 널리 .. 2024. 5. 13.
검색증강생성(RAG) - 벡터 인덱스 기초 및 IVF 2023.11.01 - [🔵 AI & ML] - 검색증강생성(RAG) 이해하기 - 01. 벡터 DB 기초 2024.01.27 - [🔵 AI & ML] - 검색증강생성(RAG) 이해하기 - 02. Ragas를 이용한 RAG 파이프라인 평가 TL; DR RAG 프레임워크에서는, 빠른 벡터 검색을 위해 임베딩한 벡터들을 사전에 군집화 또는 계층화 해놓는다. 이를 통해, 검색 시 모든 벡터를 대조할 필요가 없도록 데이터를 구성하는데 이러한 데이터 구조를 이를 '벡터 인덱스' 라 한다. 벡터 인덱싱 방법으로는 IVF(역파일 인덱스)와 HNSW(계층적 탐색이 가능한 작은 세계) 알고리즘이 가장 잘 알려져 있는데, 여기서는 IVF를 중심으로 설명하면서 벡터 인덱스의 기초가 되는 개념들을 함께 소개한다. 목차 더보기 .. 2024. 2. 12.
검색증강생성(RAG) - Ragas를 이용한 RAG 파이프라인 평가 2023.11.01 - [🔵 AI & ML] - 검색증강생성(RAG) 이해하기 - 01. 벡터 DB 기초 개념 TL;DR 이전 포스트에서 벡터 DB와 검색 증강 생성(RAG)에 대한 간단한 개념을 알아보았다. 그럼, 벡터 DB를 이용해 구축한 RAG 파이프라인을 어떻게 평가할 수 있을까? 언어 모델 자체의 평가에 있어서는 여러 지표가 알려져 있지만, 최근 주목받기 시작한 RAG 분야에 특화된 평가 지표는 확립되어 있지 않은 것 같다. 이 포스트에서는, RAG 파이프라인 평가 프레임워크인 Ragas를 참고하여 RAG의 평가 방법을 알아본다. * 이해를 돕기 위한 의역이 포함될 수 있습니다. Ragas Ragas(Retrieval-Augmented Generation Assessment)는 RAG 파이프라인.. 2024. 1. 27.
검색증강생성(RAG): 벡터 DB 기초 TL; DR 우리가 어떤 목적이나 데이터에 특화된 customized LLM 앱을 만들고 싶다고 해 보자. 그러면 사용자가 가진 데이터(예: 책, 대화 기록, 기술 문서 등)을 모델에게 추가로 학습시켜야 하는데, LLM을 학습시키는 것은 상당히 높은 컴퓨팅 자원을 요구한다. 그 뿐 아니라, LLM에 맞게 데이터셋과 코드를 별도로 구축해야 하는 번거로움이 있다. 이 때 하나의 대안이 되는 방법이 검색 증강 생성(RAG)이며, 벡터 DB는 RAG 프레임워크의 주요 구성 요소이다. 이 포스트에서는 먼저 RAG와 벡터 DB의 기초 개념과 그 활용 양상에 대해 간단히 살펴본다. 벡터 벡터는 길이와 방향을 가진 수학적 객체를 말한다. 이는 $n$차원 벡터 공간에서의 위치를 나타내며, 이 위치는 길이가 $n$인 1차.. 2023. 11. 1.