Create app.py
Browse files
    	
        app.py
    ADDED
    
    | @@ -0,0 +1,30 @@ | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
|  | |
| 1 | 
            +
            import gradio as gr
         | 
| 2 | 
            +
            from transformers import AutoModelForCausalLM, AutoTokenizer
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            # Загрузка модели и токенизатора
         | 
| 5 | 
            +
            model_name = "IlyaGusev/saiga_yandexgpt_8b"
         | 
| 6 | 
            +
            tokenizer = AutoTokenizer.from_pretrained(model_name)
         | 
| 7 | 
            +
            model = AutoModelForCausalLM.from_pretrained(model_name)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            # Функция для генерации текста
         | 
| 10 | 
            +
            def generate_text(input_text):
         | 
| 11 | 
            +
                inputs = tokenizer(input_text, return_tensors="pt")
         | 
| 12 | 
            +
                outputs = model.generate(
         | 
| 13 | 
            +
                    **inputs,
         | 
| 14 | 
            +
                    max_new_tokens=300,  # Ограничение длины ответа
         | 
| 15 | 
            +
                    do_sample=True,      # Для разнообразия ответов
         | 
| 16 | 
            +
                    temperature=0.7      # Настройка "креативности"
         | 
| 17 | 
            +
                )
         | 
| 18 | 
            +
                return tokenizer.decode(outputs[0], skip_special_tokens=True)
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            # Создание интерфейса Gradio
         | 
| 21 | 
            +
            interface = gr.Interface(
         | 
| 22 | 
            +
                fn=generate_text,
         | 
| 23 | 
            +
                inputs=gr.Textbox(lines=2, placeholder="Введите ваш запрос..."),
         | 
| 24 | 
            +
                outputs="text",
         | 
| 25 | 
            +
                title="Saiga YandexGPT 8B Demo",
         | 
| 26 | 
            +
                description="Задайте вопрос модели Saiga YandexGPT 8B!"
         | 
| 27 | 
            +
            )
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            # Запуск приложения
         | 
| 30 | 
            +
            interface.launch()
         | 
