Recent Notes
284 notes
프로덕션 환경에서 LLM 기반 Text-to-SQL을 구축하면서 배운 것들. 동적 스키마 조회, COMMENT 기반 zero-shot, 보안 레이어, 그리고 52문항 5모델 Eval 결과까지 정리한다.
TTY 감지 기반 출력 전환, score 출력 스키마 설계, exit code 의미 분리, 자동 다운로드의 부작용 관리까지 — CLI에서 사용성은 기능 추가가 아니라 설계 규칙과 계약의 문제다.
280개 한국어+영어 블로그 포스트를 테스트베드로 활용하여 다양한 검색 방법론을 실험하는 시리즈의 첫 번째 글. 키워드 검색부터 벡터 검색, 하이브리드 검색까지 각 방법의 원리를 정리하고, 실험 설계와 평가 기준을 수립한다.
Clidex의 검색 알고리즘 버그 수정(fuzzy anchor, synonym gate, edit distance), 테스트를 adversarial fixture + 실제 인덱스 기반으로 강화하고, crates.io/PyPI 데이터 소스를 확장한 과정.
AI 파이프라인의 반복되는 작업을 블록 단위로 정의하고, 조합하고, 어디서든 재사용할 수 있게 하는 Python 라이브러리
OpenDataLoader PDF v2.1.1의 READoc 벤치마크 결과와 파싱 예시를 분석한다. Java 기반 Apache 2.0 파서로, 72.6% Edit Similarity에 ~3초/문서 속도를 보여주지만, 테이블 구조 보존과 수식 LaTeX 변환에 한계가 있다.
Docling v2.81.0의 내부 구조를 분석하고 READoc 벤치마크로 성능을 평가한다. IBM Research가 개발한 MIT 라이선스 파서로, Heron 레이아웃 모델과 Granite-Docling VLM을 사용하며, GPU 없이 4.9초/문서에 74.3% Edit Similarity를 달성한다.
LiteParse는 LlamaIndex가 LlamaParse의 오픈소스 코어로 공개한 TypeScript 기반 PDF 파서다. PDF.js + Tesseract.js로 구현되어 ML 모델 없이 0.1초/문서의 극한 속도를 달성하지만, Markdown 구조화 없이 순수 텍스트만 추출하는 한계가 있다. READoc 벤치마크 결과 50.7%로 구조화 파서 대비 낮은 품질.
Marker v1.10.1의 내부 구조를 분석하고 READoc 벤치마크로 성능을 평가한다. Surya OCR 기반의 ML 파서로, 성공한 문서에서 80.6% Edit Similarity(5개 파서 중 최고)를 달성하지만, 63%의 문서에서 에러가 발생하여 안정성에 문제가 있다.
OmniDocBench(CVPR 2025)로 MinerU, Docling, Marker 3개 파서의 요소별 파싱 성능을 측정한다. 텍스트 정확도, 테이블 TEDS, 수식 인식, 읽기 순서를 분리하여 평가하며, MinerU가 텍스트/테이블/읽기순서에서 압도적 1위, Marker는 수식에서 강점을 보인다.