Skip to content
/ arpk Public

๐ŸŒ๐Ÿฆ™ LLM as your translator, with DeepLX-compatible API.

License

Notifications You must be signed in to change notification settings

moeru-ai/arpk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

56b95f6 ยท Mar 4, 2025

History

92 Commits
Mar 4, 2025
Mar 4, 2025
Mar 4, 2025
Mar 4, 2025
Oct 30, 2024
Oct 30, 2024
Nov 9, 2024
Aug 25, 2024
Dec 25, 2024
Oct 30, 2024
Dec 25, 2024
Mar 4, 2025
Mar 4, 2025
Mar 4, 2025
Mar 4, 2025
Aug 25, 2024
Aug 25, 2024
Aug 29, 2024

Repository files navigation

ARPK npm

LLM as your translator, with DeepLX-compatible API.

Usage

Prepare

ARPK supports most OpenAI-compatible APIs, Ollama is used here as an example (and is also the default):

ollama serve
ollama pull llama3.2

Install

First install Node.js, then install ARPK via your favorite package manager (or npm).

npm i -g arpk

You can also use ARPK via npx without installing it:

npx -y arpk

Translate

arpk translate --from "EN-US" --to "ZH" --input "Hello, World!"
# ไฝ ๅฅฝ๏ผŒไธ–็•Œ๏ผ

echo "Hello, World!" | arpk translate --from "EN-US" --to "JA"
# ใ“ใ‚“ใซใกใฏใ€ไธ–็•Œ๏ผ

Serve

ARPK_LLM_MODEL="llama3.2" arpk serve

npx

ARPK_LLM_MODEL="llama3.2" npx -y arpk serve

docker

docker run -d \
  --name arpk \
  --network host \
  --restart unless-stopped \
  -e ARPK_LLM_MODEL=llama3.2 \
  ghcr.io/moeru-ai/arpk:latest

docker-compose

services:
  arpk:
    image: ghcr.io/moeru-ai/arpk:latest
    container_name: arpk
    network_mode: host
    restart: unless-stopped
    environment:
      - ARPK_LLM_MODEL=llama3.2

API

/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'
// }

Environments

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)

License

MIT