기술 개요 (Technical Overview)

아키텍처 (Architecture)

Docling Translate는 확장성과 유지보수성을 고려한 모듈식 아키텍처를 따릅니다.

핵심 컴포넌트 (Core Components)

  1. Converter (src/converter.py):

    • docling 라이브러리를 사용하여 PDF, DOCX, PPTX 등 다양한 문서를 로드합니다.

    • 텍스트와 레이아웃 정보를 추출합니다.

    • 문서를 번역하기 적합한 중간 형태로 변환합니다.

  2. Translator (src/translator.py):

    • 다양한 번역 API(OpenAI, DeepL, Google Gemini) 및 로컬 LLM(Qwen, LFM2, Yanolja)과의 연동을 관리합니다.

    • API 사용량을 최적화하기 위해 텍스트를 분할하고 배치(Batch) 처리를 수행합니다.

    • 재시도 로직과 에러 처리를 구현합니다.

  3. HTML Generator (src/html_generator.py):

    • 원문과 번역문을 입력받습니다.

    • 인터랙티브한 HTML 파일을 생성합니다.

    • 분할 뷰(Split-view) 인터페이스를 위한 JavaScript와 CSS를 포함합니다.

  4. CLI & App (main.py, app.py):

    • main.py: 명령줄 인터페이스(CLI) 진입점입니다.

    • app.py: Streamlit 기반의 웹 애플리케이션입니다.

기술 스택 (Technologies Used)

  • Python: 주 프로그래밍 언어.

  • Docling: 문서 파싱 및 레이아웃 분석.

  • Streamlit: 웹 사용자 인터페이스.

  • LangChain / OpenAI / DeepL: AI 기반 번역.

  • BeautifulSoup: HTML 조작 및 생성.