xxnuo/MTranServer

Offline translation model server with low resource consumption, fast speed, and private deployment capability. 低资源占用速度快可私有部署的离线翻译模型服务器

MTranServer – 오프라인 번역 서버

소개

  • 일반 PC(GPU 불필요)에서 실행되는 자체 호스팅 번역 서비스입니다. Mozilla의 번역 모델에서 파생된 ONNX-runtime 모델을 사용하여 영어-중국어, 독일어-영어 등 여러 언어 쌍 간의 번역을 지원합니다.
  • 널리 사용되는 번역 API(DeepL, Google Translate 등)를 모방한 로컬 HTTP API를 제공하여 기존 플러그인 및 스크립트를 그대로 연결할 수 있습니다.

주요 기능

  • GPU 불필요, CPU 전용 추론: ONNX Runtime을 통해 최적의 CPU 스레드 수와 실행 모드를 자동으로 선택합니다.
  • 크로스 플랫폼 데스크톱 클라이언트(Windows, macOS, Linux): 시스템 트레이 UI와 테스트를 위한 내장 Swagger UI를 제공합니다.
  • Docker 지원: 간단한 docker compose 파일로 컨테이너처럼 실행할 수 있습니다.
  • 플러그인 호환성: 드롭인 엔드포인트(/deepl, /google/..., /kiss, /imme 등)를 제공하여 VS Code, 브라우저 확장 프로그램 및 기타 번역 도구가 코드 변경 없이 작동합니다.
  • 오프라인 모드: 언어 쌍을 처음 온라인으로 다운로드한 후에는 완전히 오프라인 상태에서 서비스를 실행할 수 있습니다.
  • 명령줄 제어: 호스트/포트, UI 토글, 캐시 크기, 작업자 유휴 시간 초과 및 명시적 모델 다운로드를 위한 플래그를 지원합니다.

설치 방법

  1. 데스크톱 앱: GitHub Releases 페이지에서 적절한 설치 프로그램을 다운로드하세요. 트레이 아이콘이 추가되고 서버가 자동으로 실행됩니다.
  2. npm 패키지: npm i -g mtranserver && mtranserver (또는 bunx, pnpm 등).
  3. Docker: xxnuo/mtranserver:latest를 풀(pull)하고 제공된 compose.yml로 실행하세요(models 및 config 디렉터리를 바인딩).

서버 실행

# quick start via npm
npx mtranserver@latest

# or with Docker
docker pull xxnuo/mtranserver:latest
docker compose up -d
  • 언어 방향이 처음 요청될 때 서버가 필요한 ONNX 모델 파일을 다운로드합니다(인터넷 필요). 이후 요청은 캐시된 파일을 재사용합니다.
  • mtranserver --help를 사용하여 모든 옵션(호스트, 포트, UI, 오프라인 플래그, 캐시 크기 등)을 확인하세요.

생태계

  • MTranCode: http://localhost:8989를 호출하여 코드 주석을 번역하는 VS Code/Cursor 확장 프로그램입니다.
  • MTranBrowser: 로컬 서버와 통신할 수 있는 브라우저 확장 프로그램(개발 중)입니다.
  • 서버 API는 API.md에 문서화되어 있으며, UI 플래그가 활성화되면 http://localhost:8989의 Swagger UI를 통해 노출됩니다.

성능 (v5 ONNX)

  • Intel i5-14400에서 영어→중국어 짧은 문장 번역 시 6개 CPU 스레드로 평균 11 ms(≈86 req/s)가 소요되며, 문단은 약 28 ms가 소요됩니다.
  • 이전 5.0.1 릴리스와 비교하여 처리량이 거의 두 배로 증가했습니다(예: 영어→중국어 짧은 문장 처리량 ↑ 1.78배).
  • 로드된 영어→중국어 모델의 메모리 점유율은 최대 392 MiB입니다.

중요성

  • 클라우드 번역 서비스를 대체하여 개인정보를 보호합니다. 텍스트가 기기 외부로 유출되지 않습니다.
  • 저사양 하드웨어에서도 작동하므로 개발자, 작가 및 GPU 없이 빠른 요약 수준의 번역이 필요한 모든 사람에게 로컬 번역 환경을 제공합니다.

링크

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트