import os import requests from huggingface_hub import InferenceApi def generate_website_code(prompt, model_choice): """Generate website code using Hugging Face inference API""" try: # Add context to the prompt for better results full_prompt = f""" Generated Website Create a complete, functional website based on this description: {prompt} Include proper HTML5 structure, responsive CSS styling, and interactive JavaScript. Respond only with the complete code. """ inference = InferenceApi( repo_id=model_choice, token=os.getenv("HF_API_TOKEN") ) response = inference( inputs=full_prompt, parameters={ "max_new_tokens": 800, "temperature": 0.7, "top_p": 0.9, "repetition_penalty": 1.2, "do_sample": True } ) if isinstance(response, list) and len(response) > 0: generated_text = response[0].get("generated_text", "") # Extract HTML code from response start_html = generated_text.find("") if start_html != -1: return generated_text[start_html:] else: return generated_text else: return f"Error: Unexpected response format\n{str(response)}" except Exception as e: return f"Error generating code: {str(e)}" def preview_website(code): """Preview website from HTML code""" if not code or code.strip() == "": return "
Enter code to preview website
" # Sanitize and wrap code in iframe for preview sanitized_code = code.replace('"', '"').replace("'", "'") iframe_html = f"""
""" return iframe_html