evals/translators/argos.py (23 lines of code) (raw):

import os os.environ["ARGOS_DEVICE_TYPE"] = "cuda" import argostranslate.package import argostranslate.translate import argostranslate.settings import sys from tqdm import tqdm assert argostranslate.settings.device == "cuda" def translate(texts, source, target): return [argostranslate.translate.translate(text, source, target) for text in tqdm(texts)] if __name__ == "__main__": texts = [line.strip() for line in sys.stdin] source = os.environ["SRC"] target = os.environ["TRG"] argostranslate.package.update_package_index() available_packages = argostranslate.package.get_available_packages() package_to_install = next( filter(lambda x: x.from_code == source and x.to_code == target, available_packages) ) argostranslate.package.install_from_path(package_to_install.download()) translations = translate(texts, source, target) sys.stdout.write("\n".join(translations)) sys.stdout.write("\n")