Spaces:
Sleeping
Sleeping
File size: 3,675 Bytes
68300d0 8cbfc7e 1275349 fe67270 0062f54 fe67270 68300d0 464f8f9 fe67270 78ac0ef 4c2e13f 78ac0ef 4c2e13f 78ac0ef 1275349 32f05f8 7030ad8 32f05f8 78ac0ef 1275349 4c2e13f 78ac0ef 464f8f9 fe67270 464f8f9 78ac0ef fe67270 78ac0ef 32f05f8 f747916 32f05f8 f747916 32f05f8 f747916 32f05f8 0062f54 32f05f8 0062f54 32f05f8 464f8f9 32f05f8 0062f54 464f8f9 0062f54 fe67270 9f5efd5 fe67270 32f05f8 fe67270 78ac0ef 437bce8 fe67270 1275349 fe67270 501365f 0062f54 68300d0 464f8f9 68300d0 78ac0ef 32f05f8 78ac0ef 0062f54 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
import gradio as gr
from huggingface_hub import hf_hub_download
from llama_cpp import Llama
# Так надо
model = None
def load_model():
global model
try:
print("Начинаем загрузку модели из Hub...")
model_path = hf_hub_download(
repo_id="AugustLight/LLight-3.2-3B-Instruct",
filename="Llight.Q8_0.gguf",
repo_type="model"
)
print(f"Модель загружена в: {model_path}")
model = Llama(
model_path=model_path,
n_ctx=2048, # Размер контекста
n_threads=4, # Количество потоков
n_batch=512 # Размер батча
)
print("Модель успешно инициализирована!")
return model
except Exception as e:
print(f"Подробная ошибка при загрузке модели: {str(e)}")
raise e
def respond(message, history, system_message, max_new_tokens, temperature, top_p):
try:
global model
if model is None:
model = load_model()
context = f"{system_message}\n\n"
for user_msg, assistant_msg in history:
context += f"User: {user_msg}\nAssistant: {assistant_msg}\n"
context += f"User: {message}\nAssistant: "
print(f"Генерируем ответ для контекста длиной {len(context)} символов")
response = model(
prompt=context,
max_tokens=max_new_tokens,
temperature=temperature,
top_p=top_p,
stop=["User:", "\n\n", "<|endoftext|>"],
echo=False # Не возвращать промпт в ответе
)
generated_text = response['choices'][0]['text']
print(f"Ответ сгенерирован успешно, длина: {len(generated_text)}")
return generated_text.strip()
except Exception as e:
error_msg = f"Произошла ошибка: {str(e)}"
print(error_msg)
return error_msg
demo = gr.ChatInterface(
respond,
additional_inputs=[
gr.Textbox(
value="Ты дружелюбный и полезный ассистент. Отвечай обдуманно и по делу.",
label="System message"
),
gr.Slider(
minimum=1,
maximum=2048,
value=512,
step=1,
label="Max new tokens"
),
gr.Slider(
minimum=0.1,
maximum=2.0,
value=0.3,
step=0.1,
label="Temperature"
),
gr.Slider(
minimum=0.1,
maximum=1.0,
value=0.95,
step=0.05,
label="Top-p (nucleus sampling)"
),
],
title="GGUF Chat Model",
description="Чат с GGUF моделью (LLight-3.2-3B-Instruct)",
examples=[
["Привет! Как дела?"],
["Расскажи мне о себе"],
["Что ты умеешь делать?"]
],
cache_examples=False
)
# Запускаем приложение
if __name__ == "__main__":
try:
print("Инициализация приложения...")
model = load_model()
print("Модель загружена успешно при старте")
except Exception as e:
print(f"Ошибка при инициализации: {str(e)}")
demo.launch() |