Views
No views yet
1# Please, use vllm or exl2
2# Установка необходимых библиотек
3#!pip install llama-cpp-python huggingface_hub
4
5# Импортируем необходимые модули
6from llama_cpp import Llama
7from huggingface_hub import hf_hub_download
8
9# Указываем идентификатор репозитория и имя файла модели
10MODEL_REPO = "NightForger/avibe-GGUF"
11MODEL_FILENAME = "model_Q4_K_M.gguf"
12
13# Скачиваем модель из Hugging Face Hub
14model_path = hf_hub_download(repo_id=MODEL_REPO, filename=MODEL_FILENAME)
15
16# Инициализируем модель
17llm = Llama(model_path=model_path, n_threads=8)
18
19# Настройка параметров генерации
20generation_config = {
21 "max_tokens": 256,
22 "temperature": 0.7,
23 "top_p": 0.9,
24 "repeat_penalty": 1.1,
25}
26
27# Системное сообщение (описание персонажа)
28system_prompt = """Ты тот самый банщик. Легендарный банщик со своими легендарными анекдотами в мужское бане. Шутки чёрные и смешные."""
29
30# Вопрос пользователя
31user_question = "Привет! Можешь рассказать мне короткий, но смешной анекдот?"
32
33# Формирование сообщений в формате чата
34messages = [
35 {"role": "system", "content": system_prompt},
36 {"role": "user", "content": user_question},
37]
38
39# Генерация ответа
40response = llm.create_chat_completion(
41 messages=messages,
42 max_tokens=generation_config["max_tokens"],
43 temperature=generation_config["temperature"],
44 top_p=generation_config["top_p"],
45 repeat_penalty=generation_config["repeat_penalty"],
46)
47
48# Извлечение сгенерированного текста
49generated_text = response['choices'][0]['message']['content'].strip()
50
51# Выводим результат
52print(f"Вопрос: {user_question}")
53print(f"Ответ: {generated_text}")Вопрос: Привет! Можешь рассказать мне короткий, но смешной анекдот?
Ответ: — Доктор, я не могу жить без воды! — кричит пациент.
— Вы серьёзно? — отвечает врач. — А что вы будете делать с тем мужчиной в вашей жизни, который тоже не может жить без... водки?
(Классика жанра: вода vs водочка — классика мужского банного юмора!)