YAML Metadata Warning:The pipeline tag "conversational" is not in the official list: text-classification, token-classification, table-question-answering, question-answering, zero-shot-classification, translation, summarization, feature-extraction, text-generation, fill-mask, sentence-similarity, text-to-speech, text-to-audio, automatic-speech-recognition, audio-to-audio, audio-classification, audio-text-to-text, voice-activity-detection, depth-estimation, image-classification, object-detection, image-segmentation, text-to-image, image-to-text, image-to-image, image-to-video, unconditional-image-generation, video-classification, reinforcement-learning, robotics, tabular-classification, tabular-regression, tabular-to-text, table-to-text, multiple-choice, text-ranking, text-retrieval, time-series-forecasting, text-to-video, image-text-to-text, image-text-to-image, image-text-to-video, visual-question-answering, document-question-answering, zero-shot-image-classification, graph-ml, mask-generation, zero-shot-object-detection, text-to-3d, image-to-3d, image-feature-extraction, video-text-to-text, keypoint-detection, visual-document-retrieval, any-to-any, video-to-video, other

Saiga/Mistral 7B, Russian Mistral-based chatbot

Based on Mistral OpenOrca.

This is an adapter-only version.

Merged version: link

Llama.cpp version: link

Colab: link

Training code: link.

import torch
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig

MODEL_NAME = "IlyaGusev/saiga_mistral_7b"
DEFAULT_MESSAGE_TEMPLATE = "<s>{role}\n{content}</s>"
DEFAULT_RESPONSE_TEMPLATE = "<s>bot\n"
DEFAULT_SYSTEM_PROMPT = "Π’Ρ‹ β€” Π‘Π°ΠΉΠ³Π°, русскоязычный автоматичСский ассистСнт. Π’Ρ‹ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π΅ΡˆΡŒ с людьми ΠΈ помогаСшь ΠΈΠΌ."

class Conversation:
    def __init__(
        self,
        message_template=DEFAULT_MESSAGE_TEMPLATE,
        system_prompt=DEFAULT_SYSTEM_PROMPT,
        response_template=DEFAULT_RESPONSE_TEMPLATE
    ):
        self.message_template = message_template
        self.response_template = response_template
        self.messages = [{
            "role": "system",
            "content": system_prompt
        }]

    def add_user_message(self, message):
        self.messages.append({
            "role": "user",
            "content": message
        })

    def add_bot_message(self, message):
        self.messages.append({
            "role": "bot",
            "content": message
        })

    def get_prompt(self, tokenizer):
        final_text = ""
        for message in self.messages:
            message_text = self.message_template.format(**message)
            final_text += message_text
        final_text += DEFAULT_RESPONSE_TEMPLATE
        return final_text.strip()


def generate(model, tokenizer, prompt, generation_config):
    data = tokenizer(prompt, return_tensors="pt", add_special_tokens=False)
    data = {k: v.to(model.device) for k, v in data.items()}
    output_ids = model.generate(
        **data,
        generation_config=generation_config
    )[0]
    output_ids = output_ids[len(data["input_ids"][0]):]
    output = tokenizer.decode(output_ids, skip_special_tokens=True)
    return output.strip()

config = PeftConfig.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(
    config.base_model_name_or_path,
    load_in_8bit=True,
    torch_dtype=torch.float16,
    device_map="auto"
)
model = PeftModel.from_pretrained(
    model,
    MODEL_NAME,
    torch_dtype=torch.float16
)
model.eval()

tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, use_fast=False)
generation_config = GenerationConfig.from_pretrained(MODEL_NAME)
print(generation_config)

inputs = ["ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Ρ€Π°Π²Π° зСлСная?", "Π‘ΠΎΡ‡ΠΈΠ½ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ рассказ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ упоминая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π”Π°Π½ΠΎ: Ваня, мяч"]
for inp in inputs:
    conversation = Conversation()
    conversation.add_user_message(inp)
    prompt = conversation.get_prompt(tokenizer)

    output = generate(model, tokenizer, prompt, generation_config)
    print(inp)
    print(output)
    print()
    print("==============================")
    print()

