my-devops-space / app.py
Upshivam
Fix: use Qwen2.5-72B-Instruct - confirmed working model
9e109e0
import gradio as gr
import os
from huggingface_hub import InferenceClient
client = InferenceClient(
model="Qwen/Qwen2.5-72B-Instruct",
token=os.environ.get("HF_TOKEN")
)
def generate_dockerfile(description, base_os, app_type):
response = client.chat_completion(
messages=[
{
"role": "system",
"content": "You are a DevOps expert. Return ONLY Dockerfile content, no explanation, no markdown backticks."
},
{
"role": "user",
"content": f"""Generate a production-ready Dockerfile for:
Description: {description}
Base OS: {base_os}
App Type: {app_type}
Include:
- Multi-stage build if applicable
- Non-root user for security
- Health check
- Clear comments"""
}
],
max_tokens=800,
temperature=0.3
)
return response.choices[0].message.content
demo = gr.Interface(
fn=generate_dockerfile,
inputs=[
gr.Textbox(label="App Description", placeholder="e.g. A FastAPI app with PostgreSQL"),
gr.Dropdown(["ubuntu:22.04", "debian:slim", "alpine:3.18", "python:3.11-slim"], label="Base OS"),
gr.Dropdown(["Python/FastAPI", "Node.js", "Java/Spring", "Go", "React"], label="App Type")
],
outputs=gr.Code(language="dockerfile", label="Generated Dockerfile"),
title="🐳 DevOps Dockerfile Generator",
description="Generate production-ready Dockerfiles using FREE AI!"
)
demo.launch()