Spaces:
Running
Running
| 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 = [] | |
| 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))) |