멀티모달 검색 증강 생성(RAG) 파이프라인 구현체
요약
본 저장소는 이미지, 오디오, 텍스트를 통합하여 고급 멀티모달 질의응답을 구현하는 RAG 파이프라인을 제공합니다. CLIP, Whisper, SentenceTransformer 등을 활용해 각 모달리티별 임베딩을 생성하고 ChromaDB에 저장한 후, Qwen-VL로 최종 텍스트 응답을 생성하는 과정을 담고 있습니다.
핵심 포인트
- 이미지/오디오/텍스트 통합 멀티모달 RAG 구현체 제공
- CLIP(이미지), Whisper(오디오 전사), SentenceTransformer(텍스트 임베딩) 활용
- ChromaDB를 벡터 저장소로 사용하며, Qwen-VL이 최종 생성 모델 역할 수행
- PDF에서 이미지 추출 및 오디오 처리를 포함하는 상세 파이프라인 제시
이 저장소는 이미지, 오디오, 그리고 텍스트를 통합하여 고급 멀티모달 질의 및 응답 생성을 위한 멀티모달 검색 증강 생성 (RAG) 파이프라인을 포함합니다. 이 파이프라인은 이미지 임베딩에 CLIP을, 오디오 전사(transcription)에 Whisper를, 텍스트 임베딩에 SentenceTransformer를, 벡터 저장소로 ChromaDB를, 그리고 멀티모달 텍스트 생성에 Qwen-VL을 사용합니다.
PDF에서 이미지 변환: PDF에서 이미지를 추출하여 처리합니다. CLIP을 이용한 이미지 임베딩: CLIP 모델을 사용하여 이미지의 임베딩을 생성합니다. Whisper를 이용한 오디오 전사: 오디오 파일을 텍스트 청크로 전사합니다. SentenceTransformer를 이용한 텍스트 임베딩: 전사된 오디오 청크에 대한 임베딩을 생성합니다. ChromaDB를 이용한 벡터 저장소: 이미지와 오디오의 임베딩을 저장하고 검색합니다. 멀티모달 질의: 사용자 질의를 기반으로 관련 이미지를 그리고 오디오 청크를 검색합니다. Qwen-VL을 이용한 멀티모달 텍스트 생성: 검색된 이미지, 오디오 및 질의를 사용하여 텍스트 응답을 생성합니다. 이미지 및 텍스트 출력: 검색된 이미지와 생성된 텍스트를 표시합니다.
PDF에서 이미지 추출: PDF를 이미지로 변환하고 저장합니다. CLIP을 사용한 이미지 임베딩: 추출된 이미지에 대한 임베딩을 생성합니다. ChromaDB에 이미지 임베딩 저장: 임베딩을 ChromaDB 컬렉션에 저장합니다. 오디오 처리: 오디오 파일을 전사하고 텍스트 청크에 대한 임베딩을 생성합니다. ChromaDB에 오디오 임베딩 저장: 임베딩을 ChromaDB 컬렉션에 저장합니다. 관련 데이터 검색: ChromaDB를 질의하여 관련 이미지와 오디오 청크를 검색합니다. 검색된 이미지 표시: 검색된 이미지를 사용자에게 표시합니다. Qwen-VL을 위한 멀티모달 입력 준비: 검색된 이미지, 오디오 및 질의를 결합합니다. Qwen-VL로 텍스트 생성: Qwen-VL을 사용하여 텍스트 응답을 생성합니다. 생성된 텍스트 출력: 최종 생성된 텍스트를 표시합니다.
-
Python 3.8 이상
-
GPU (더 빠른 처리를 권장함)
-
pdf2image: PDF를 이미지로 변환하는 라이브러리입니다.
-
Pillow: 이미지 처리를 위한 라이브러리입니다.
-
transformers: CLIP, Whisper, Qwen-VL 모델을 사용하는 데 사용됩니다.
-
sentence-transformers: 텍스트 임베딩 생성을 위해 사용됩니다.
-
chromadb: 벡터 저장 및 검색 기능을 제공합니다.
-
librosa: 오디오 처리를 위한 라이브러리입니다.
-
torch: 심층 학습 연산을 수행하는 라이브러리입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기