frankaging commited on
Commit
884bfb5
·
1 Parent(s): 4a08f06
Files changed (2) hide show
  1. app.py +6 -21
  2. requirements.txt +1 -1
app.py CHANGED
@@ -4,6 +4,7 @@ import gradio as gr
4
  import spaces
5
  from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
6
  from huggingface_hub import login, hf_hub_download
 
7
  import pyvene as pv
8
  from threading import Thread
9
  from typing import Iterator
@@ -66,7 +67,7 @@ if torch.cuda.is_available():
66
  steer = Steer(embed_dim=params.shape[0], latent_dim=params.shape[1])
67
  steer.proj.weight.data = params.float()
68
 
69
- pv_model = pv.IntervenableModel(
70
  {
71
  "component": f"model.layers[20].output",
72
  "intervention": steer,
@@ -80,8 +81,8 @@ terminators = [tokenizer.eos_token_id] if tokenizer else []
80
  def generate(
81
  message: str,
82
  chat_history: list[tuple[str, str]],
83
- max_new_tokens: int,
84
  subspaces_list: list[dict],
 
85
  ) -> Iterator[str]:
86
  # limit to last 3 turns
87
  start_idx = max(0, len(chat_history) - 3)
@@ -211,13 +212,7 @@ with gr.Blocks(css="style.css") as demo:
211
  value=3
212
  )
213
  add_button = gr.Button("Add Concept")
214
- active_subspaces_table = gr.Dataframe(
215
- headers=["Concept", "Mag (scaled)"],
216
- datatype=["str", "number"],
217
- value=_build_table_data(default_subspaces),
218
- interactive=False,
219
- label="Active Concept Subspaces",
220
- )
221
  # Row with the remove dropdown + button
222
  with gr.Row():
223
  remove_dropdown = gr.Dropdown(
@@ -227,27 +222,17 @@ with gr.Blocks(css="style.css") as demo:
227
  )
228
  remove_button = gr.Button("Remove", variant="secondary")
229
 
230
- # Place the max tokens slider at bottom, smaller
231
- with gr.Row():
232
- gr.Markdown("**Max New Tokens**", elem_classes=["small-label"])
233
- max_token_slider = gr.Slider(
234
- minimum=1, maximum=MAX_MAX_NEW_TOKENS, step=1,
235
- value=DEFAULT_MAX_NEW_TOKENS,
236
- label="", # hide the big label
237
- container=False,
238
- )
239
-
240
  # Wire up events
241
  search_box.change(update_dropdown_choices, [search_box], [concept_dropdown])
242
  add_button.click(
243
  add_concept_to_list,
244
  [concept_dropdown, concept_magnitude, selected_subspaces],
245
- [selected_subspaces, active_subspaces_table, remove_dropdown]
246
  )
247
  remove_button.click(
248
  remove_concept_from_list,
249
  [remove_dropdown, selected_subspaces],
250
- [selected_subspaces, active_subspaces_table, remove_dropdown]
251
  )
252
 
253
  demo.launch()
 
4
  import spaces
5
  from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
6
  from huggingface_hub import login, hf_hub_download
7
+ import pyreft
8
  import pyvene as pv
9
  from threading import Thread
10
  from typing import Iterator
 
67
  steer = Steer(embed_dim=params.shape[0], latent_dim=params.shape[1])
68
  steer.proj.weight.data = params.float()
69
 
70
+ pv_model = pyreft.IntervenableModel(
71
  {
72
  "component": f"model.layers[20].output",
73
  "intervention": steer,
 
81
  def generate(
82
  message: str,
83
  chat_history: list[tuple[str, str]],
 
84
  subspaces_list: list[dict],
85
+ max_new_tokens: int=DEFAULT_MAX_NEW_TOKENS,
86
  ) -> Iterator[str]:
87
  # limit to last 3 turns
88
  start_idx = max(0, len(chat_history) - 3)
 
212
  value=3
213
  )
214
  add_button = gr.Button("Add Concept")
215
+
 
 
 
 
 
 
216
  # Row with the remove dropdown + button
217
  with gr.Row():
218
  remove_dropdown = gr.Dropdown(
 
222
  )
223
  remove_button = gr.Button("Remove", variant="secondary")
224
 
 
 
 
 
 
 
 
 
 
 
225
  # Wire up events
226
  search_box.change(update_dropdown_choices, [search_box], [concept_dropdown])
227
  add_button.click(
228
  add_concept_to_list,
229
  [concept_dropdown, concept_magnitude, selected_subspaces],
230
+ [selected_subspaces, remove_dropdown]
231
  )
232
  remove_button.click(
233
  remove_concept_from_list,
234
  [remove_dropdown, selected_subspaces],
235
+ [selected_subspaces, remove_dropdown]
236
  )
237
 
238
  demo.launch()
requirements.txt CHANGED
@@ -3,4 +3,4 @@ gradio==4.26.0
3
  spaces==0.26.0
4
  # TODO: pyreft main
5
  huggingface-hub>=0.24.0
6
- pyvene @ git+https://github.com/stanfordnlp/pyvene.git
 
3
  spaces==0.26.0
4
  # TODO: pyreft main
5
  huggingface-hub>=0.24.0
6
+ pyreft @ git+https://github.com/stanfordnlp/pyreft.git