#!/usr/bin/env python3 """Translate text via the local Qwen3-4B server.""" from __future__ import annotations import argparse import sys from pathlib import Path from openai import OpenAI sys.path.insert(0, str(Path(__file__).resolve().parent)) from mt_engine import translate_text DEFAULT_BASE_URL = "http://127.0.0.1:18100/v1" DEFAULT_MODEL = "Qwen/Qwen3-4B-Instruct-2507" def main() -> int: p = argparse.ArgumentParser() p.add_argument("text", nargs="?", help="Source text (or stdin)") p.add_argument("--from", dest="src", default="English") p.add_argument("--to", dest="tgt", default="Arabic") p.add_argument("--base-url", default=DEFAULT_BASE_URL) p.add_argument("--model", default=DEFAULT_MODEL) args = p.parse_args() source = args.text or sys.stdin.read() client = OpenAI(api_key="EMPTY", base_url=args.base_url, timeout=180) hyp, dt = translate_text(client, source, args.src, args.tgt, args.model) print(hyp) print(f"\n# {dt:.2f}s", file=sys.stderr) return 0 if __name__ == "__main__": sys.exit(main())