Kastroo's picture
Create app.py
ebc0cdf verified
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
# Load a small code model
model_name = "Salesforce/codegen-350M-multi"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
def generate_website(prompt):
instruction = f"""
You are an expert web developer.
Generate ONLY three files for the website:
===index.html===
(use semantic HTML, basic structure)
===style.css===
(responsive, clean CSS)
===script.js===
(simple JS interactions)
Do NOT include explanations.
User request: {prompt}
"""
result = generator(instruction, max_length=500)[0]['generated_text']
# Split into files
files = {}
if "===index.html===" in result:
parts = result.split("===")
for i in range(1, len(parts), 2):
name = parts[i].strip()
code = parts[i+1].strip()
files[name] = code
# Fallback if model output is unexpected
return (
files.get("index.html", ""),
files.get("style.css", ""),
files.get("script.js", "")
)
# Gradio UI
iface = gr.Interface(
fn=generate_website,
inputs=gr.Textbox(lines=3, placeholder="Describe your website..."),
outputs=[
gr.Textbox(label="index.html"),
gr.Textbox(label="style.css"),
gr.Textbox(label="script.js")
],
title="AI Website Generator",
description="Generate HTML/CSS/JS websites directly online. No files are saved locally."
)
iface.launch()