priyasaravana/CodeSummarization
0
1import gradio2import os3import time4import csv5import datetime6from transformers import RobertaTokenizer, T5ForConditionalGeneration7 8def evaluate(sentence):9 tokenizer = RobertaTokenizer.from_pretrained('Salesforce/codet5-base')10 model = T5ForConditionalGeneration.from_pretrained('Salesforce/codet5-base-multi-sum')11 12 # Prepare the input text13 input_text = sentence.strip()14 input_ids = tokenizer.encode(input_text, return_tensors='pt')15 # Generate a summary16 generated_ids = model.generate(input_ids, max_length=20)17 summary = tokenizer.decode(generated_ids[0], skip_special_tokens=True)18 19 return summary20 21def predict(sentence): 22 timestamp = datetime.datetime.now().isoformat() 23 start_time = time.time() 24 predictions = evaluate(sentence) 25 elapsed_time = time.time() - start_time 26 output = predictions27 print(f"Sentence: {sentence} \nPrediction: {predictions}") 28 return output29 30gradio.Interface(31 fn=predict,32 inputs=gradio.inputs.Textbox(label="Enter Code Snippet:", placeholder="Type here...", lines=2),33 outputs="text",34 allow_flagging='never',35 title="Code Summarization"36).launch()