rahul2121 commited on
Commit
4b716fe
·
verified ·
1 Parent(s): f62ce8e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -42
app.py CHANGED
@@ -1,42 +1,47 @@
1
- import os
2
- import requests
3
- from flask import Flask, request, jsonify
4
-
5
- app = Flask(__name__)
6
-
7
- # Load HF API token from environment variable
8
- HF_TOKEN = os.environ.get("HF_TOKEN")
9
- if not HF_TOKEN:
10
- raise Exception("HF_TOKEN is missing. Add it in Space Secrets.")
11
-
12
- API_URL = "https://api-inference.huggingface.co/models/castorini/t5-base-canard"
13
- HEADERS = {"Authorization": f"Bearer {HF_TOKEN}"}
14
-
15
- @app.route("/")
16
- def home():
17
- return "CANARD Rewrite API running on HuggingFace Spaces!"
18
-
19
- @app.route("/rewrite", methods=["POST"])
20
- def rewrite():
21
- data = request.get_json()
22
- queries = data.get("queries")
23
-
24
- if not isinstance(queries, list):
25
- return jsonify({"error": "queries must be a list"}), 400
26
-
27
- results = []
28
-
29
- for q in queries:
30
- payload = {"inputs": q}
31
- r = requests.post(API_URL, headers=HEADERS, json=payload)
32
- output = r.json()
33
-
34
- if isinstance(output, list) and len(output) > 0 and "generated_text" in output[0]:
35
- results.append(output[0]["generated_text"])
36
- else:
37
- results.append(f"Error: {output}")
38
-
39
- return jsonify({"results": results})
40
-
41
- #if __name__ == "__main__":
42
- # app.run(host="0.0.0.0", port=7860)
 
 
 
 
 
 
1
+ import os
2
+ import requests
3
+ from flask import Flask, request, jsonify
4
+ from flask_cors import CORS # For cross-origin requests
5
+
6
+ app = Flask(__name__)
7
+ CORS(app) # Enable CORS
8
+
9
+ # Load HF API token from environment variable
10
+ HF_TOKEN = os.environ.get("HF_TOKEN")
11
+ if not HF_TOKEN:
12
+ raise Exception("HF_TOKEN is missing. Add it in Space Secrets.")
13
+
14
+ API_URL = "https://api-inference.huggingface.co/models/castorini/t5-base-canard"
15
+ HEADERS = {"Authorization": f"Bearer {HF_TOKEN}"}
16
+
17
+ @app.route("/")
18
+ def home():
19
+ return "CANARD Rewrite API running on HuggingFace Spaces! Use POST to / with {'queries': [...]}"
20
+
21
+ @app.route("/", methods=["POST"]) # Moved to root for HF routing compatibility
22
+ def rewrite():
23
+ data = request.get_json()
24
+ queries = data.get("queries")
25
+
26
+ if not isinstance(queries, list):
27
+ return jsonify({"error": "queries must be a list"}), 400
28
+
29
+ results = []
30
+
31
+ for q in queries:
32
+ payload = {"inputs": q}
33
+ try:
34
+ r = requests.post(API_URL, headers=HEADERS, json=payload, timeout=30) # Add timeout
35
+ output = r.json()
36
+
37
+ if isinstance(output, list) and len(output) > 0 and "generated_text" in output[0]:
38
+ results.append(output[0]["generated_text"])
39
+ else:
40
+ results.append(f"Error: {output}")
41
+ except requests.exceptions.RequestException as e:
42
+ results.append(f"Request failed: {str(e)}")
43
+
44
+ return jsonify({"results": results})
45
+
46
+ if __name__ == "__main__":
47
+ app.run(host="0.0.0.0", port=7860, debug=False)