CoolFace
Apppublic

stijnkel/interviewsim2

sourceHugging Faceupdated 11mo agoView on Hugging Face
0likes
app.py41 linesDownload Raw Back to root
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