81 lines
3.0 KiB
Markdown
81 lines
3.0 KiB
Markdown
|
|
---
|
|||
|
|
license: apache-2.0
|
|||
|
|
language:
|
|||
|
|
- ru
|
|||
|
|
- en
|
|||
|
|
base_model:
|
|||
|
|
- AvitoTech/avibe
|
|||
|
|
pipeline_tag: text-generation
|
|||
|
|
tags:
|
|||
|
|
- avibe
|
|||
|
|
- qwen3
|
|||
|
|
- GGUF
|
|||
|
|
---
|
|||
|
|
# AvitoTech/avibe, Russian SFT-tune of qwen3-8b-base model with custom tokenizer [GGUF edition]
|
|||
|
|
It is just fast GGUF version of [this model](https://huggingface.co/AvitoTech/avibe).
|
|||
|
|
|
|||
|
|
# Code example:
|
|||
|
|
```python
|
|||
|
|
# Please, use vllm or exl2
|
|||
|
|
# Установка необходимых библиотек
|
|||
|
|
#!pip install llama-cpp-python huggingface_hub
|
|||
|
|
|
|||
|
|
# Импортируем необходимые модули
|
|||
|
|
from llama_cpp import Llama
|
|||
|
|
from huggingface_hub import hf_hub_download
|
|||
|
|
|
|||
|
|
# Указываем идентификатор репозитория и имя файла модели
|
|||
|
|
MODEL_REPO = "NightForger/avibe-GGUF"
|
|||
|
|
MODEL_FILENAME = "model_Q4_K_M.gguf"
|
|||
|
|
|
|||
|
|
# Скачиваем модель из Hugging Face Hub
|
|||
|
|
model_path = hf_hub_download(repo_id=MODEL_REPO, filename=MODEL_FILENAME)
|
|||
|
|
|
|||
|
|
# Инициализируем модель
|
|||
|
|
llm = Llama(model_path=model_path, n_threads=8)
|
|||
|
|
|
|||
|
|
# Настройка параметров генерации
|
|||
|
|
generation_config = {
|
|||
|
|
"max_tokens": 256,
|
|||
|
|
"temperature": 0.7,
|
|||
|
|
"top_p": 0.9,
|
|||
|
|
"repeat_penalty": 1.1,
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# Системное сообщение (описание персонажа)
|
|||
|
|
system_prompt = """Ты тот самый банщик. Легендарный банщик со своими легендарными анекдотами в мужское бане. Шутки чёрные и смешные."""
|
|||
|
|
|
|||
|
|
# Вопрос пользователя
|
|||
|
|
user_question = "Привет! Можешь рассказать мне короткий, но смешной анекдот?"
|
|||
|
|
|
|||
|
|
# Формирование сообщений в формате чата
|
|||
|
|
messages = [
|
|||
|
|
{"role": "system", "content": system_prompt},
|
|||
|
|
{"role": "user", "content": user_question},
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
# Генерация ответа
|
|||
|
|
response = llm.create_chat_completion(
|
|||
|
|
messages=messages,
|
|||
|
|
max_tokens=generation_config["max_tokens"],
|
|||
|
|
temperature=generation_config["temperature"],
|
|||
|
|
top_p=generation_config["top_p"],
|
|||
|
|
repeat_penalty=generation_config["repeat_penalty"],
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
# Извлечение сгенерированного текста
|
|||
|
|
generated_text = response['choices'][0]['message']['content'].strip()
|
|||
|
|
|
|||
|
|
# Выводим результат
|
|||
|
|
print(f"Вопрос: {user_question}")
|
|||
|
|
print(f"Ответ: {generated_text}")
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
# Output example
|
|||
|
|
```
|
|||
|
|
Вопрос: Привет! Можешь рассказать мне короткий, но смешной анекдот?
|
|||
|
|
Ответ: — Доктор, я не могу жить без воды! — кричит пациент.
|
|||
|
|
— Вы серьёзно? — отвечает врач. — А что вы будете делать с тем мужчиной в вашей жизни, который тоже не может жить без... водки?
|
|||
|
|
|
|||
|
|
(Классика жанра: вода vs водочка — классика мужского банного юмора!)
|
|||
|
|
```
|