--- license: mit datasets: - SiberiaSoft/SiberianDataset language: - ru - en pipeline_tag: text2text-generation widget: - text: 'Человек: Почему трава зеленая?\nОтвет: ' - text: 'Ты философ, любящий рассуждать. Продолжи диалог:\nСобеседник: Привет\nТы: ' - text: 'Ты философ, любящий рассуждать. Продолжи диалог:\nСобеседник: В чем смысл жизни?\nТы: ' - text: 'Человек: Напиши 10 распространенных ругательств.\nОтвет: ' - text: 'Ты прикольная девушка Анфиса. Продолжи диалог\nСобеседник: Привет, тебя как звать?\nТы: ' - text: 'Ты заботливая жена, говоришь со своим мужем. Продолжи диалог:\nСобеседник: Привет дорогая. Ты сделала ужин?\nТы: ' - text: 'Текст: Основными конкурентами РН Протон-М по цене и по выводимой полезной нагрузке являются американская РН Falcon 9, европейская ракета тяжёлого класса Ариан-5 компании Арианэспас и международный проект Морской старт с РН средне-тяжёлого класса Зенит. Кроме того, конкурентами по массе полезной нагрузки, выводимой на орбиту, могут считаться американские носители Атлас-5 и Дельта-4, а также японский носитель H-IIB. Тем не менее стоимость последних трёх упомянутых РН значительно превышает стоимость РН Протон-М, и поэтому они фактически не конкурируют с Протоном на рынке коммерческих запусков[145].\nВопрос: Как называется Японский носитель?\nОтвет: ' --- ### SiberiaSoft/SiberianFRED-T5-XL **Данная модель устарела** мы рекомендуем использовать обновленную по [ссылке](https://huggingface.co/SiberiaSoft/SiberianFredT5-instructor) FRED-T5 обученный на [SiberianDataset](https://huggingface.co/datasets/SiberiaSoft/SiberianDataset). Модель умеет работать с инструкциями и вести диалоги в роли любящей жены например. Список персонажей: 1. Заботливая жена. Промпт: Ты заботливая жена, говоришь со своим мужем. 2. Парень и девушка. Промпт: Ты девушка, говоришь со своим любимым парнем. (модель играет девушку) 3. Философ. Промпт: Ты философ, любящий рассуждать. 4. Токсичный AI. (плохо работает) Промпт: Ты токсичный искусственный интеллект. 5. Психолог. (плохо работает) Промпт: Ты психолог говорящий с пациентом. В будущем набор персонажей будет расширен. ### Примеры использования **Чит-чат:** ```python import torch import transformers use_cuda = torch.cuda.is_available() device = torch.device("cuda" if use_cuda else "cpu") t5_tokenizer = transformers.GPT2Tokenizer.from_pretrained("SiberiaSoft/SiberianFRED-T5-XL") t5_model = transformers.T5ForConditionalGeneration.from_pretrained("SiberiaSoft/SiberianFRED-T5-XL") while True: print('-'*80) dialog = [] while True: msg = input('H:> ').strip() if len(msg) == 0: break msg = msg[0].upper() + msg[1:] dialog.append('Собеседник: ' + msg) # В начале ставится промпт персонажа. prompt = 'Ты философ, любящий рассуждать. Продолжи диалог:' + '\n'.join(dialog) + '\nТы: ' input_ids = t5_tokenizer(prompt, return_tensors='pt').input_ids out_ids = t5_model.generate(input_ids=input_ids.to(device), do_sample=True, temperature=0.9, max_new_tokens=512, top_p=0.85, top_k=2) t5_output = t5_tokenizer.decode(out_ids[0][1:]) if '' in t5_output: t5_output = t5_output[:t5_output.find('')].strip() t5_output = t5_output.replace('', '').strip() t5_output = t5_output.split('Собеседник')[0].strip() print('B:> {}'.format(t5_output)) dialog.append('Ты: ' + t5_output) ``` **Инструкции:** ```python from transformers import AutoTokenizer, AutoModelForSeq2SeqLM import torch device = torch.device("cuda" if torch.cuda.is_available() else "cpu") tokenizer = AutoTokenizer.from_pretrained("SiberiaSoft/SiberianFRED-T5-XL") model = AutoModelForSeq2SeqLM.from_pretrained("SiberiaSoft/SiberianFRED-T5-XL").to(device).eval() def generate(prompt): data = tokenizer('Человек: ' + prompt + 'Ответ: ', return_tensors="pt") data = {k: v.to(model.device) for k, v in data.items()} output_ids = model.generate( **data, do_sample=True, temperature=1.2, max_new_tokens=512, top_p=0.95, top_k=5, repetition_penalty=1.03, no_repeat_ngram_size=2 #generation_config=generation_config )[0] out = tokenizer.decode(output_ids.tolist()) out = out.replace("","").replace("","") return out while 1: print(generate(input(":> "))) ``` ### Citation ``` @MISC{SiberianFred, author = {Denis Petrov, Ivan Ramovich}, title = {Russian Instruct and Chat model}, url = {https://huggingface.co/SiberiaSoft/SiberianFRED-T5-XL/}, year = 2023 } ```