strela / README.md
Blue-kod's picture
Update README.md
e63851f verified
metadata
license: cc-by-sa-4.0
language:
  - ru
  - en
pipeline_tag: text-generation
library_name: transformers

English version

Стрела — это мощная языковая модель, созданная для обеспечения высокой скорости работы и качества ответов на слабых устройствах. Рекомендуется использовать стрелу в следующих целях:

  • Чат бот для диалога
  • Написатель историй
  • Написатель песен
  • Перевод русского и английского языка
  • Когда неэффективно использовать более тяжёлые модели

Описание от самой стрелы

Я представляю собой компьютерную программу, которая была разработана для обработки и анализа естественного языка. Я обладаю способностью понимать, анализировать и обрабатывать естественный язык, что позволяет мне общаться с людьми через различные каналы коммуникации. Моя основная цель - помочь людям в решении задач и предоставить информацию на основе запроса. Я могу использоваться для различных целей: от автоматической генерации текста, перевода с одного языка на другой или даже создания собственных стихов и песен.

Использование модели онлайн

Вы можете попробовать её здесь.

Использование модели для чата в приложении

Рекомендуется GTP4ALL, он поддерживает GGUF, поэтому нужно скачать особый вариант модели в формате GGUF.

Использование модели для чата в Unity

Рекомендуется LLM for Unity, он поддерживает GGUF, поэтому нужно скачать особый вариант модели в формате GGUF.

Использование квантованной модели для чата в Python | Рекомендовано

Вы должны установить gpt4all

pip install gpt4all

Затем, скачайте GGUF версию модели, и переместите файл в директорию вашего скрипта

# Импорт библиотек
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

# Импорт библиотек
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

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