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

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