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))) |