Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import ( | |
| AutoModelForSeq2SeqLM, | |
| AutoTokenizer, | |
| AutoConfig, | |
| pipeline, | |
| ) | |
| import torch | |
| from translator import translate_text # импортируем функцию переводчика | |
| model_name = "sagard21/python-code-explainer" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name, padding=True) | |
| model = AutoModelForSeq2SeqLM.from_pretrained(model_name) | |
| config = AutoConfig.from_pretrained(model_name) | |
| if torch.cuda.is_available(): | |
| model = model.to('cuda') # запускаем модель на GPU, если доступно | |
| model.eval() | |
| pipe = pipeline("summarization", model=model_name, config=config, tokenizer=tokenizer) | |
| def generate_text(text_prompt): | |
| response = pipe(text_prompt) | |
| english_explanation = response[0]['summary_text'] | |
| russian_explanation = translate_text(english_explanation) # переводим объяснение кода с англ на рус язык | |
| return english_explanation, russian_explanation | |
| textbox1 = gr.Textbox(value=""" | |
| class Solution(object): | |
| def isValid(self, s): | |
| stack = [] | |
| mapping = {")": "(", "}": "{", "]": "["} | |
| for char in s: | |
| if char in mapping: | |
| top_element = stack.pop() if stack else '#' | |
| if mapping[char] != top_element: | |
| return False | |
| else: | |
| stack.append(char) | |
| return not stack""") | |
| textbox2 = gr.Textbox() | |
| textbox3 = gr.Textbox() | |
| if __name__ == "__main__": | |
| with gr.Blocks() as demo: | |
| gr.Interface(fn=generate_text, inputs=textbox1, outputs=[textbox2, textbox3]) | |
| demo.launch() # запускаем Gradio-интерфейс | |