사진 한 장으로 농약 제품 정보 검색! AI 렌즈 시스템 구축기

by DD
1일 전
조회수 12

70년 이상 축적된 농업 데이터 기반, 고령 농업인 대상 AI 챗봇 서비스 구축 배경 설명

스마트폰 촬영만으로 농약 제품 정보 검색을 위한 시각적 검색 시스템 고도화 프로젝트 착수

Vision LLM의 OCR 오류와 유사 제품명 혼동 문제를 해결하기 위한 다단계 시스템 설계

Amazon OpenSearch Service의 계층적 Fallback 검색과 LLM Reranker를 통한 최종 정확도 확보

Vision LLM 기반 농약 라벨 정보 추출 전략

본 시스템은 단순 OCR을 넘어 도메인 지식(Domain Knowledge)을 활용하여 농약 라벨에서 제품명, 등록번호, 제조사 등 구조화된 정보를 추출하는 데 Vision LLM을 활용함.

압축 JSON 포맷(Compressed JSON Format) 설계로 LLM 응답 토큰 최소화 및 처리 속도 최적화

프롬프트에 시각적 컨텍스트(Visual Context) 명시('가장 큰 텍스트')하여 디자인된 폰트 인식률 향상

이미지 상태 분류(CLEAR, ROTATED 등)를 통해 재촬영 유도 및 불필요한 처리 방지

결과적으로 Vision LLM은 결정론적 출력(Deterministic Output)을 위해 temperature 0.0으로 설정되었으며, 신뢰도 점수를 반환받아 후속 처리의 동적 조절에 활용됨.

OCR 오류 보완을 위한 TypoCorrector 및 Fallback 검색

Vision LLM의 OCR 결과 오류를 보완하기 위해 TypoCorrector계층적 Fallback 검색 전략을 적용함.

RapidFuzz 라이브러리(RapidFuzz Library)의 WRatio 스코어러를 활용하여 1~2글자 오타나 부분 인식 오류 보정

제품명은 threshold 75, 제조사는 80으로 설정하여 오매칭 위험 관리 및 보정된 필드 신뢰도 상향 조정

Amazon OpenSearch Service에서 Exact Match, Prefix/Suffix Match, Wildcard Match 등 다양한 검색 패턴을 bool should 쿼리로 조합하여 재현율(Recall) 확보에 집중

이러한 다단계 보완 구조는 단일 시스템 실패 가능성(Single Point of Failure)을 낮추고, 다양한 입력 품질에서도 안정적인 검색 결과를 제공하는 것을 목표로 함.

LLM Reranker를 통한 최종 검색 결과 순위 결정

Amazon OpenSearch Service가 추출한 30개 후보군에 대해 멀티모달 리랭킹(Multimodal Reranking)을 수행하여 최종 순위를 결정함.

Candidate Filtering 전략으로 Exact Match 후보 발견 시 처리 대상 압축, 비용 및 레이턴시(Latency) 최적화

Precision Reranking을 통해 동일 제품명 내 제형, 용량 등 미세 차이 최종 판별

LLM Reranker는 원본 이미지와 추출 정보를 함께 활용하여 의미적·시각적 유사성을 종합적으로 판단

이 3단계 파이프라인은 각 단계가 이전 단계의 약점을 보완하며, 정확도와 효율성 사이의 균형을 맞추는 데 중점을 둠.

데이터 파이프라인 및 Blue-Green 배포 전략

검색 품질 향상을 위해 ETL 파이프라인에서 다양한 표기 변형(Variations)을 미리 생성하고, 한국어 Nori Tokenizer 및 동의어 확장을 적용함.

등록번호, 제조사명 등 동일 정보의 다양한 표기(e.g., ‘(주)경농’, ‘경농(주)’)를 정규화하여 검색 누락 방지

Blue-Green 배포 전략을 사용하여 검색 서비스 중단 없이 인덱스 갱신 및 Alias 원자적 스위칭 구현

이전 인덱스 2개 보관으로 문제 발생 시 즉시 롤백(Rollback) 가능성 확보

이러한 데이터 관리 및 배포 전략은 서비스 가용성(Service Availability)을 높이고 데이터 품질을 지속적으로 유지하는 데 기여함.

AI 기반 통합 운영 콘솔 'Mega Dev Console'

Vision API, ETL Pipeline, Console 등 3개 서비스를 효율적으로 운영하기 위해 Next.js 15 기반 통합 관리 콘솔을 자체 개발함.

대화형 쿼리 자동 생성(Text-to-SQL/DSL) 기능으로 복잡한 쿼리 작성 부담 경감

AI 프롬프트 빌더를 활용한 AI 메타데이터 자동 생성으로 학습 데이터셋 구축 시간 단축

자연어 기반 파이프라인 스케줄링으로 Cron 표현식 자동 변환 및 Zero-Configuration 환경 구현

배치 이미지 OCR 정확도 정량 측정 및 검증을 위한 OCR 실험실 구축

이 통합 콘솔은 개발팀의 운영 부담을 줄이고 AI 기반 운영 자동화(AI-driven Operational Automation)를 실현함.

기술 선택: Claude Haiku, 키워드 검색 우선순위

Vision LLM 및 Reranker에는 Claude Haiku 4.5를 사용하여 비용과 응답 시간 최적화, Sonnet은 환경변수로 전환 가능하게 설계함.

외부 OCR 엔진(Upstage, EasyOCR, Tesseract)은 비용 및 성능 문제로 제외하고, 프롬프트 엔지니어링(Prompt Engineering)으로 목표 품질 달성

농약 제품명 도메인의 특성상 키워드 검색(Keyword Search, BM25)을 기본으로 하고 Wildcard Fallback을 보조로 사용

벡터 검색(Vector Search, Amazon Titan Text Embedding v2)은 고유명사 매칭 한계로 최종 비활성화

결론적으로, 모델의 완벽함보다 오차 복구 및 보완 구조에 집중한 시스템 설계가 성능, 비용, 사용자 경험 사이의 최적점을 찾는 핵심이었음.

Amazon Bedrock Vision LLM과 Amazon OpenSearch Service를 활용한 농약 제품 이미지 인식 시스템 구축기