피드로 돌아가기
sds-converter: Converting Safety Data Sheets to MHLW Standard JSON with Rust and LLMs
Dev.toDev.to
AI/ML

Rust 기반 LLM 파이프라인을 통한 비정형 SDS의 MHLW 표준 JSON 변환

sds-converter: Converting Safety Data Sheets to MHLW Standard JSON with Rust and LLMs

kent-tokyo2026년 5월 22일7intermediate

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 데이터 추출 및 검증 프로세스 분리

원문 읽기