Skip to content

Fast Translation module with Ctranslate2 banckend(T5, BART etc.)

License

Notifications You must be signed in to change notification settings

sawradip/faster-translate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyPI Downloads PyPI Downloads

Faster Translate

Faster Translate is a high-performance translation library built on top of ctranslate2 and designed for fast and efficient translation. It provides an easy-to-use interface for translating text in various languages with support for pre-trained models from Hugging Face's model hub.

Features

  • High-speed translation leveraging ctranslate2
  • Support for loading models directly from Hugging Face's model hub
  • Save dataset directly to hf after translation.

Installation

To install Faster Translate, you can use pip:

pip install faster-translate

Usage:

Initialize with supported model name:

from faster_translate import TranslateModel

model = TranslateModel.from_pretrained("banglanmt_bn2en")

Or, ct2 converted models, local or from huggingfcae hub:

from faster_translate import TranslateModel

model = TranslateModel.from_pretrained(
    "sawradip/faster-translate-banglanmt-bn2en-t5",
    normalizer_func = "buetnlpnormalizer"
                                       )

You can translate a single sentence:

model.translate_single("দেশে বিদেশি ঋণ নিয়ে এখন বেশ আলোচনা হচ্ছে। এই ঋণ পরিশোধের চাপ ধীরে ধীরে বাড়ছে। গত ২০২২-২৩ অর্থবছরে মোট ২৬৭ কোটি ডলারের ঋণ পরিশোধ করতে হয়েছে। আগামী সাত বছরে ঋণ পরিশোধের পরিমাণ বেড়ে দ্বিগুণ হবে বলে মনে করছে অর্থনৈতিক সম্পর্ক বিভাগ (ইআরডি)।")

Or a batch:

model.translate_batch([
    "দেশে বিদেশি ঋণ নিয়ে এখন বেশ আলোচনা হচ্ছে। এই ঋণ পরিশোধের চাপ ধীরে ধীরে বাড়ছে। গত ২০২২-২৩ অর্থবছরে মোট ২৬৭ কোটি ডলারের ঋণ পরিশোধ করতে হয়েছে। আগামী সাত বছরে ঋণ পরিশোধের পরিমাণ বেড়ে দ্বিগুণ হবে বলে মনে করছে অর্থনৈতিক সম্পর্ক বিভাগ (ইআরডি)।",
    "রাত তিনটার দিকে কাঁচামাল নিয়ে গুলিস্তান থেকে পুরান ঢাকার শ্যামবাজারের আড়তে যাচ্ছিলেন লিটন ব্যাপারী। "
    ])

Translating HF dataset directly:

model = TranslateModel.from_pretrained(
                                    "banglanmt_en2bn",
                                       )

model.translate_hf_dataset(
    "sawradip/bn-translation-mega-raw-noisy", 
    batch_size=8
)

Features while translating directly from hf dataset

  • automatically translate all subsets or any particular subset by specifiying in the subset_name parameter
model.translate_hf_dataset(
    "sawradip/bn-translation-mega-raw-noisy",
    subset_name=["google"], 
    batch_size=8
)
  • automatically translate all splits (train, test, validation) or any particular subset by specifiying in the split parameter

  • automatically translate full dataset or partially specifying start_idx and end_idx or translation_size parameters.

model.translate_hf_dataset(
    "sawradip/bn-translation-mega-raw-noisy",
    subset_name="alt",
    batch_size=8, 
    start_idx=2,
    end_idx=50
)
model.translate_hf_dataset(
    "sawradip/bn-translation-mega-raw-noisy",
    subset_name="alt",
    batch_size=8, 
    translation_size=0.5
)

Push the translated dataset to hf after translation

model.translate_hf_dataset(
    "sawradip/bn-translation-mega-raw-noisy",
    subset_name="alt",
    batch_size=8, 
    translation_size=0.5,
    push_to_hub=True,
    token=<pass your hf token>,
    save_repo_name=<name of the dataset repo to save the data>,
)

Currently Supported Models

💪 Thanks To All Contributors

List of Contributors

About

Fast Translation module with Ctranslate2 banckend(T5, BART etc.)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •