File size: 6,989 Bytes
e7a013b
 
 
 
 
 
 
 
e63851f
 
5b3bce8
77c66dc
 
 
 
 
 
 
 
e7a013b
 
 
77c66dc
 
aa481d9
 
 
 
77c66dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e7a013b
5b3bce8
 
e7a013b
5b3bce8
 
 
 
 
 
 
 
 
 
 
 
 
e7a013b
5b3bce8
e7a013b
 
5b3bce8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aa481d9
5b3bce8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e7a013b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
---
license: cc-by-sa-4.0
language:
- ru
- en
pipeline_tag: text-generation
library_name: transformers
---
**[English version](https://huggingface.co./gai-labs/strela/blob/main/README_EN.md)**

Стрела — это мощная языковая модель, созданная для обеспечения высокой скорости работы и качества ответов на слабых устройствах.
Рекомендуется использовать стрелу в следующих целях:
 * Чат бот для диалога
 * Написатель историй
 * Написатель песен
 * Перевод русского и английского языка
 * Когда неэффективно использовать более тяжёлые модели

## Описание от самой стрелы
Я представляю собой компьютерную программу, которая была разработана для обработки и анализа естественного языка.
Я обладаю способностью понимать, анализировать и обрабатывать естественный язык, что позволяет мне общаться с людьми через различные каналы коммуникации. Моя основная цель - помочь людям в решении задач и предоставить информацию на основе запроса.
Я могу использоваться для различных целей: от автоматической генерации текста, перевода с одного языка на другой или даже создания собственных стихов и песен.
## Использование модели онлайн
Вы можете попробовать её [здесь](https://huggingface.co./spaces/gai-labs/chat-with-strela-q4_k_m).
## Использование модели для чата в приложении
Рекомендуется [GTP4ALL](https://gpt4all.io/index.html), он поддерживает GGUF, поэтому нужно скачать [особый вариант модели в формате GGUF](https://huggingface.co./gai-labs/strela-GGUF).
## Использование модели для чата в Unity
Рекомендуется [LLM for Unity](https://assetstore.unity.com/packages/tools/ai-ml-integration/llm-for-unity-273604), он поддерживает GGUF, поэтому нужно скачать [особый вариант модели в формате GGUF](https://huggingface.co./gai-labs/strela-GGUF).
## Использование квантованной модели для чата в Python | Рекомендовано
Вы должны установить [gpt4all](https://docs.gpt4all.io/gpt4all_python.html)
```
pip install gpt4all
```
Затем, скачайте [GGUF версию модели](https://huggingface.co./gai-labs/strela-GGUF), и переместите файл в директорию вашего скрипта
```py
# Импорт библиотек
import os
from gpt4all import GPT4All

# Инициализация модели из файла strela-q4_k_m.gguf в текущей директории
model = GPT4All(model_name='strela-q4_k_m.gguf', model_path=os.getcwd())


# Функция, которая остановит генерацию, если стрела сгенерирует символ '#', который является началом объявления ролей
def stop_on_token_callback(token_id, token_string):
    if '#' in token_string:
        return False
    else:
        return True


# Промпт системы
system_template = """### System:
You are an AI assistant who gives a helpfull response to whatever human ask of you.
"""

# Промпт человека и ИИ
prompt_template = """
### Human:
{0}
### Assistant:
"""

# Сессия чата
with model.chat_session(system_template, prompt_template):
    print("Что-бы выйти, введите 'Выход'")
    while True:
        print('')
        user_input = input(">>> ")
        if user_input.lower() != "выход":

            # Потоковая генерация
            for token in model.generate(user_input, streaming=True, callback=stop_on_token_callback):
                print(token, end='')
        else:
            break
```
```
Что-бы выйти, введите 'Выход'

>>> Привет
Здравствуйте! Как я могу помочь вам сегодня?
>>> 
```
## Использование полноценной модели для чата в Python
```py
# Импорт библиотек
from transformers import AutoTokenizer, AutoModelForCausalLM

# Загрузка модели
tokenizer = AutoTokenizer.from_pretrained("gai-labs/strela")
model = AutoModelForCausalLM.from_pretrained("gai-labs/strela")

# Промпт системы
system_prompt = "You are an AI assistant who gives a helpfull response to whatever human ask of you."

# Ваш промпт
prompt = "Привет!"

# Шаблон чата
chat = f"""### System:
{system_prompt}
### Human:
{prompt}
### Assistant:
"""

# Генерация
model_inputs = tokenizer([chat], return_tensors="pt")
generated_ids = model.generate(**model_inputs, max_new_tokens=64) # Настройте максимальное количество токенов для генерации
output = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

# Очистка выводов от шаблона чата
output = output.replace(chat, "")

# Вывод результатов генерации
print(output)
```
```
Привет! Чем могу помочь?
```
## Использование модели для генерации текста в Python
```py
# Импорт библиотек
from transformers import AutoTokenizer, AutoModelForCausalLM

# Загрузка модели
tokenizer = AutoTokenizer.from_pretrained("gai-labs/strela")
model = AutoModelForCausalLM.from_pretrained("gai-labs/strela")

# Промпт
prompt = "ИИ - "

# Генерация
model_inputs = tokenizer([prompt], return_tensors="pt")
generated_ids = model.generate(**model_inputs, max_new_tokens=64) # Настройте максимальное количество токенов для генерации
output = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

# Вывод результатов генерации
print(output)
```
```
ИИ - это область компьютерных наук и технологий, которая занимается созданием машин, способных "понимать" человека или выполнять задачи с аналогичной логикой, как у людей.
```