flask_chat_app / app.py
louiecerv's picture
update remote
23306a2
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)))