폐쇄망 환경에서 LangChain Token Splitter 오류 (gpt-2 / tiktoken)

밤새·2025년 12월 18일
post-thumbnail

이슈

폐쇄망 환경에서 LangChain의 Token Splitter 사용 시 아래 오류 발생.

Max retries exceeded with url: gpt-2/encodings/main/vocab.bpe
(Caused by NameResolutionError: [Errno -3] Temporary failure in name resolution)

발생 환경

  • LangChain
  • Token Splitter
  • gpt-2 기반 토크나이저
  • 폐쇄망 (인터넷/DNS 접근 불가)
  • Docker 컨테이너 환경

원인 분석

  • LangChain Token Splitter는 내부적으로 tiktoken을 사용
  • tiktokengpt-2 토크나이저 초기화 시 vocab.bpe 파일을 런타임에 인터넷에서 다운로드
  • 폐쇄망 환경에서는 DNS 해석 실패
  • 결과적으로 토크나이저 로딩 실패 → 전체 파이프라인 중단

핵심 원인:

  • tiktokenlazy download 구조
  • 폐쇄망 환경과의 구조적 충돌

해결 방법

  1. 인터넷이 가능한 환경에서 tiktokengpt-2 인코딩 파일 사전 다운로드
  2. Docker 이미지 또는 호스트에 파일 저장
  3. 컨테이너 실행 시 해당 경로를 볼륨 마운트
  4. 런타임 중 외부 네트워크 접근 없이 로컬 파일 사용

참고 사항

  • LangChain 버그 아님
  • OpenAI tiktoken 설계 특성
  • 폐쇄망 환경에서는 토크나이저, 모델, 인코딩 파일 사전 캐시 전략 필수
  • 동일 이슈는 다른 인코딩(cl100k_base 등)에서도 발생 가능

참고 자료

https://github.com/openai/tiktoken
https://github.com/langchain-ai/langchain

profile
프로젝트를 통해 배운 개념이나 겪은 문제점들을 정리하고, 회고록을 작성하며 성장해나가는 곳입니다 😊

0개의 댓글