stijnkel/interviewsim2
0
1import os2from flask import Flask, request, jsonify, send_from_directory3from openai import OpenAI4 5# Read system prompt from file6with open("simulator_prompt.txt", "r", encoding="utf-8") as f:7 SYSTEM_PROMPT = f.read().strip()8 9# OpenAI API Client (use Replit Secret for OPENAI_API_KEY)10client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))11 12app = Flask(__name__, static_url_path="/static", static_folder="static")13 14@app.route("/")15def index():16 return send_from_directory("static", "index.html")17 18@app.route("/chat", methods=["POST"])19def chat():20 payload = request.get_json(force=True)21 history = payload.get("history", [])22 # history is a list of {role: "user"|"assistant"|"system", content: "..."}23 24 # Always prepend system prompt on server-side for safety25 messages = [{"role": "system", "content": SYSTEM_PROMPT}] + history26 27 # Use a cost-efficient, capable model28 # You can swap for "gpt-4o" or "gpt-4-turbo" if you prefer29 resp = client.chat.completions.create(30 model="gpt-4o-mini",31 temperature=0.7,32 messages=messages,33 )34 reply = resp.choices[0].message.content35 return jsonify({"reply": reply})36 37if __name__ == "__main__":38 # Replit usually expects port 800039 app.run(host="0.0.0.0", port=8000, debug=False)40 41 