Darpan07 commited on
Commit
c273de3
1 Parent(s): b85cff9

Update Functions.py

Browse files
Files changed (1) hide show
  1. Functions.py +40 -2
Functions.py CHANGED
@@ -10,7 +10,7 @@ from Prompts_and_Chains import LLMChains
10
  from Templates import json_structure
11
  import json
12
  from Utils import estimate_to_value
13
-
14
 
15
  class RFPProcessor:
16
  def __init__(self):
@@ -18,6 +18,41 @@ class RFPProcessor:
18
  self.openai_api_key = os.getenv("OPENAI_API_KEY")
19
  self.chains_obj = LLMChains()
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  def generate_estimations(self, tech_leads, senior_developers, junior_developers):
22
  print(st.session_state["user_stories_json"])
23
  inputs = {
@@ -29,6 +64,9 @@ class RFPProcessor:
29
  }
30
 
31
  data = self.chains_obj.estimations_chain.run(inputs)
 
 
 
32
  estimation_json_data = json.loads(data)
33
 
34
  for epic_data in estimation_json_data["epics"]:
@@ -45,7 +83,7 @@ class RFPProcessor:
45
  "Estimate": story["estimate"],
46
  "Person Days Range": story["effort"],
47
  "Story Rationale": story["rationale"],
48
- "Person Days": average
49
  }
50
  )
51
  st.session_state["is_estimation_data_created"] = True
 
10
  from Templates import json_structure
11
  import json
12
  from Utils import estimate_to_value
13
+ from Utils import is_key_value_present
14
 
15
  class RFPProcessor:
16
  def __init__(self):
 
18
  self.openai_api_key = os.getenv("OPENAI_API_KEY")
19
  self.chains_obj = LLMChains()
20
 
21
+ def generate_roadmap(self):
22
+
23
+ roadmap_data = self.chains_obj.roadmap_chain.run({"project_input":st.session_state["estimation_data_json"]})
24
+ print(roadmap_data)
25
+ st.session_state["roadmap_data_json"] = roadmap_data
26
+ data = json.loads(roadmap_data)
27
+
28
+ try:
29
+ decoded_data = json.loads(roadmap_data)
30
+ print(decoded_data)
31
+ except json.decoder.JSONDecodeError as e:
32
+ print(f"JSON decoding error: {e}")
33
+
34
+ for phases_data in data['phases']:
35
+ phase = phases_data["name"]
36
+ for milestone in phases_data['milestones']:
37
+ milestone_name = milestone["name"]
38
+ total_time = milestone["totalTime"]
39
+ for feature in milestone["features"]:
40
+ featue_name = feature["name"]
41
+ featue_rationale = feature["rationale"]
42
+ featue_effort = feature["effort"]
43
+ phase_key_present = is_key_value_present(st.session_state["roadmap_data"], "phases", phase)
44
+
45
+ if phase_key_present:
46
+ milestone_key_present = is_key_value_present(st.session_state["roadmap_data"], "milestones", milestone_name)
47
+ if milestone_key_present:
48
+ st.session_state.roadmap_data.append({"phases": "","milestones": "","total_time": "","features": featue_name,"rational": featue_rationale,"effort": featue_effort,})
49
+ else:
50
+ st.session_state.roadmap_data.append({"phases": "","milestones": milestone_name,"total_time": total_time,"features": featue_name,"rational": featue_rationale,"effort": featue_effort,})
51
+ else:
52
+ st.session_state.roadmap_data.append({"phases": phase,"milestones": milestone_name,"total_time": total_time,"features": featue_name,"rational": featue_rationale,"effort": featue_effort,})
53
+
54
+ st.session_state["is_roadmap_data_created"] = True
55
+
56
  def generate_estimations(self, tech_leads, senior_developers, junior_developers):
57
  print(st.session_state["user_stories_json"])
58
  inputs = {
 
64
  }
65
 
66
  data = self.chains_obj.estimations_chain.run(inputs)
67
+
68
+ st.session_state["estimation_data_json"]= data
69
+
70
  estimation_json_data = json.loads(data)
71
 
72
  for epic_data in estimation_json_data["epics"]:
 
83
  "Estimate": story["estimate"],
84
  "Person Days Range": story["effort"],
85
  "Story Rationale": story["rationale"],
86
+ "Person Days": average,
87
  }
88
  )
89
  st.session_state["is_estimation_data_created"] = True