LLM as your translator, with DeepLX-compatible API.
ARPK supports most OpenAI-compatible APIs, Ollama is used here as an example (and is also the default):
ollama serve
ollama pull llama3.2First install Node.js, then install ARPK via your favorite package manager (or npm).
npm i -g arpkYou can also use ARPK via npx without installing it:
npx -y arpkarpk translate --from "EN-US" --to "ZH" --input "Hello, World!"
# 你好,世界!
echo "Hello, World!" | arpk translate --from "EN-US" --to "JA"
# こんにちは、世界!ARPK_LLM_MODEL="llama3.2" arpk serveARPK_LLM_MODEL="llama3.2" npx -y arpk servedocker run -d \
  --name arpk \
  --network host \
  --restart unless-stopped \
  -e ARPK_LLM_MODEL=llama3.2 \
  ghcr.io/moeru-ai/arpk:latestservices:
  arpk:
    image: ghcr.io/moeru-ai/arpk:latest
    container_name: arpk
    network_mode: host
    restart: unless-stopped
    environment:
      - ARPK_LLM_MODEL=llama3.2/translate, /api/v1/translate and /api/v2/translate are connected to the same translate endpoint.
await fetch('http://127.0.0.1:1188/translate', {
  body: JSON.stringify({
    source_lang: 'JA',
    target_lang: 'ZH',
    text: '雨の季節が過ぎ 澄み渡る空を 眺めて独り想フ'
  }),
  method: 'POST'
}).then(res => res.json())
// {
//   alternates: [],
//   code: 200,
//   data: '雨季过后,晴朗的天空下我独自遐思。',
//   id: 1519129853500,
//   method: 'ARPK v0.0.0 (llama3.2)',
//   source_lang: 'JA',
//   target_lang: 'ZH'
// }Currently only Bearer Auth is supported when using
ARPK_TOKEN, not URL Params.
| Environment | Default | Description | 
|---|---|---|
| ARPK_PORT | 1188 | The port the server will listen on | 
| ARPK_TOKEN | null | Access token to protect your API | 
| ARPK_LLM_API_KEY | null | OpenAI-compatible API key | 
| ARPK_LLM_BASE_URL | http://127.0.0.1:11434/v1/ | OpenAI-compatible API base url | 
| ARPK_LLM_MODEL | llama3.2 | Model to be used by the ARPK | 
| ARPK_SYSTEM_PROMPT | https://github.com/moeru-ai/arpk/blob/main/src/lib/prompts.ts | System prompt | 
| ARPK_SOURCE_LANG | null | Translate source language (cli only, --from) | 
| ARPK_TARGET_LANG | null | Translate target language (cli only, --to) |