practic / app.py
SimrusDenuvo's picture
Update app.py
42ccf19 verified
raw
history blame
1.59 kB
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import gradio as gr
# Загрузка модели и токенизатора
model_name = "sberbank-ai/rugpt3medium_based_on_gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Функция генерации ответа
def generate_response(prompt):
instruction = f"Ответь кратко и понятно на вопрос: {prompt.strip()}"
input_ids = tokenizer.encode(instruction, return_tensors="pt")
# Генерация ответа
output = model.generate(
input_ids,
max_length=150,
do_sample=True,
top_k=50,
top_p=0.95,
temperature=0.8,
pad_token_id=tokenizer.eos_token_id,
eos_token_id=tokenizer.eos_token_id
)
# Декодирование и удаление излишней части промпта
response = tokenizer.decode(output[0], skip_special_tokens=True)
# Возвращаем только ответ, без дублирования запроса
return response.replace(instruction, "").strip()
# Интерфейс Gradio
iface = gr.Interface(
fn=generate_response,
inputs=gr.Textbox(label="Введите ваш вопрос"),
outputs=gr.Textbox(label="Ответ модели"),
title="Ответ от ruGPT-3 Medium",
description="Генерация ответа с помощью модели Sberbank ruGPT-3 Medium"
)
# Запуск интерфейса
iface.launch()