from transformers import AutoTokenizer, AutoModelForSeq2SeqLM import gradio as gr # CodeT5 modelini yükle model_name = "Salesforce/codet5-base" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSeq2SeqLM.from_pretrained(model_name) # Kod üretme fonksiyonu def generate_java_code(prompt): # Girdi metnini tokenize et inputs = tokenizer(prompt, return_tensors="pt", max_length=512, truncation=True) # Modelden kod üret outputs = model.generate( inputs["input_ids"], max_length=150, # Çıktı kodunun maksimum uzunluğu num_beams=4, # Beam search ile daha kaliteli sonuçlar early_stopping=True ) # Tokenize edilmiş çıktıyı kod olarak döndür code = tokenizer.decode(outputs[0], skip_special_tokens=True) return code # Gradio UI tasarımı with gr.Blocks() as demo: gr.Markdown("

Java Kod Üretici (CodeT5)

") prompt = gr.Textbox(label="Doğal Dil Girdisi", placeholder="Örnek: Write a Java program to find the larger of two numbers.") output_code = gr.Textbox(label="Üretilen Java Kodu", lines=10) btn = gr.Button("Kod Üret") btn.click(generate_java_code, inputs=prompt, outputs=output_code) demo.launch()