File size: 1,073 Bytes
98651d2
 
 
894e5af
98651d2
fc8fe81
 
 
894e5af
98651d2
 
 
62f6bef
 
 
98651d2
 
ef5f149
98651d2
ef5f149
98651d2
ef5f149
 
98651d2
ef5f149
98651d2
ef5f149
 
 
 
 
 
 
 
98651d2
fc8fe81
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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

@app.route("/chat/", methods=["GET"])
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)