lokeshloki143 commited on
Commit
d48ce46
·
verified ·
1 Parent(s): 62893d8

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -0
app.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ from flask import Flask, request, jsonify
3
+ from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
4
+ import logging
5
+
6
+ app = Flask(__name__)
7
+ logging.basicConfig(level=logging.INFO)
8
+
9
+ try:
10
+ model = AutoModelForSeq2SeqLM.from_pretrained("./fine_tuned_model")
11
+ tokenizer = AutoTokenizer.from_pretrained("./fine_tuned_model")
12
+ except Exception as e:
13
+ logging.error(f"Error loading model: {e}")
14
+ raise e
15
+
16
+ @app.route("/generate", methods=["POST"])
17
+ def generate_checklist():
18
+ try:
19
+ data = request.json
20
+ role = data.get("role", "Supervisor")
21
+ project_id = data.get("project_id", "Unknown")
22
+ project_name = data.get("project_name", "Unknown Project")
23
+ milestones = data.get("milestones", "No milestones provided")
24
+
25
+ inputs = f"Role: {role} Project: {project_id} ({project_name}) Milestones: {milestones}"
26
+ input_ids = tokenizer(inputs, return_tensors="pt", max_length=128, truncation=True).input_ids
27
+ outputs = model.generate(input_ids, max_length=128, num_beams=4, early_stopping=True)
28
+ checklist = tokenizer.decode(outputs[0], skip_special_tokens=True)
29
+
30
+ # Simple tip generation (can be enhanced with model)
31
+ tips = "1. Prioritize safety checks\n2. Review milestones\n3. Log progress"
32
+
33
+ return jsonify({
34
+ "checklist": checklist,
35
+ "tips": tips
36
+ })
37
+ except Exception as e:
38
+ logging.error(f"Error in generate_checklist: {e}")
39
+ return jsonify({"error": str(e)}), 500
40
+
41
+ if __name__ == "__main__":
42
+ app.run(host="0.0.0.0", port=8000)
43
+ ```