CoolFace
Apppublic

computergibs/PythonHelper

sourceHugging Faceupdated 3y agoView on Hugging Face
1likes
app.py51 linesDownload Raw Back to root
1import gradio as gr2from transformers import (3    AutoModelForSeq2SeqLM,4    AutoTokenizer,5    AutoConfig,6    pipeline,7)8import torch9from translator import translate_text  # импортируем функцию переводчика10 11 12model_name = "sagard21/python-code-explainer"13tokenizer = AutoTokenizer.from_pretrained(model_name, padding=True)14model = AutoModelForSeq2SeqLM.from_pretrained(model_name)15config = AutoConfig.from_pretrained(model_name)16 17if torch.cuda.is_available():18    model = model.to('cuda')  # запускаем модель на GPU, если доступно19model.eval()20 21pipe = pipeline("summarization", model=model_name, config=config, tokenizer=tokenizer)22 23 24def generate_text(text_prompt):25    response = pipe(text_prompt)26    english_explanation = response[0]['summary_text']27    russian_explanation = translate_text(english_explanation)  # переводим объяснение кода с англ на рус язык28    return english_explanation, russian_explanation29 30 31textbox1 = gr.Textbox(value="""32class Solution(object):33    def isValid(self, s):34        stack = []35        mapping = {")": "(", "}": "{", "]": "["}36        for char in s:37            if char in mapping:38                top_element = stack.pop() if stack else '#'39                if mapping[char] != top_element:40                    return False41            else:42                stack.append(char)43        return not stack""")44textbox2 = gr.Textbox()45textbox3 = gr.Textbox()46 47if __name__ == "__main__":48    with gr.Blocks() as demo:49        gr.Interface(fn=generate_text, inputs=textbox1, outputs=[textbox2, textbox3])50    demo.launch()  # запускаем Gradio-интерфейс51