import os
from flask import Flask, request, jsonify
import openai

app = Flask(__name__)

# Chargement de la clé API depuis une variable d'environnement et vérification
if not (api_key := os.getenv("OPENAI_API_KEY")):
    raise ValueError("OPENAI_API_KEY environment variable not set")
openai.api_key = api_key

@app.route('/openai', methods=['POST'])
def openai_response():
    user_input = request.json.get('prompt')
    if not user_input:
        return jsonify({"error": "No prompt provided"}), 400

    try:
        response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=[
                {"role": "system", "content": "Vous êtes un assistant intelligent."},
                {"role": "user", "content": user_input}
            ]
        )
        message_content = response.choices[0].message['content']
        return jsonify({"response": message_content})
    except openai.error.OpenAIError as e:
        app.logger.error(f"OpenAI API error: {str(e)}")
        return jsonify({"error": "Failed to fetch response from OpenAI"}), 503
    except Exception as e:
        app.logger.error(f"Unexpected error: {str(e)}")
        return jsonify({"error": "An unexpected error occurred"}), 500

if __name__ == '__main__':
    app.run(debug=True)
