Задать вопрос

Есть ли бесплатный api переводчика?

Здравствуйте. Подскажите есть ли какой-нибудь бесплатный api для перевода с английского на русский? Требуется перевести несколько постов. Старые вопросы которые задавали до этого уже неактуальные(Yandex, rapidapi, libretranslate уже не бесплатные).
  • Вопрос задан
  • 3567 просмотров
Подписаться 6 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 5
@rPman
Запусти фейсбуковский переводчик локально (вопросы лицензии и прав использования изучи сам, если тебе для бизнеса)
https://huggingface.co/facebook/nllb-200-3.3B
(там есть куча моделей ищи nllb) код использования может быть таким (он автоматически скачает модель):
#!/usr/bin/python
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline

# available models: 'facebook/nllb-200-distilled-600M', 'facebook/nllb-200-1.3B', 'facebook/nllb-200-distilled-1.3B', 'facebook/nllb-200-3.3B'
model_name = 'facebook/nllb-200-distilled-600M'

# add .to('cuda') to use nvidia gpu 
model = AutoModelForSeq2SeqLM.from_pretrained(model_name) #.to('cuda')
tokenizer = AutoTokenizer.from_pretrained(model_name)

source = 'eng_Latn' # English
target = 'rus_Cyrl' # Russian

text = 'Information about training algorithms, parameters, fairness constraints or other applied approaches, and features. The exact training algorithm, data and the strategies to handle data imbalances for high and low resource languages that were used to train NLLB-200 is described in the paper.'

# code to use cpu only
translator = pipeline('translation', model=model, tokenizer=tokenizer, src_lang=source, tgt_lang=target)
output = translator(text, max_length=512)
translated_text = output[0]['translation_text']

# code to use gpu
#inputs = tokenizer(text, return_tensors="pt").input_ids.to('cuda')
#outputs = model.generate(inputs, max_new_tokens=512, do_sample=True, temperature=0.001, forced_bos_token_id=tokenizer.lang_code_to_id[target])
#translated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)

# you can loop this three code lines to translate multiple texts (it's fast even on cpu)
print(translated_text)
Список кодов языков и оценку качества перевода бери из метрик
Ответ написан
@theidch
libretranslate можно поднять локально БЕЗ ПРОБЛЕМ.

pip install libretranslate

как запустить с нужными языками локальный хттп апи узнаете у них в гитхабе
Ответ написан
Комментировать
Если несколько, то можно просто руками через переводчик перевести без api.
Yandex Translate API стоит 500р за миллион символов с тарификацией посимвольно.
Может это на самом деле не такая уж и большая цена?
Можно также воспользоваться им в рамках демо-периода в Yandex Cloud
За время демо-периода можно будет порядка восьми миллионов символов перевести.
Демо-период длится два месяца.

Качественного (сравнимого с коммерческими предложениями) бесплатного api не существует.

До 500000 символов в месяц можно попробовать Deepl.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
Yandex, rapidapi, libretranslate уже не бесплатные

вы все сами понимаете: кризис, ковид да и вообще

к счастью(!) у них (в том числе Deepl - лучший по многому, но Яндекс может быть лучше в RU-EN-RU) есть бесплатные сервисы, а в них - REST API

...тут-то карта и пошла... ага!-не все так просто...

к несчастью ( :( ) они такому сильно сопротивляются, поэтому нашару юзать целое искусство, завязанное на Селениуме и ротируемых прокси, но окупается!..
Ответ написан
Комментировать
georgi1984
@georgi1984
Нравится JavaScript
Использовать selenium?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы