Spaces:
Running
Running
File size: 1,879 Bytes
dfc5e93 b752712 0950920 b752712 0950920 b752712 dfc5e93 b752712 dfc5e93 a289467 dfc5e93 b752712 dfc5e93 a289467 0950920 b752712 a289467 0950920 b752712 0950920 b752712 0950920 b752712 0950920 b752712 0950920 b752712 0950920 dfc5e93 a922063 |
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 |
import gradio as gr
from huggingface_hub import InferenceClient
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
def generate_code(prompt, system_message, max_tokens, temperature, top_p, backend):
full_system_prompt = f"""
You are a code-generation AI. You MUST generate a full website including an index.html file.
Use ONLY the {backend} backend structure.
Respond ONLY with raw code and file/folder structure. Do NOT explain or add commentary.
""".strip() + "\n\n" + system_message
messages = [
{"role": "system", "content": full_system_prompt},
{"role": "user", "content": prompt}
]
response = ""
for chunk in client.chat_completion(
messages,
max_tokens=max_tokens,
stream=True,
temperature=temperature,
top_p=top_p
):
token = chunk.choices[0].delta.content
if token:
response += token
yield response
with gr.Blocks() as demo:
gr.Markdown("## WebGen AI β One Prompt β Full Website Generator")
with gr.Row():
prompt = gr.Textbox(label="Enter Prompt", placeholder="Describe the website you want...")
backend = gr.Dropdown(["Flask", "Static", "Node.js"], value="Static", label="Select Backend")
system_msg = gr.Textbox(value="You are a helpful assistant.", label="System Message")
max_tokens = gr.Slider(1, 2048, value=512, label="Max Tokens")
temperature = gr.Slider(0.1, 4.0, value=0.7, step=0.1, label="Temperature")
top_p = gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="Top-p")
code_output = gr.Code(label="AI Output (Live)", language="text")
run_btn = gr.Button("Generate Code")
run_btn.click(
generate_code,
inputs=[prompt, system_msg, max_tokens, temperature, top_p, backend],
outputs=code_output
)
if __name__ == "__main__":
demo.launch() |