GenAI_Blog / app.py
Gigishot's picture
Update app.py
b4f043d verified
Raw
History Blame Contribute Delete
1.58 kB
from flask import Flask, render_template, request
from dotenv import load_dotenv
from groq import Groq
import os
import markdown
# Load env variables
load_dotenv()
app = Flask(__name__)
# Initialize Groq client
client = Groq(
api_key=os.getenv("GROQ_API_KEY")
)
def generate_blog(topic):
prompt = f"""
Write a detailed blog article about: {topic}
Include:
1. Title
2. Introduction
3. Main Content
4. Conclusion
"""
try:
completion = client.chat.completions.create(
model="llama-3.1-8b-instant",
messages=[
{
"role": "user",
"content": prompt
}
],
temperature=0.7,
max_tokens=700,
)
generated_text = completion.choices[0].message.content
print("GENERATED:")
print(generated_text)
return generated_text
except Exception as e:
print("ERROR:")
print(str(e))
return f"Error: {str(e)}"
@app.route("/", methods=["GET", "POST"])
def index():
paragraph = ""
error = ""
if request.method == "POST":
topic = request.form.get("topic", "").strip()
if topic:
result = generate_blog(topic)
if result.startswith("Error"):
error = result
else:
paragraph = markdown.markdown(result)
return render_template(
"index.html",
paragraph=paragraph,
error=error
)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860)