Text Generation
Transformers
PyTorch
codegen
File size: 2,918 Bytes
75608b3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import gradio as gr
from transformers import pipeline

# 🔥 Program Synthesis Modell
synthesizer = pipeline("text-generation", model="microsoft/CodeGPT-small-py")

# 🔹 Gravatar
GRAVATAR_URL = "https://www.gravatar.com/avatar/7e6d02f7b39c0f35f7eae2f404a7d0b1?s=200"
GRAVATAR_LINK = "https://gravatar.com/skymeilin"

# 🔹 Finger Funktionen
def code_analysis(prompt):
    return synthesizer(f"# Analysiere den Code:\n{prompt}\n# Analyse:", max_length=300)[0]['generated_text']

def code_optimization(prompt):
    return synthesizer(f"# Optimiere den folgenden Code:\n{prompt}\n# Optimierter Code:", max_length=300)[0]['generated_text']

def code_comment(prompt):
    return synthesizer(f"# Kommentiere den Code:\n{prompt}\n# Kommentar:", max_length=300)[0]['generated_text']

def code_multilang(prompt):
    return synthesizer(f"# Übersetze oder generiere in gewünschter Sprache:\n{prompt}\n# Code:", max_length=300)[0]['generated_text']

def code_debug(prompt):
    return synthesizer(f"# Finde Bugs und Vorschläge:\n{prompt}\n# Debug:", max_length=300)[0]['generated_text']

def code_test(prompt):
    return synthesizer(f"# Generiere Testfälle für:\n{prompt}\n# Tests:", max_length=300)[0]['generated_text']

def code_refactor(prompt):
    return synthesizer(f"# Refactore den Code nach Best Practices:\n{prompt}\n# Refactored Code:", max_length=300)[0]['generated_text']

def code_doc(prompt):
    return synthesizer(f"# Dokumentiere den Code:\n{prompt}\n# Dokumentation:", max_length=300)[0]['generated_text']

def code_boilerplate(prompt):
    return synthesizer(f"# Generiere Boilerplate / Deployment Code:\n{prompt}\n# Code:", max_length=300)[0]['generated_text']

def code_custom(prompt):
    return synthesizer(f"# Eigene Conversational Anfrage:\n{prompt}\n# Antwort:", max_length=300)[0]['generated_text']

# Mapping Finger-Buttons
fingers = {
    "Analyse": code_analysis,
    "Optimierung": code_optimization,
    "Kommentierung": code_comment,
    "Mehrsprachig": code_multilang,
    "Debugging": code_debug,
    "Testfälle": code_test,
    "Refactoring": code_refactor,
    "Dokumentation": code_doc,
    "Boilerplate": code_boilerplate,
    "Conversational": code_custom
}

# Gradio UI
with gr.Blocks() as app:
    # Header
    with gr.Row():
        gr.Image(GRAVATAR_URL, shape=(100,100), tooltips="Sky Meilin", interactive=True)
        gr.Markdown(f"## 🔥 Anycoder 30de8a5b – Conversational Program Synthesis\n**Sky Meilin** – [Gravatar Profil]({GRAVATAR_LINK})")
    
    # Input
    prompt_input = gr.Textbox(label="Beschreibung oder Code eingeben", placeholder="Z.B. 'Sortiere eine Liste...'", lines=8)
    
    # Finger Buttons
    output_code = gr.Textbox(label="Ergebnis", lines=10)
    with gr.Row():
        for name, func in fingers.items():
            gr.Button(name).click(func, inputs=prompt_input, outputs=output_code)

if __name__ == "__main__":
    app.launch()