deeplx and llm translate tool in python (wip)
install rye
(google for instructions for yourplatform)git clone https://github.com/ffreemt/deeplx-tr && cd deeplx-tr
rye pin 3.10
# or pick another python version, e.g., 3.12rye sync
cp example.env .env
and amend.env
rye run taipy llm_tool.py
pip install deeplx_tr --pre
deeplx-tr hello world
# 哈罗世界
deeplx-tr hello world -t de
# Hallo Welt
deeplx-tr --help
or
python -m deeplx_tr hello world
python -m deeplx_tr hello world -d
python -m deeplx_tr --help
from deeplx_tr import deeplx_tr
res = deeplx_tr("hello world")
print(res)
# 哈罗世界
res = deeplx_tr("hello world", to_lang="de")
print(res)
# Hallo Welt
N.B. deeplx-tr
will likely spit out too many requestes
if you call it too often before long. But it's sufficient for ordinary average daily translation.
If you have a higher demand, try deeplx.org
for which we provided two clients for your convenience.
from deeplx_tr import deeplx_client, deeplx_client_async
res = deeplx_client("hello world")
print(res)
# '哈罗世界'
res = deeplx_client("hello world", target_lang="de")
print(res)
# 'Hallo Welt'
# if you host your own deeplx, for example, at `127.0.0.1:1188'
# res = deeplx_client("hello world", url="http://127.0.0.1:1188/translate")
An async client is also available, e.g.
import asyncio
from deeplx_tr import deeplx_client_async
async def main():
res = await asyncio.gather(deeplx_client_async("hello world"), deeplx_client_async("test"))
print(res)
asyncio.run(main())
# ['哈罗世界', '测试']
The default concurrency limit is 5
but can be altered by setting the environ variable CONCURRENCY_LIMIT, e.g.
set CONCURRENCY_LIMIT=8 # in Windows
# export CONCURRENCY_LIMIT=8 in Linux