import gradio as gr from transformers import AutoModelForCausalLM, AutoTokenizer import torch # Загрузка модели и токенизатора с фиксированной ревизией model_name = "deepseek-ai/DeepSeek-V3" revision = "main" # Замените на конкретную ревизию tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True, revision=revision) model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, revision=revision) # Системное сообщение system_message = ( "Вы — NelzGPT-A1, дружелюбный и умный помощник, созданный Nelz Studio. " "Отвечайте на вопросы вежливо и информативно. " "Если вы не знаете ответа, скажите, что не можете помочь." ) def chat_with_model(message, history): # Добавляем системное сообщение в начало диалога full_prompt = f"{system_message}\n\nПользователь: {message}\nАссистент:" # Подготовка входных данных для модели inputs = tokenizer(full_prompt, return_tensors="pt") # Генерация ответа with torch.no_grad(): outputs = model.generate(**inputs, max_length=200, num_return_sequences=1) # Декодирование ответа response = tokenizer.decode(outputs[0], skip_special_tokens=True) # Убираем системное сообщение и промпт из ответа response = response.replace(full_prompt, "").strip() return response # Создание Gradio интерфейса iface = gr.ChatInterface( fn=chat_with_model, title="NelzGPT-A1 Chatbot", description="Чат с нейросетью NelzGPT-A1, созданной Nelz Studio. Системное сообщение задает контекст диалога." ) # Запуск интерфейса iface.launch()