Spaces:
Sleeping
Sleeping
Update api.py
Browse files
api.py
CHANGED
@@ -1,13 +1,37 @@
|
|
1 |
-
from flask import Flask,
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
5 |
|
6 |
-
@
|
7 |
-
def
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
-
|
|
|
|
1 |
+
from flask import Flask, request, jsonify
|
2 |
+
from duckai import DuckAI
|
3 |
+
from flask_cors import CORS
|
4 |
|
5 |
+
app = Flask(__name__)
|
6 |
+
CORS(app, resources={r"/*": {
|
7 |
+
"origins": "*",
|
8 |
+
"allow_headers": "*",
|
9 |
+
"methods": ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
|
10 |
+
"support_credentials": True
|
11 |
+
}})
|
12 |
|
13 |
+
def chat_with_model(query: str, model: str):
|
14 |
+
try:
|
15 |
+
results = DuckAI().chat(query, model=model)
|
16 |
+
return jsonify({"results": results})
|
17 |
+
except Exception as e:
|
18 |
+
return jsonify({"error": str(e)}), 500
|
19 |
|
20 |
+
@app.route("/chat/", methods=["GET"])
|
21 |
+
def chat():
|
22 |
+
query = request.args.get("query")
|
23 |
+
if not query:
|
24 |
+
return jsonify({"error": "Query parameter is required"}), 400
|
25 |
+
|
26 |
+
try:
|
27 |
+
results = DuckAI().chat(query, model='gpt-4o-mini')
|
28 |
+
return jsonify({"results": results})
|
29 |
+
except Exception as e:
|
30 |
+
try:
|
31 |
+
results = DuckAI().chat(query, model='claude-3-haiku')
|
32 |
+
return jsonify({"results": results})
|
33 |
+
except Exception as e:
|
34 |
+
return jsonify({"error": str(e)}), 500
|
35 |
|
36 |
+
if __name__ == "__main__":
|
37 |
+
app.run(host="localhost", port=3000)
|