▶️16

[영상] GPT-4o 멀티모달 RAG 구현하기

Day 2: Hybrid Search

학습 목표
  • GPT-4o Vision의 이미지 이해를 RAG 파이프라인에 통합하는 세 가지 패턴을 설명할 수 있다
  • 이미지·표·텍스트를 각각 요약해 통합 인덱스에 저장하는 멀티모달 청킹 전략을 설계할 수 있다
  • 제조 도면 PDF에서 텍스트와 이미지를 추출·임베딩하는 코드 흐름을 작성할 수 있다
  • 멀티모달 도입 효과를 남의 수치가 아니라 자기 문서와 질문 세트로 재는 방법을 설명할 수 있다

영상 핵심 정리 — GPT-4o 멀티모달 RAG

멀티모달 RAG 3가지 패턴

패턴방식장점단점
①텍스트 요약 인덱싱이미지→LLM→요약→임베딩기존 파이프라인 재사용정보 손실
②별도 이미지 인덱스CLIP 임베딩 별도 DB원본 이미지 검색복잡도↑
③멀티벡터 통합텍스트+이미지 동시 임베딩크로스모달모델 제한

제조 도면 RAG는 패턴 ①이 실용적.

이미지→텍스트 요약

import base64, openai

def image_to_summary(image_path):
    with open(image_path, 'rb') as f:
        b64 = base64.b64encode(f.read()).decode()
    client = openai.OpenAI()
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[{'role': 'user', 'content': [
            {'type': 'image_url',
             'image_url': {'url': f'data:image/png;base64,{b64}'}},
            {'type': 'text',
             'text': '이 제조 도면에서 부품 번호, 재질, 허용 공차를 JSON으로 추출하라'}
        ]}]
    )
    return resp.choices[0].message.content

PDF 파싱 파이프라인

PDF 입력
  └─ unstructured.partition_pdf()
       ├─ TextElement  → 기존 청킹 → 임베딩
       ├─ TableElement → HTML 표 → LLM 요약 → 임베딩
       └─ ImageElement → base64 → GPT-4o Vision → 요약 → 임베딩

모든 요소 → 단일 Vectorstore (메타데이터 type, page 포함)

성능 비교는 이렇게 적는다

멀티모달을 붙이면 Context Recall 이 오른다는 것은 방향이지 값이 아니다. 얼마나 오르는지는 문서 구성·질문 세트·임베딩 모델·심판 LLM 이 함께 정한다. 그러므로 남의 숫자를 옮겨 적지 말고 아래 표를 직접 채워라.

지표텍스트 전용멀티모달함께 적을 것
Context Recall문서 몇 권 · 질문 몇 개
Faithfulness심판 LLM 이름과 버전
Answer Correctness정답을 누가 작성했는가

측정 조건을 뺀 채 「0.71 → 0.89」로 채워 두면, 그 숫자가 사내 보고서로 옮겨 갈 때 근거를 잃는다. 재직자 과정에서 이 위험은 다른 어떤 오류보다 크다.

함정 주의: GPT-4o 로 이미지를 분석하면 텍스트만 넣을 때보다 토큰이 크게 늘어난다. 정확한 배수는 이미지 해상도와 detail 설정이 정하므로, OpenAI 요금 페이지의 이미지 토큰 계산식으로 당신 문서에 맞춰 직접 계산하라. 색인 시점에 미리 요약해 두고 검색 시에는 텍스트 임베딩만 쓰는 것이 비용 통제의 기본이다.

다음 task와의 연결

'Hybrid Search 엔진 구현'에서 오늘 만든 멀티모달 인덱스에 BM25 키워드 검색을 더해 두 결과를 Score Fusion 과 RRF 로 결합한다.

AI로 학습하기 — 꿀팁
멀티모달 RAG 이미지 처리 코드 생성AI 학습 팁

AI 에이전트에게 GPT-4o 멀티모달 RAG에서 제조 불량 이미지를 base64 인코딩해 처리하는 코드를 작성하게 하고, unstructured 라이브러리로 PDF 표·이미지를 분리 추출하는 방법을 검토하세요.

제조 불량 검사 보고서(이미지+텍스트 혼합 PDF)를 처리하는 GPT-4o 멀티모달 RAG 파이프라인을 구현해줘. unstructured 라이브러리로 PDF에서 표와 이미지를 자동 분리 추출하고, 불량 이미지를 base64 인코딩해 GPT-4o 메시지에 첨부하는 코드를 작성해줘. 이미지→텍스트 요약 후 인덱싱하는 패턴과 이미지 임베딩을 별도로 저장하는 패턴의 장단점도 비교해줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • 멀티모달 3패턴: ①이미지→텍스트 요약 후 인덱싱, ②이미지 임베딩 별도, ③멀티벡터
  • GPT-4o: 이미지 base64 인코딩 후 메시지에 첨부
  • unstructured 라이브러리: PDF에서 표·이미지 자동 분리 추출
  • 멀티모달을 붙이면 도면·표에만 있던 근거가 검색 대상이 된다. 얼마나 오르는지는 문서 구성과 질문 세트가 정하므로 직접 재야 안다
용어