Examples:

User: ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Ρ€Π°Π²Π° зСлСная? 
Saiga: Π—Π΅Π»Π΅Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ Ρƒ растСний обусловлСн Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π² Π½ΠΈΡ… Ρ…Π»ΠΎΡ€ΠΎΡ„ΠΈΠ»Π»Π° - ΠΏΠΈΠ³ΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ участиС Π² процСссС фотосинтСза.
ЀотосинтСз - это процСсс, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ растСния ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΡΠ½Π΅Ρ€Π³ΠΈΡŽ ΠΈΠ· свСта ΠΈ углСкислого Π³Π°Π·Π° (CO2), прСвращая ΠΈΡ… Π² органичСскиС соСдинСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ сахара ΠΈ ΠΆΠΈΡ€Ρ‹.
Π₯Π»ΠΎΡ€ΠΎΡ„ΠΈΠ»Π» ΠΏΠΎΠ³Π»ΠΎΡ‰Π°Π΅Ρ‚ свСтовыС Π²ΠΎΠ»Π½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π»ΠΈΠ½Ρƒ 430-450 Π½ΠΌ (синий Ρ†Π²Π΅Ρ‚) ΠΈ 670-680 Π½ΠΌ (красный Ρ†Π²Π΅Ρ‚).
Π­Ρ‚ΠΈ Π²ΠΎΠ»Π½Ρ‹ ΠΏΠΎΠ³Π»ΠΎΡ‰Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΌΠΎΠ»Π΅ΠΊΡƒΠ»Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°.
User: Π‘ΠΎΡ‡ΠΈΠ½ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ рассказ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ упоминая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π”Π°Π½ΠΎ: Ваня, мяч
Saiga: Ваня Π±Ρ‹Π»Π° малСнькой Π΄Π΅Π²ΠΎΡ‡ΠΊΠΎΠΉ, которая любила ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² Ρ„ΡƒΡ‚Π±ΠΎΠ». Она ΠΆΠΈΠ»Π° Π² нСбольшом Π³ΠΎΡ€ΠΎΠ΄ΠΊΠ΅, Π³Π΄Π΅ всС Π·Π½Π°Π»ΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° ΠΈ всСгда Π±Ρ‹Π»ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΠΌΠΎ
Ρ‡ΡŒ. Π£ Π’Π°Π½ΠΈ Π±Ρ‹Π» СдинствСнный мяч, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½Π° Π½Π°Π·Ρ‹Π²Π°Π»Π° "ΠœΡΡ‡ΠΈΠΊ". Он Π±Ρ‹Π» старым, Π½ΠΎ для Π’Π°Π½ΠΈ ΠΎΠ½ Π±Ρ‹Π» самым Ρ†Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ Π² ΠΌΠΈΡ€Π΅.
ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹, ΠΊΠΎΠ³Π΄Π° Ваня ΠΈΠ³Ρ€Π°Π»Π° Π² Ρ„ΡƒΡ‚Π±ΠΎΠ» со своими Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ, ΠœΡΡ‡ΠΈΠΊ ΠΏΡ€ΠΎΠΏΠ°Π». ВсС ΠΎΠ½ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ поиск, Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ. Ваня Π±Ρ‹Π»Π° ΠΎΡ‡Π΅Π½ΡŒ грустна, вСдь Π±Π΅Π· своСго ΠœΡΡ‡ΠΈΠΊΠ° ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² свою Π»ΡŽΠ±ΠΈΠΌΡƒΡŽ ΠΈΠ³Ρ€Ρƒ.
Π’ это врСмя Π² Π³ΠΎΡ€ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» Ρ„Π΅ΡΡ‚ΠΈΠ²Π°Π»ΡŒ, ΠΈ всС ΠΆΠΈΡ‚Π΅Π»ΠΈ ΡΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π½Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ. Ваня Ρ€Π΅ΡˆΠΈΠ»Π° ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρƒ всСх ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…. Она рассказала ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΎ своСм ΠœΡΡ‡ΠΈΠΊΠ΅ ΠΈ просила ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π² Π΅Π³ΠΎ поискС. Вся Ρ‚ΠΎΠ»ΠΏΠ° сочувствовала Π’Π°Π½Π΅ ΠΈ ΠΎΠ±Π΅Ρ‰Π°Π»Π° ΠΏΠΎΠΌΠΎΡ‡ΡŒ.
На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ дСнь, ΠΊΠΎΠ³Π΄Π° Ρ„Π΅ΡΡ‚ΠΈΠ²Π°Π»ΡŒ закончился, Ваня ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π·Π²ΠΎΠ½ΠΎΠΊ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ Π³ΠΎΡ€ΠΎΠ΄Π°. Он сказал, Ρ‡Ρ‚ΠΎ нашСл Π΅Ρ‘ ΠœΡΡ‡ΠΈΠΊ ΠΈ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅ΠΌΡƒ. Ваня Π±Ρ‹Π»Π° Ρ€Π°Π΄Π° ΠΈ с Ρ€Π°Π΄ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»Π°ΡΡŒ ΠΊ Π½Π΅ΠΌΡƒ.
Когда ΠΎΠ½Π° ΠΏΡ€ΠΈΡˆΠ»Π° ΠΊ Π΄ΠΎΠΌΡƒ, Π³Π΄Π΅ находился ΠœΡΡ‡ΠΈΠΊ, ΠΎΠ½Π° ΡƒΠ²ΠΈΠ΄Π΅Π»Π°, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±Ρ‹Π» Π² Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ состоянии. ΠœΡΡ‡ΠΈΠΊ Π±Ρ‹Π» чистым ΠΈ блСстящим, ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ. Ваня Π±Ρ‹Π»Π° ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π΄Π° ΠΈ с большим ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ΠΌ приняла свой ΠœΡΡ‡ΠΈΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.
Ваня ΠΈ Π΅Π΅ Π΄Ρ€ΡƒΠ·ΡŒΡ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² Ρ„ΡƒΡ‚Π±ΠΎΠ», ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΈΠ³Ρ€Π°Π»ΠΈ, ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠœΡΡ‡ΠΈΠΊ вСрнулся ΠΊ Π½Π΅ΠΉ. ИмСнно благодаря этому, ΠΎΠ½ΠΈ стали Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ ΠΈ всСгда ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° Π² Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹Ρ… ситуациях.
И Ρ‚Π°ΠΊ, Ваня ΠΈ Π΅Π΅ ΠœΡΡ‡ΠΈΠΊ стали Π»Π΅Π³Π΅Π½Π΄Π°Ρ€Π½Ρ‹ΠΌΠΈ Π² Π³ΠΎΡ€ΠΎΠ΄Π΅, ΠΈ ΠΈΡ… история ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»Π°ΡΡŒ ΠΈΠ· поколСния Π² ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅. И Π²ΠΎΡ‚ Ρ‚Π°ΠΊ, ΠœΡΡ‡ΠΈΠΊ стал символом Π΄Ρ€ΡƒΠΆΠ±Ρ‹ ΠΈ вСрности, ΠΈ всС, ΠΊΡ‚ΠΎ Π·Π½Π°Π» эту ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ваня ΠΈ Π΅Π΅ ΠœΡΡ‡ΠΈΠΊ - ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅.

v1:

  • dataset code revision d0d123dd221e10bb2a3383bcb1c6e4efe1b4a28a
  • wandb link
  • 5 datasets: ru_turbo_saiga, ru_sharegpt_cleaned, oasst1_ru_main_branch, gpt_roleplay_realm, ru_instruct_gpt4
  • Datasets merging script: create_short_chat_set.py
  • saiga_mistral_7b vs saiga2_13b: 243-31-141
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ 1 Ask for provider support

Model tree for IlyaGusev/saiga_mistral_7b_lora

Adapters
1 model
Quantizations
3 models

Datasets used to train IlyaGusev/saiga_mistral_7b_lora

Spaces using IlyaGusev/saiga_mistral_7b_lora 3

Collection including IlyaGusev/saiga_mistral_7b_lora