SecureLLMSys commited on
Commit
3a7a5c6
·
1 Parent(s): adc8fc7
app.py CHANGED
@@ -9,6 +9,7 @@ import numpy as np
9
  import spaces
10
  import nltk
11
  import base64
 
12
  from src.utils import split_into_sentences as split_into_sentences_utils
13
  # --- AttnTrace imports (from app_full.py) ---
14
  from src.models import create_model
@@ -114,6 +115,7 @@ def initialize_model_and_attr():
114
  except Exception as e:
115
  error_msg = f"Error initializing model/traceback: {str(e)}"
116
  print(error_msg)
 
117
  return None, None, error_msg
118
 
119
  # Initialize with defaults
@@ -608,6 +610,7 @@ def basic_get_scores_and_sources_full_response(state: State):
608
  state,
609
  )
610
  except Exception as e:
 
611
  return (
612
  gr.update(value=[("", None)], visible=False),
613
  gr.update(selected=0),
@@ -822,6 +825,7 @@ def basic_get_scores_and_sources(
822
  state,
823
  )
824
  except Exception as e:
 
825
  return (
826
  gr.update(value=[("", None)], visible=False),
827
  gr.update(selected=0),
 
9
  import spaces
10
  import nltk
11
  import base64
12
+ import traceback
13
  from src.utils import split_into_sentences as split_into_sentences_utils
14
  # --- AttnTrace imports (from app_full.py) ---
15
  from src.models import create_model
 
115
  except Exception as e:
116
  error_msg = f"Error initializing model/traceback: {str(e)}"
117
  print(error_msg)
118
+ traceback.print_exc()
119
  return None, None, error_msg
120
 
121
  # Initialize with defaults
 
610
  state,
611
  )
612
  except Exception as e:
613
+ traceback.print_exc()
614
  return (
615
  gr.update(value=[("", None)], visible=False),
616
  gr.update(selected=0),
 
825
  state,
826
  )
827
  except Exception as e:
828
+ traceback.print_exc()
829
  return (
830
  gr.update(value=[("", None)], visible=False),
831
  gr.update(selected=0),
src/attribution/attntrace.py CHANGED
@@ -10,13 +10,14 @@ from .attention_utils import *
10
  class AttnTraceAttribution(Attribution):
11
  def __init__(self, llm,explanation_level = "segment",K=5, avg_k=5, q=0.4, B=30, verbose =1):
12
  super().__init__(llm,explanation_level,K,verbose)
13
- self.model = llm.model # Use float16 for the model
 
14
  self.model_type = llm.provider
15
  self.tokenizer = llm.tokenizer
16
  self.avg_k = avg_k
17
  self.q = q
18
  self.B = B
19
- self.layers = range(len(self.model.model.layers))
20
  self.explanation_level = explanation_level
21
 
22
  def loss_to_importance(self,losses, sentences_id_list):
@@ -37,6 +38,11 @@ class AttnTraceAttribution(Attribution):
37
  return importances
38
  def attribute(self, question: str, contexts: list, answer: str,explained_answer: str, customized_template: str = None):
39
  start_time = time.time()
 
 
 
 
 
40
  model = self.model
41
  tokenizer = self.tokenizer
42
  model.eval() # Set model to evaluation mode
 
10
  class AttnTraceAttribution(Attribution):
11
  def __init__(self, llm,explanation_level = "segment",K=5, avg_k=5, q=0.4, B=30, verbose =1):
12
  super().__init__(llm,explanation_level,K,verbose)
13
+ self.llm = llm # Use float16 for the model
14
+ self.model = None
15
  self.model_type = llm.provider
16
  self.tokenizer = llm.tokenizer
17
  self.avg_k = avg_k
18
  self.q = q
19
  self.B = B
20
+
21
  self.explanation_level = explanation_level
22
 
23
  def loss_to_importance(self,losses, sentences_id_list):
 
38
  return importances
39
  def attribute(self, question: str, contexts: list, answer: str,explained_answer: str, customized_template: str = None):
40
  start_time = time.time()
41
+ if self.llm.model!=None:
42
+ self.model = self.llm.model
43
+ else:
44
+ self.model = self.llm._load_model_if_needed()
45
+ self.layers = range(len(self.model.model.layers))
46
  model = self.model
47
  tokenizer = self.tokenizer
48
  model.eval() # Set model to evaluation mode
src/models/Llama.py CHANGED
@@ -42,7 +42,6 @@ class Llama(Model):
42
  messages,
43
  add_generation_prompt=True,
44
  return_tensors="pt",
45
- padding=True,
46
  truncation=True
47
  ).to(model.device)
48
 
 
42
  messages,
43
  add_generation_prompt=True,
44
  return_tensors="pt",
 
45
  truncation=True
46
  ).to(model.device)
47
 
src/prompts.py CHANGED
@@ -1,5 +1,5 @@
1
  MULTIPLE_PROMPT_FORCE = 'You are a helpful assistant, below is a query from a user and some relevant contexts. \
2
- Answer the question given the information in those contexts.\
3
  \n\nContexts: [context] \n\nQuery: [question] \n\nAnswer:'
4
 
5
  SELF_CITATION_PROMPT = """You are a helpful assistant, below is a query from a user, some relevant contexts, and an answer to the query.
 
1
  MULTIPLE_PROMPT_FORCE = 'You are a helpful assistant, below is a query from a user and some relevant contexts. \
2
+ Answer the query given the information in those contexts.\
3
  \n\nContexts: [context] \n\nQuery: [question] \n\nAnswer:'
4
 
5
  SELF_CITATION_PROMPT = """You are a helpful assistant, below is a query from a user, some relevant contexts, and an answer to the query.