Portable EN<->PT-BR translation library with baked-in models and PT-BR postprocessing
Project description
fast-translate
Biblioteca Python portátil para tradução offline (desempenho rápido em CPU):
en -> pt-BRpt-BR -> en
Inclui:
- Modelos baked-in no pacote (
en-pt-tinyept-en-tiny) - Pós-processamento focado em pt-BR (corrige traços pt-PT)
- Runtime nativo com
translateLocallyvia Native Messaging (-p) - Fallback cross-platform: binário empacotado, PATH ou auto-download do GitHub Releases
Como o projeto foi desenvolvido
O projeto foi construído com foco em uma ideia simples: usar o motor do translateLocally (muito rápido em CPU) como núcleo de inferência local e aplicar pós-processamento orientado por erros reais para elevar qualidade.
Fluxo usado:
- Tradução em lote com
translateLocallypara os dois sentidos (en->pt-BRept-BR->en). - Avaliação automática + amostragem manual de erros residuais.
- Uso de agentes de IA para agrupar padrões de erro recorrentes e propor regras objetivas de correção.
- Implementação das regras no pós-processamento (regex + normalizações léxicas/contextuais).
- Reavaliação com testes, ajuste iterativo e hardening de runtime cross-platform.
Datasets utilizados no processo:
- Hugging Face:
orion-research/little-stories-en_US-pt_BR- usado em amostras e depois em processamento completo
- volume processado no ciclo completo:
122.904registros
- Arquivo local:
instruct-reasoning-dataset.parquet- usado para aumentar diversidade linguística e detectar erros fora do domínio de histórias curtas
- serviu para expandir regras de pós-processamento nas duas direções
Instalação
pip install fast-translate
Uso rápido
from fast_translate import Translator
tr = Translator()
print(tr.translate("How are you today?", direction="en-pt"))
print(tr.translate("Como você está hoje?", direction="pt-en"))
tr.close()
Variáveis de ambiente
FAST_TRANSLATE_BINARY: caminho explícito do executáveltranslateLocallyFAST_TRANSLATE_CACHE_SIZE: tamanho do cache LRU (default64)FAST_TRANSLATE_CACHE_MAX_ENTRY_CHARS: tamanho máximo por item de cache (default512)FAST_TRANSLATE_TRIM_EVERY_N_CALLS: frequência demalloc_trim(default8)FAST_TRANSLATE_KEEP_WARM_INTERVAL_S: intervalo de warmup (default300)FAST_TRANSLATE_AUTO_DOWNLOAD:1/0para auto-download de binário (default1)FAST_TRANSLATE_VERBOSE:1para logs detalhados de resolução/download/bootstrap (default0)
Desempenho em CPU
Métricas medidas em Linux (AMD Ryzen 7 3700X, 16 vCPUs, Python 3.12.7) com benchmark local e cache praticamente desabilitado (cache_size=1, entradas únicas).
- Startup (
Translator()):~0.23s en -> pt:- Latência p50:
4.12 ms - Latência p95:
81.64 ms - Throughput:
101.48 sentenças/s(4916 chars/s)
- Latência p50:
pt -> en:- Latência p50:
3.35 ms - Latência p95:
80.60 ms - Throughput:
102.86 sentenças/s(5510 chars/s)
- Latência p50:
- RAM (processo Python,
ru_maxrss):- Antes:
31.59 MB - Após init:
32.09 MB - Delta de init:
+0.50 MB
- Antes:
Com cache ativo (default), workloads com repetição tendem a ficar substancialmente mais rápidos.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fast_translate-0.1.16.tar.gz.
File metadata
- Download URL: fast_translate-0.1.16.tar.gz
- Upload date:
- Size: 43.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69f2ed5402ee11a5c9d854a94689389db8a6db6825e66172b78a765e56cbc47f
|
|
| MD5 |
958d3ce039bdc8522b37c537b63c4c85
|
|
| BLAKE2b-256 |
2eda8e94d9488dd499dcda6b4298087f9aee159c7cee9516e9b1e5ad045fe009
|
File details
Details for the file fast_translate-0.1.16-py3-none-any.whl.
File metadata
- Download URL: fast_translate-0.1.16-py3-none-any.whl
- Upload date:
- Size: 44.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0aec8b3840545588ee4647edfc13484c9732477e31946ec8cc1d4ce10e4bdd7d
|
|
| MD5 |
f66fbc4aaa1b1bc1931828b074baacb9
|
|
| BLAKE2b-256 |
3f4d63c8252d9fc6a470b2f4d2defcabbaca1000f246951b20c9089e0a9903ed
|