# Плагин перевода: nllb-200 Ctranslate2 Для работы плагина необходимо загрузить модель madlad400 в формате ctransate2, или найти оригинальную модель и сконвертировать. После этого необходимо положить в папку model проекта (можно выбрать другой, но в дальнейшем предполагается, что использовалась эта папка). Есть несколько моделей с разным числом параметров, чем больше параметров - тем лучше перевод. Можно загрузить следующие модели - [nllb-200-1.3B-ct2-float16](https://huggingface.co/JustFrederik/nllb-200-1.3B-ct2-float16/tree/main), [nllb-200-3.3B-ct2-float16](https://huggingface.co/JustFrederik/nllb-200-3.3B-ct2-float16/tree/main) или любые другие подходящего формата. Шаги по загрузке и запуску модели, на примере `nllb-200-3.3B-ct2-float16`: * Перейти в папку `models`сервиса. * Создать папку с именем модели - `nllb-200-3.3B-ct2-float16`. * Загрузить в эту папку все файлы по ссылке - https://huggingface.co/JustFrederik/nllb-200-3.3B-ct2-float16/tree/main. * Указать параметры модели **model** и **tokenizer** в настройках плагина - `models/nllb-200-3.3B-ct2-float16`. ## Параметры плагина * **compute_type** - точность загруженных данных для перевода. По умолчанию - `bfloat16` - самый лучший вариант, но требует много памяти видеокарты. Можно указать, например, `int8_bfloat16` - это потребует в 2 раза меньше памяти. Модуль будет загружена в оперативную память, сделан перерасчет, и после этого результат загружен в память видеокарты. * **cuda** - `true` - использовать видеокарту (быстрее), `false` - использовать cpu (медленнее). * **cuda_device_index** - если в системе несколько видеокарт, можно выбрать ту, в которую будет загружена модель. Номер и имя видеокарты указывается при старте приложения в логе, вида `INFO GPU #0: NVIDIA GeForce RTX 4090`. `0` - указываемый в параметре номер. * **max_batch_size** - объединение запросов для ускорения обработки. Повышение параметра ускоряет процесс, но требует больше памяти. * **model** - путь к модели. `models/model-name` говорит о том, что модель `model-name` находится в папке `models` проекта. * **text_split_params** - этот параметр переопределяет глобальные параметры (подробнее [здесь](../options.md)), и задает разбивку текста по предложениям. Очень рекомендуется разбивать именно так, потому что при отправке нескольких предложений сразу, очень велика вероятность, что часть предложений будет потеряна моделью. ## Конвертация модели Чтобы конвертировать модель `facebook/nllb-200-3.3B`, нужно установить скрипт конвертации `ct2-transformers-converter` и выполнить в консоли примерно такой запрос: `ct2-transformers-converter --model facebook/nllb-200-3.3B --quantization bfloat16 --output_dir nllb-200-3.3B-ct2-bfloat16`