Spaces:
Sleeping
Sleeping
from flask import Flask, request, jsonify | |
from duckai import DuckAI | |
from flask_cors import CORS | |
app = Flask(__name__) | |
CORS(app) # Simpler | |
duck = DuckAI() # Create once if DuckAI is heavy | |
def chat(): | |
query = request.args.get("query") | |
print(query) | |
if not query: | |
return jsonify({"error": "Query parameter is required"}), 400 | |
try: | |
results = duck.chat(query, model='gpt-4o-mini') | |
return jsonify({"results": results}) | |
except Exception as e1: | |
print(f"Primary model (gpt-4o-mini) failed: {e1}") | |
try: | |
results = duck.chat(query, model='claude-3-haiku') | |
return jsonify({"results": results}) | |
except Exception as e2: | |
print(f"Fallback model (claude-3-haiku) also failed: {e2}") | |
return jsonify({ | |
"error": "Both models failed", | |
"primary_error": str(e1), | |
"fallback_error": str(e2) | |
}), 500 | |
if __name__ == "__main__": | |
app.run(host="0.0.0.0", port=3000, debug=True) | |