피드로 돌아가기
Dev.toAI/ML
원문 읽기
Rust 기반 LLM 파이프라인을 통한 비정형 SDS의 MHLW 표준 JSON 변환
sds-converter: Converting Safety Data Sheets to MHLW Standard JSON with Rust and LLMs
AI 요약
Context
제조사마다 상이한 SDS 문서의 섹션 순서와 표기법으로 인해 기존 Rule-based 파서로는 데이터 정규화 불가능. 특히 MHLW 표준 스키마의 의도적인 오타 포함 및 200여 개의 중첩 필드로 인한 엄격한 검증 제약 존재.
Technical Solution
- 비정형 텍스트 처리 한계를 극복하기 위한 LLM 기반 추출 아키텍처 채택
- 전체 16개 섹션을 두 그룹(1~9, 10~16)으로 분할하여 병렬 LLM 호출을 수행하는 Latency 최적화 설계
- API Rate-limit 대응을 위한 2s에서 최대 8s까지의 Exponential Backoff 리트라이 메커니즘 구현
LlmBackend트레이트를 통한 LLM 엔진 교체 가능 구조로 확장성 확보- MHLW JSON 스키마와 JIS Z 7253 표준 간의 양방향 변환(PDF/JSON/DOCX) 파이프라인 구축
- 텍스트 추출 단계와 LLM 추론 단계를 분리하여 디버깅 효율성을 높인
extract-text기능 제공
실천 포인트
- 대규모 스키마 추출 시 컨텍스트 윈도우 최적화와 Latency 감소를 위해 도메인 기반 병렬 요청 설계 검토 - 외부 API 의존 시스템 설계 시 지수 백오프(Exponential Backoff) 기반의 재시도 전략 필수 적용 - 엄격한 표준 스키마 준수를 위해 정규화 전 단계에서 Raw 데이터 추출 및 검증 프로세스 분리