from flask import Flask, render_template, request, jsonify import os import google.generativeai as genai from dotenv import load_dotenv import markdown # Import the markdown library load_dotenv() app = Flask(__name__) # Configure Gemini API key genai.configure(api_key=os.getenv("GEMINI_API_KEY")) model = genai.GenerativeModel("gemini-2.0-flash") # Or "gemini-1.5-flash" if available chat_history = [] @app.route("/", methods=["GET", "POST"]) def index(): response_text = None if request.method == "POST": prompt = request.form.get("prompt") if prompt: try: chat_history.append({"role": "user", "parts": prompt}) response = model.generate_content( prompt, generation_config=genai.GenerationConfig( temperature=0.7, # Adjust as needed max_output_tokens=800 # Adjust as needed ) ) response_text = response.text # Convert markdown to HTML response_html = markdown.markdown(response_text) chat_history.append({"role": "model", "parts": response_html}) #store html except Exception as e: response_text = f"Error: {e}" return render_template("index.html", response_text=response_text, chat_history=chat_history) if __name__ == "__main__": app.run(debug=False, host='0.0.0.0', port=int(os.environ.get('PORT', 8080)))