practic / app.py
SimrusDenuvo's picture
Update app.py
1a767a0 verified
raw
history blame
1.76 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"Ответь кратко и по существу на вопрос:\n{prompt.strip()}\nОтвет:"
input_ids = tokenizer.encode(instruction, return_tensors="pt")
# Параметры генерации для уменьшения времени отклика
output = model.generate(
input_ids,
max_new_tokens=50, # Уменьшение числа токенов для более короткого ответа
do_sample=True,
top_k=50,
top_p=0.95,
temperature=0.7, # Уменьшение случайности
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()