rahulnair23 commited on
Commit
7976155
·
1 Parent(s): 07a5f5c

Include risk descriptions

Browse files
Files changed (2) hide show
  1. app.py +3 -2
  2. executor.py +14 -4
app.py CHANGED
@@ -47,7 +47,7 @@ class UI:
47
  )
48
  self.model_name_or_path = gr.Dropdown(
49
  #choices=['codellama/codellama-34b-instruct-hf', 'google/flan-t5-xl', 'google/flan-t5-xxl', 'google/flan-ul2', 'ibm/granite-13b-instruct-v2', 'ibm/granite-20b-code-instruct', 'ibm/granite-20b-multilingual', 'ibm/granite-3-2-8b-instruct-preview-rc', 'ibm/granite-3-2b-instruct', 'ibm/granite-3-8b-instruct', 'ibm/granite-34b-code-instruct', 'ibm/granite-3b-code-instruct', 'ibm/granite-8b-code-instruct', 'ibm/granite-guardian-3-2b', 'ibm/granite-guardian-3-8b', 'meta-llama/llama-2-13b-chat', 'meta-llama/llama-3-1-70b-instruct', 'meta-llama/llama-3-1-8b-instruct', 'meta-llama/llama-3-2-11b-vision-instruct', 'meta-llama/llama-3-2-1b-instruct', 'meta-llama/llama-3-2-3b-instruct', 'meta-llama/llama-3-2-90b-vision-instruct', 'meta-llama/llama-3-3-70b-instruct', 'meta-llama/llama-3-405b-instruct', 'meta-llama/llama-guard-3-11b-vision', 'mistralai/mistral-large', 'mistralai/mixtral-8x7b-instruct-v01'],
50
- choices=["ibm/granite-20b-code-instruct"]
51
  value="ibm/granite-20b-code-instruct",
52
  multiselect=False,
53
  label="Choose language model to use",
@@ -65,6 +65,7 @@ class UI:
65
 
66
  self.assessment_sec = gr.Markdown()
67
  self.assessed_risks = gr.Dataset(label=None, visible=False)
 
68
 
69
  gr.Markdown(
70
  """<h2> Related Risks </h2>
@@ -114,7 +115,7 @@ class UI:
114
  fn=mitigations,
115
  inputs=[self.assessed_risks, self.taxonomy],
116
  # NOTETOSELF: Intent based risk is stored in self.risk (if needed)
117
- outputs=[self.relatedrisks, self.mitigations]
118
  )
119
  return demo
120
 
 
47
  )
48
  self.model_name_or_path = gr.Dropdown(
49
  #choices=['codellama/codellama-34b-instruct-hf', 'google/flan-t5-xl', 'google/flan-t5-xxl', 'google/flan-ul2', 'ibm/granite-13b-instruct-v2', 'ibm/granite-20b-code-instruct', 'ibm/granite-20b-multilingual', 'ibm/granite-3-2-8b-instruct-preview-rc', 'ibm/granite-3-2b-instruct', 'ibm/granite-3-8b-instruct', 'ibm/granite-34b-code-instruct', 'ibm/granite-3b-code-instruct', 'ibm/granite-8b-code-instruct', 'ibm/granite-guardian-3-2b', 'ibm/granite-guardian-3-8b', 'meta-llama/llama-2-13b-chat', 'meta-llama/llama-3-1-70b-instruct', 'meta-llama/llama-3-1-8b-instruct', 'meta-llama/llama-3-2-11b-vision-instruct', 'meta-llama/llama-3-2-1b-instruct', 'meta-llama/llama-3-2-3b-instruct', 'meta-llama/llama-3-2-90b-vision-instruct', 'meta-llama/llama-3-3-70b-instruct', 'meta-llama/llama-3-405b-instruct', 'meta-llama/llama-guard-3-11b-vision', 'mistralai/mistral-large', 'mistralai/mixtral-8x7b-instruct-v01'],
50
+ choices=["ibm/granite-20b-code-instruct"],
51
  value="ibm/granite-20b-code-instruct",
52
  multiselect=False,
53
  label="Choose language model to use",
 
65
 
66
  self.assessment_sec = gr.Markdown()
67
  self.assessed_risks = gr.Dataset(label=None, visible=False)
68
+ self.assessed_risk_definition = gr.Markdown()
69
 
70
  gr.Markdown(
71
  """<h2> Related Risks </h2>
 
115
  fn=mitigations,
116
  inputs=[self.assessed_risks, self.taxonomy],
117
  # NOTETOSELF: Intent based risk is stored in self.risk (if needed)
118
+ outputs=[self.assessed_risk_definition, self.relatedrisks, self.mitigations]
119
  )
120
  return demo
121
 
executor.py CHANGED
@@ -1,3 +1,4 @@
 
1
  from dotenv import load_dotenv
2
 
3
  load_dotenv(override=True)
@@ -55,15 +56,23 @@ def risk_identifier(usecase: str,
55
 
56
 
57
  @lru_cache
58
- def mitigations(riskid: str, taxonomy: str) -> tuple[gr.Dataset, gr.DataFrame]:
59
  """
60
  For a specific risk (riskid), returns
61
- (a) related risks - as a dataset
62
- (b) mitigations
 
63
 
64
  """
65
 
 
 
 
 
 
 
66
  related_risk_ids = ran.get_related_risk_ids_by_risk_id(riskid)
 
67
  action_ids = []
68
 
69
  if taxonomy == "ibm-risk-atlas":
@@ -102,5 +111,6 @@ def mitigations(riskid: str, taxonomy: str) -> tuple[gr.Dataset, gr.DataFrame]:
102
  asample_name = [ran.get_action_by_id(i).name for i in asamples] #type: ignore
103
  mitdf = pd.DataFrame({"Mitigation": asample_name, "Description": asample_labels})
104
 
105
- return (gr.Dataset(samples=samples, label=label, sample_labels=sample_labels, visible=True),
 
106
  gr.DataFrame(mitdf, wrap=True, show_copy_button=True, show_search="search", label=alabel, visible=True))
 
1
+ from ast import Attribute
2
  from dotenv import load_dotenv
3
 
4
  load_dotenv(override=True)
 
56
 
57
 
58
  @lru_cache
59
+ def mitigations(riskid: str, taxonomy: str) -> tuple[gr.Markdown, gr.Dataset, gr.DataFrame]:
60
  """
61
  For a specific risk (riskid), returns
62
+ (a) a risk description
63
+ (b) related risks - as a dataset
64
+ (c) mitigations
65
 
66
  """
67
 
68
+ try:
69
+ risk_desc = ran.get_risk_by_id(riskid).description # type: ignore
70
+ risk_sec = f"<h3>Description: </h3> {risk_desc}"
71
+ except AttributeError:
72
+ risk_sec = ""
73
+
74
  related_risk_ids = ran.get_related_risk_ids_by_risk_id(riskid)
75
+
76
  action_ids = []
77
 
78
  if taxonomy == "ibm-risk-atlas":
 
111
  asample_name = [ran.get_action_by_id(i).name for i in asamples] #type: ignore
112
  mitdf = pd.DataFrame({"Mitigation": asample_name, "Description": asample_labels})
113
 
114
+ return (gr.Markdown(risk_sec),
115
+ gr.Dataset(samples=samples, label=label, sample_labels=sample_labels, visible=True),
116
  gr.DataFrame(mitdf, wrap=True, show_copy_button=True, show_search="search", label=alabel, visible=True))