LTEngine: Rust 기반으로 완전 로컬 실행 가능한 AI 번역 API

LTEngine: Rust 기반으로 완전 로컬 실행 가능한 AI 번역 API

LTEngine은 Rust로 작성된 오픈소스 로컬 AI 머신 번역 서버입니다. LibreTranslate의 API와 호환되며, llama.cpp와 llama.cpp의 Rust 바인딩인 llama-cpp-rs를 통해 로컬에 설치된 GGUF 형식의 대형 LLM을 사용해 번역을 수행합니다.

기존 LibreTranslate가 Argos Translate 기반 경량 모델을 사용했다면, LTEngine은 메모리와 속도를 희생해서라도 더 나은 번역 결과를 제공합니다. CPU만으로도 실행할 수 있지만, CUDA, Metal, Vulkan 같은 GPU 가속기를 활용하면 실사용에 충분히 대응할 수 있습니다 .

LTEngine의 주요 기능

  • LibreTranslate API 호환: 기존 코드 수정 없이 대체 가능
  • 다양한 모델 지원: gemma3-1b, 4b, 12b, gemma4-27b 등
  • GPU 가속 지원: CUDA, Metal (macOS), Vulkan 호환
  • 정적 바이너리 빌드: 하나의 바이너리로 윈도우, 맥, 리눅스 실행 가능
  • AGPL‑3.0 라이선스: 강력한 오픈소스 보호

:hammer_and_wrench: 사용 방법

1. 의존성 설치

  • Rust
  • clang, CMake
  • C++ 컴파일러(g++, MSVC)

2. 클론 및 빌드

git clone https://github.com/LibreTranslate/LTEngine --recursive
cd LTEngine
cargo build --release --features cuda,vulkan,metal

3. 실행

./target/release/ltengine

4. 모델 선택

  • 기본은 gemma3-4b
  • 명시적 실행 예시:
./ltengine -m gemma3-12b --model-file /path/to/custom.gguf

GGUF 형식 모델은 llama.cpp 호환시 모두 지원

5. API 사용 예시

await fetch("http://localhost:5050/translate", {
  method: "POST",
  headers: {"Content-Type": "application/json"},
  body: JSON.stringify({q:"Hello", source:"en", target:"es"})
})
.then(r=>r.json()).then(console.log);

응답:

{"translatedText":"¡Hola!"}

이 때, 자동 언어 감지 기능도 있습니다.

LTEngine의 로드맵 및 개선 예정 사항

  • 멀티 요청 동시 처리 (현재 mutex로 단일 요청만 처리 가능한 상태)
  • 클라이언트 연결 취소 시 inference 중단
  • 파일 단위 번역 API (/translate_file) 추가
  • 긴 문장 자동 분할 및 재결합
  • 단문 언어 감지 개선 (LexiLang 포팅 예정)
  • Qwen, LLaMA 등 다양한 LLM 실험
  • 벤치마크 비교
  • CLI 모드 지원 (library 형태 분리)
  • CI/CD 자동화 등

라이선스

LTEngine 프로젝트는 GNU Affero General Public License v3 (AGPL‑3.0) 으로 배포됩니다. 상업적 사용 시 AGPL 라이선스 동의 필요 .

:github: LTEngine 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요