import os import logging from groq import Groq from flask import Flask, render_template_string, request from dotenv import load_dotenv load_dotenv() app = Flask(__name__) # Set up logging logging.basicConfig(level=logging.DEBUG) # Set Groq API key client = Groq(api_key=os.getenv("GROQ_API_KEY")) # Set model model = "llama-3.1-70b-versatile" # Define function to generate text def generate_text(parent_name, child_name): prompt = f"Generate a concise silly letter to {parent_name} about their child {child_name}'s detention reasons. Write extreme behaviours in posh British English used in private schools." try: completion = client.chat.completions.create( model=model, messages=[ { "role": "user", "content": prompt } ], temperature=0.8, max_tokens=1024, top_p=0.65, stream=False, stop=None, ) return completion.choices[0].message.content.strip() except Exception as e: app.logger.error(f"Error generating text: {str(e)}") return "An error occurred while generating the text." # HTML template html_template = """ Silly Detention Letter Generator

Silly Detention Letter Generator

{% if message %}
{{ message }}
{% endif %} """ # Define Flask routes @app.route("/", methods=["GET", "POST"]) def home(): try: if request.method == "POST": parent_name = request.form["parent_name"] child_name = request.form["child_name"] message = generate_text(parent_name, child_name) else: message = None return render_template_string(html_template, message=message) except Exception as e: app.logger.error(f"Error in home route: {str(e)}") return "An error occurred. Please try again later.", 500 if __name__ == "__main__": app.run(host="0.0.0.0", port=7860)