deepak191z commited on
Commit
98651d2
·
verified ·
1 Parent(s): 894e5af

Update api.py

Browse files
Files changed (1) hide show
  1. api.py +33 -9
api.py CHANGED
@@ -1,13 +1,37 @@
1
- from flask import Flask, Response, json, jsonify, request
 
 
2
 
 
 
 
 
 
 
 
3
 
4
- api = Flask(__name__)
 
 
 
 
 
5
 
6
- @api.route("/", methods=["POST"])
7
- def query() -> Response:
8
- data = json.loads(request.data)
9
- response_data = {"dummy": "response"}
10
- response_data.update(data)
11
- return jsonify(response_data)
 
 
 
 
 
 
 
 
 
12
 
13
- api.run(host="localhost", port=3000)
 
 
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)