Tinislm / app.py
GGsher's picture
Update app.py
6b9c814 verified
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()