|
--- |
|
license: mit |
|
language: |
|
- ru |
|
datasets: |
|
- SiberiaSoft/SiberianInstructions-small |
|
--- |
|
|
|
Модель обучена на миксе инструкционных датасетов, способна отвечать на вопросы, и выполнять несложные инструкции |
|
|
|
Из обучающей выборки были исключены арифметические задачи, поэтому считать модель не умеет |
|
|
|
Для запуска можно использовать следующий код: |
|
|
|
```python: |
|
import torch |
|
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
from transformers import GenerationConfig |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("SiberiaSoft/SiberianFredT5-instructor") |
|
model = AutoModelForSeq2SeqLM.from_pretrained("SiberiaSoft/SiberianFredT5-instructor") |
|
model.eval() |
|
|
|
def generate(prompt): |
|
data = tokenizer('<SC6>' + prompt + '\nОтвет: <extra_id_0>', return_tensors="pt") |
|
data = {k: v.to(model.device) for k, v in data.items()} |
|
output_ids = model.generate( |
|
**data, do_sample=True, temperature=0.2, max_new_tokens=512, top_p=0.95, top_k=5, repetition_penalty=1.03, no_repeat_ngram_size=2 |
|
)[0] |
|
out = tokenizer.decode(output_ids.tolist()) |
|
out = out.replace("<s>","").replace("</s>","") |
|
return out |
|
|
|
while 1: |
|
print(generate(input("Введите промпт и фразу: "))) |
|
print("====================") |
|
``` |
|
|
|
<b>Можно просто задавать ей разные вопросы:</b><br> |
|
<i>Что такое циновка?<br> |
|
Как сделать десерт из клубники?</i> |
|
|
|
<b>Промпт, который выделяет из фразы ключевые слова и сразу ставит их в нормальную форму:</b><br> |
|
<i>Выдели ключевые слова: Мы праздновали день рождения друга и подарили ему подарок</i> |
|
|
|
<b>Промпт для выделения главной мысли в предложении (суммаризация предложения):</b><br> |
|
<i>Выдели главные мысли в предложении: Чтение книг важно не только для развития нашего интеллекта, но и для расширения кругозора и понимания различных культур и мировоззрений.</i> |
|
|
|
<b>Промпт для определения тематики предложения:</b><br> |
|
<i>Определи тематику: В наше время все больше и больше людей занимаются йогой.</i> |
|
|
|
<b>Промпты для придумывания вопросов:</b><br> |
|
<i>Придумай вопросы на тему Политика<br> |
|
Придумай 5 вопросов к собеседнику на тему детство<br> |
|
Придумай другие варианты вопроса: Кем ты работаешь?<br> |
|
Придумай вопросы к этому тексту: "К особым префектурам можно отнести Токио, Киото, Осаку и Хоккайдо. В период Эдо (1603—1867), сёгунат установил 9 городских районов, которыми управляли чиновники из центра (奉行支配地), и 302 районных города, которыми управляли городские чиновники (郡代支配地). С наступлением эпохи Мэйдзи 9 городских центров были превращены в округа фу, а 302 районных города — в префектуры кэн. В 1871 г., после административной реформы, в Японии было установлено 3 городских префектур фу — Токио, Киото и Осака. В 1943 г. городская префектура Токио была переименована в столицу то (хотя закона о столице утверждено не было).",<br></i> |
|
|
|
<b>Промпт для предсказания последствий действия:</b><br> |
|
<i>Что произойдет дальше: Я выиграл в лотерею</i> |
|
|
|
<b>Промпт для объяснения чего-то простыми словами:</b><br> |
|
<i>Объясни ребенку тему виды отдыха.</i> |
|
|
|
<b>Промпт для решения проблем:</b><br> |
|
<i>Реши проблему: Борьба с низкой самооценкой.</i> |
|
|
|
<b>Промпт для раскрытия анафоры по предыдущей фразе</b><br> |
|
<i>Раскрой анафору последней фразы в диалоге: "футбол ты любишь?" , "нет",</i> |
|
|
|
<b>Промпт для ответа на вопрос по тексту:</b><br> |
|
<i>Текст:\nПервые благотворительные фонды возникли в начале XX в. в США, благодаря усилиям известного промышленника и филантропа Джона Рокфеллера. Именно Дж. Рокфеллер выдвинул идею поставить благотворительность на регулярную основу, предложив создать трест благотворительности [6]. Первой организацией такого типа стал Совет по всеобщему образованию (1902 г.), позднее вошедший в состав фонда Рокфеллера. Примеру Рокфеллера последовали и другие крупные предприниматели США: Эндрю Карнеги, Билл Гейтс и другие.\n\nИсходя из текста выше, 'где возникли благотворительные фонды'\n</i> |
|
|
|
<b>Промпт для продолжения диалога с контекстом:</b><br> |
|
<i>Я парень, программист. Увлекаюсь эзотерикой и конспирологией. Пишу фантастику. Люблю природу. Недавно, у меня был следующий диалог:\nТы: Ты знаешь, фантастика меня всегда привлекала. Что-нибудь интересное можешь порекомендовать?\nЯ: Если тебе нравится научная фантастика, то обязательно прочитай Война миров Герберта Уэллса. Очень увлекательная история о захвате Земли инопланетными существами.\nТы: А ты не считаешь, что на самом деле существует возможность контакта с другими цивилизациями во Вселенной?\nЯ: Мы точно не знаем, что на самом деле находится в космосе и какие существа могут обитать где-то далеко от нашей планеты. Многие теории конспирологов и эзотериков говорят о существовании инопланетян и их влиянии на нашу жизнь.\nТы: А есть ли у тебя какие-то любимые книги или фильмы в жанре фантастики?\nЯ:</i> |
|
|
|
Кроме вышеназванных промптов, в обучающей выборке было множество других, поэтому вы может просто придумать свой промпт, главное, не забывайте - модель не предназначена для арифметических действий и генерации программного кода |