|
--- |
|
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) |
|
``` |
|
``` |
|
ИИ - это область компьютерных наук и технологий, которая занимается созданием машин, способных "понимать" человека или выполнять задачи с аналогичной логикой, как у людей. |
|
``` |