import gradio as gr from transformers import AutoTokenizer, AutoModelForSeq2SeqLM import torch # 1. Загружаем модель вручную (это исправит ошибку KeyError) model_name = "MBZUAI/LaMini-Flan-T5-77M" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSeq2SeqLM.from_pretrained(model_name) # 2. Логика генерации текста def tinislm_chat(message, history): # Промпт для модели (без лишнего мусора в чате) prompt = f"Answer briefly: {message}" # Кодируем текст для нейросети inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=512) # Генерируем ответ with torch.no_grad(): outputs = model.generate( **inputs, max_length=256, do_sample=True, temperature=0.7, top_p=0.9 ) # Декодируем обратно в текст answer = tokenizer.decode(outputs[0], skip_special_tokens=True) return answer # 3. ТОТ САМЫЙ СТИЛЬ (настройки из первого варианта) # Мы создаем тему "Soft" и перекрашиваем её в черный theme = gr.themes.Soft( primary_hue="blue", secondary_hue="slate", font=[gr.themes.GoogleFont("Inter"), "ui-sans-serif", "system-ui"], ).set( # Настройки черного фона и синих акцентов body_background_fill="#000000", block_background_fill="#0a0a0a", block_border_width="1px", block_label_text_color="#3b82f6", button_primary_background_fill="#3b82f6", button_primary_text_color="#ffffff", border_color_primary="#3b82f6" ) # 4. Создаем интерфейс чата demo = gr.ChatInterface( fn=tinislm_chat, title="🚀 tinislm-v1.0-mn", description="Разработчик: GGsher. Тот самый стиль, тот самый чат.", theme=theme, # Примеры запросов examples=["Кто такой Альберт Эйнштейн?", "Расскажи анекдот про роботов", "Как сделать ИИ на телефоне?"], # Переименовываем кнопки submit_btn="Отправить", stop_btn="Стоп", retry_btn="🔄 Повторить", undo_btn="↩️ Отмена", clear_btn="🗑️ Удалить всё", ) # Запуск if __name__ == "__main__": demo.launch()