license: cc-by-nc-sa-4.0
language:
- ru
library_name: transformers
tags:
- chat
- porn
- sex
- erotic
- roleplay
widget:
- text: Офигеть
- text: Ой, что это
- text: Ложись
- text: Отвали
- text: Мяу!
- text: В душев
- text: Тентакли
pipeline_tag: text-generation
Small модель для эротического ролеплея.
К удивлению, работает приемлемо, чуть хуже medium модели, со своим "шармом", параметры для старта:
do_sample: true
top_p: 0.9
top_k: 20
temperature: 0.7 # При высоких значениях также работает неплохо
repetition_penalty: 1.15
encoder_repetition_penalty: 1.0-1.15
typical_p: 1.0
Оптимизированный фронтенд для данных моделей в режиме чата под Android - https://github.com/zlsl/pocketai
Для чата желательно останавливать после '\n', также ставьте более 5 попыток генерации и ожидаемое количество новых токенов > 350, тогда диалоги будут интереснее.
Очень желательно в контексте и во время диалога указывать действия и мысли в скобках. Например: Привет (вхожу в комнату, закрываю дверь)
Важно! В модели добавлен токен <char>
, он указывает начало строки диалога, прямой речи:
Абзац ... контекста
Я:<char>
(мысли, действия и прочее) Реплика персонажа (еще мысли, контекст)
Собеседник:<char>
(мысли, действия и прочее) Реплика персонажа (еще мысли, контекст)
Также хорошие результаты в другом формате диалогов:
Абзац ... контекста
Я:<char>
(мысли, действия и прочее) Реплика персонажа (еще мысли, контекст)
Еще действия, описание окружения.
Собеседник:<char>
(мысли, действия и прочее) Реплика персонажа (еще мысли, контекст)
Еще действия, описание окружения.
Новый токен желательно использовать, но не обязательно. Также указывать имена персонажей - опционально.
Модель с удовольствием может "в мультичар", количество собеседников может быть более двух.
Для пользователей text-generation-webui
В инструменте поломана работа с GPT-2, GPTJ, GPT-NEO и аналогичными модлями, неверно загружается токенизер.
Ошибка такая:
eos_token_id = eos_token_id[0] IndexError: list index out of range
Исправляется легко, в файл modules/models.py в функцию load_tokenizer() надо добавить строчку
tokenizer.eos_token_id = 2
перед
return tokenizer