Search

Data Connection(or Index)

대분류
인공지능/데이터
프레임워크
소분류
LangChain/RAG
유형
LangChain
부유형
Main Module Detail
최종 편집 일시
2024/10/27 15:16
생성 일시
2024/10/25 06:32
14 more properties

Data Connection(or Index)

애플리케이션별 데이터와의 인터페이스
많은 LLM 애플리케이션에는 모델 훈련 세트의 일부가 아닌 사용자별 데이터가 필요
LangChain은 데이터를 로드, 변환, 저장 및 쿼리할 수 있는 빌딩 블록을 제공
Document loaders: 다양한 소스에서 문서 불러오기
Document transformers: 문서분할, Q&A형식으로 문서 변환, 중복 문서 작세 등 다양한 작업 수행
Text Splitters: 문서가 너무 길어서 LLM에 한 번에 입력이 어려운 경우 사용
Text embedding models: 비정형 텍스트를 float 숫자 목록으로 변환
Vector stores: embedding된 데이터 저장 및 검색
Retrievers: 문자열을 받아서 document 목록을 반환
LangChain에서 데이터를 처리하는 전체적인 흐름을 설명하는 도식

1. Source (데이터 소스)

설명
데이터 소스는 다양한 형식의 원본 데이터를 의미
여기에는 텍스트 문서, 이미지, 비디오, 오디오, 소셜 미디어 게시물 등 다양한 데이터 형식이 포함된다.
예시: PDF 파일, 웹사이트, 트위터 글, 데이터베이스 등.
역할: 이 단계는 데이터를 수집하는 역할을 합니다.

2. Load (데이터 로드)

설명
데이터를 LangChain으로 불러오는 단계
다양한 소스에서 데이터를 불러오기 위한 Document Loaders가 사용된다.
Document loaders: 여러 소스에서 문서를 불러오는 모듈 예를 들어 웹에서 데이터를 크롤링하거나 PDF 파일을 불러올 때 사용
역할: 이 단계는 소스에서 데이터를 가져와 시스템에 로드하는 역할을 한다.

3. Transform (데이터 변환)

설명
데이터를 필요한 형태로 변환하는 단계
Document TransformersText Splitters를 사용하여 문서를 분할하거나, 중복된 내용을 처리하고, 필요에 맞게 데이터를 조정합니다.
Document transformers: 문서를 분할하고, 중복된 데이터를 처리하는 등 다양한 변환 작업을 수행
Text Splitters: 문서가 너무 길어 모델이 한 번에 처리하기 어려울 경우, 문서를 적절한 크기로 분할하는 역할
역할: 데이터를 효율적으로 처리할 수 있도록 구조화하고 최적화한다.

4. Embed (임베딩)

설명
텍스트를 임베딩(Embedding) 벡터로 변환하는 단계
비정형 텍스트를 수치화하여 벡터 형태로 표현하고, 이를 통해 의미적 유사성을 계산할 수 있다.
Text embedding models: 비정형 텍스트 데이터를 고차원 벡터로 변환하여 임베딩함. 예를 들어, 텍스트 데이터를 숫자의 리스트로 변환하여 컴퓨터가 이해할 수 있는 형태로 만든다.
역할: 텍스트 데이터를 숫자로 변환하여 나중에 검색할 수 있도록 준비한다.

5. Store (저장)

설명
변환된 임베딩 데이터를 벡터 저장소(Vector Store)에 저장하는 단계
벡터 저장소는 임베딩된 데이터를 효율적으로 저장하고 검색할 수 있는 기능을 제공
Vector stores: 임베딩된 데이터를 저장하고 나중에 빠르게 검색할 수 있는 데이터베이스 역할
역할: 임베딩된 데이터를 저장하여 나중에 검색 요청에 사용할 수 있도록 준비한다.

6. Retrieve (검색)

설명
검색기(Retriever)가 사용자의 질의에 맞는 데이터를 벡터 저장소에서 검색
검색된 결과는 원본 텍스트나 문서 형식으로 변환
Retrievers: 사용자가 입력한 문자열(질문 또는 키워드)을 받아서 관련된 문서 목록을 반환
역할: 벡터 저장소에서 의미적으로 관련된 데이터를 검색하여 사용자에게 전달