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 라이선스: 강력한 오픈소스 보호
사용 방법
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 라이선스 동의 필요 .
LTEngine 프로젝트 GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~