l_erotic_kink_chat / README.md
zlsl's picture
Update README.md
ab6049d verified
metadata
license: cc-by-nc-sa-4.0
language:
  - ru
library_name: transformers
tags:
  - chat
  - porn
  - sex
  - erotic
  - roleplay
widget:
  - text: (улыбаюсь)Давай
  - text: 'Ух ты '
  - text: Ложись
pipeline_tag: text-generation

Сильно расширенная модель для эротического ролеплея. Основной датасет (около 5 Гб) дополнен выжимкой из всего фикбука (около 200 Гб), новый датасет составил почти 20 Гб. Из фикбука взяты фики с тэгами кинков, все это отфильтровано, оптимизировано по технологии TiMe

Неплохо держит контекст, параметры для старта:

do_sample: true
top_p: 0.96
top_k: 40
temperature: 0.8 # При высоких значениях также работает неплохо
repetition_penalty: 1.16
encoder_repetition_penalty: 1.0-1.15
typical_p: 1.0

Оптимизированный фронтенд для данных моделей в режиме чата под Android - https://github.com/zlsl/pocketai

Для чата желательно останавливать после '\n', также ставьте более 5 попыток генерации и ожидаемое количество новых токенов > 350, тогда диалоги будут интереснее.

Очень желательно в контексте и во время диалога указывать действия и мысли в скобках. Например: Привет (вхожу в комнату, закрываю дверь)

Важно! В модели добавлен токен <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