Islam YAHIAOUI commited on
Commit
a6156ff
1 Parent(s): d5dcf9b
Files changed (2) hide show
  1. __pycache__/app.cpython-312.pyc +0 -0
  2. app.py +74 -78
__pycache__/app.cpython-312.pyc CHANGED
Binary files a/__pycache__/app.cpython-312.pyc and b/__pycache__/app.cpython-312.pyc differ
 
app.py CHANGED
@@ -7,7 +7,7 @@ from rag import run_rag
7
  TOKEN = os.getenv("HF_TOKEN")
8
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta" , token=TOKEN)
9
  system_message ="You are a capable and freindly assistant."
10
- history = []
11
  no_change_btn = gr.Button()
12
  enable_btn = gr.Button(interactive=True)
13
  disable_btn = gr.Button(interactive=False)
@@ -22,14 +22,13 @@ class Int_State:
22
  print("State has been initialise")
23
 
24
  def save_question(self, question):
25
-
26
  self.current_query = question
27
  self.current_response = ""
28
  self.history.append({"role": "user", "content": question})
29
  print("Question added ")
30
 
31
  def save_response(self, assistant_message):
32
- current_question = self.current_query
33
  self.current_response = assistant_message
34
  self.history.append({"role": "system", "content": assistant_message})
35
  print("Response saved ")
@@ -41,47 +40,41 @@ class Int_State:
41
  # ================================================================================================================================
42
  state = Int_State()
43
  # ================================================================================================================================
44
- # def clear_chat(state):
45
- # state.history = []
46
- # return ("",) + (disable_btn,) * 3
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
  # ================================================================================================================================
49
- # def enable_buttons(btn_list ,upvote=False, downvote=False, flag=False, regenerate=False, clear=False):
50
- # return [gr.Button(interactive=upvote), gr.Button(interactive=downvote), gr.Button(interactive=flag), gr.Button(interactive=regenerate), gr.Button(interactive=clear)]
51
-
52
-
53
- # def disable_buttons(btn_list, upvote=True, downvote=True, flag=True, regenerate=False, clear=False):
54
- # if upvote:
55
- # btn_list[0] = disable_btn
56
- # if downvote:
57
- # btn_list[1] = disable_btn
58
- # if flag:
59
- # btn_list[2] = disable_btn
60
- # if regenerate:
61
- # btn_list[3] = disable_btn
62
- # if clear:
63
- # btn_list[4] = disable_btn
64
- # return btn_list
65
-
66
-
67
-
68
- # def upvote_last_response(btn_list):
69
- # # upvote the last response
70
- # print("Upvoted")
71
- # return disable_buttons(btn_list)
72
-
73
- # def downvote_last_response(btn_list):
74
- # # downvote the last response
75
- # print("Downvoted")
76
- # return disable_buttons(btn_list)
77
- # def flag_last_response(btn_list):
78
- # # flag the last response
79
- # print("Flagged")
80
- # return disable_buttons(btn_list)
81
 
82
 
83
  def chat(
84
-
85
  chatbot,
86
  message,
87
  max_tokens,
@@ -94,37 +87,37 @@ def chat(
94
  print("Temperature: ", temperature)
95
  print("Top P: ", top_p)
96
  question= message
 
97
  messages = [{"role": "system", "content": system_message}]
98
 
99
  history= state.get_history()
100
  state.save_question(message)
101
 
102
-
103
  for val in history:
104
  messages.append(val)
105
 
106
  messages.append({"role": "user", "content": run_rag(message)})
107
- response = ""
108
- # chatbot.append((question))
109
- for msg in client.chat_completion(
110
- messages,
111
- max_tokens=max_tokens,
112
- stream=True,
113
- temperature=temperature,
114
- top_p=top_p,
115
- ):
116
 
117
- token = msg.choices[0].delta.content
118
- response += str(token)
119
- # chatbot.append(( response))
120
 
121
  # yield "" , chatbot
122
  chatbot.append((question , response))
123
  state.save_response(response)
124
  # btn_list =enable_buttons(btn_list)
125
- # yield "" , chatbot + (enable_btn,) * 5
126
 
127
- yield "" , chatbot
128
 
129
 
130
  # ================================================================================================================================
@@ -215,37 +208,40 @@ with gr.Blocks(title="RAG", theme=theme, css=block_css , fill_height=True) as de
215
  # ================================================================================================================================
216
  btn_list = [upvote_btn, downvote_btn, flag_btn, regenerate_btn, clear_btn]
217
 
218
- # upvote_btn.click(
219
- # upvote_last_response,
220
- # [btn_list],
221
- # [btn_list]
222
- # )
223
-
224
- # downvote_btn.click(
225
- # downvote_last_response,
226
- # [btn_list],
227
- # [btn_list]
228
- # )
229
- # flag_btn.click(
230
- # flag_last_response,
231
- # [btn_list],
232
- # [btn_list]
233
- # )
234
  # regenerate_btn.click(
235
  # chat,
236
- # [btn_list, chatbot, textbox, max_output_tokens, temperature, top_p],
237
- # [textbox, chatbot , btn_list]
238
- # )
239
- # clear_btn.click(
240
- # clear_chat,
241
- # [disable_btn] * 5
242
  # )
 
 
 
 
 
 
243
  submit_btn.click(
244
  chat ,
245
- [chatbot, textbox , max_output_tokens, temperature, top_p],
246
- [textbox ,chatbot]
247
  )
248
 
249
  # ================================================================================================================================
250
  demo.launch()
 
251
  # ================================================================================================================================
 
7
  TOKEN = os.getenv("HF_TOKEN")
8
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta" , token=TOKEN)
9
  system_message ="You are a capable and freindly assistant."
10
+
11
  no_change_btn = gr.Button()
12
  enable_btn = gr.Button(interactive=True)
13
  disable_btn = gr.Button(interactive=False)
 
22
  print("State has been initialise")
23
 
24
  def save_question(self, question):
 
25
  self.current_query = question
26
  self.current_response = ""
27
  self.history.append({"role": "user", "content": question})
28
  print("Question added ")
29
 
30
  def save_response(self, assistant_message):
31
+ # current_question = self.current_query
32
  self.current_response = assistant_message
33
  self.history.append({"role": "system", "content": assistant_message})
34
  print("Response saved ")
 
40
  # ================================================================================================================================
41
  state = Int_State()
42
  # ================================================================================================================================
43
+ def clear_chat(chatbot ):
44
+ state.history = []
45
+
46
+ chatbot = gr.Chatbot(
47
+ elem_id="chatbot",
48
+ label="Retrieval Augmented Generation (RAG) Chatbot",
49
+ height=300,
50
+ layout="bubble",
51
+ min_width=1200,
52
+ show_copy_button=True,
53
+ show_share_button=True,
54
+ placeholder="Ask a question or type a message...",
55
+ )
56
+ yield (chatbot) + (enable_btn,) * 5
57
+ # yield ("" , chatbot) + (enable_btn,) * 5
58
 
59
  # ================================================================================================================================
60
+
61
+
62
+
63
+
64
+ def upvote_last_response():
65
+ print("Upvoted")
66
+ return (disable_btn,) * 3 + (enable_btn,)*2
67
+
68
+ def downvote_last_response():
69
+ print("Downvoted")
70
+ return (disable_btn,) * 3 + (enable_btn,)*2
71
+
72
+ def flag_last_response():
73
+ print("Flagged")
74
+ return (disable_btn,) * 3 + (enable_btn,)*2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
 
76
 
77
  def chat(
 
78
  chatbot,
79
  message,
80
  max_tokens,
 
87
  print("Temperature: ", temperature)
88
  print("Top P: ", top_p)
89
  question= message
90
+
91
  messages = [{"role": "system", "content": system_message}]
92
 
93
  history= state.get_history()
94
  state.save_question(message)
95
 
 
96
  for val in history:
97
  messages.append(val)
98
 
99
  messages.append({"role": "user", "content": run_rag(message)})
100
+ response = "This is a response to the question"
101
+ # # chatbot.append((question))
102
+ # for msg in client.chat_completion(
103
+ # messages,
104
+ # max_tokens=max_tokens,
105
+ # stream=True,
106
+ # temperature=temperature,
107
+ # top_p=top_p,
108
+ # ):
109
 
110
+ # token = msg.choices[0].delta.content
111
+ # response += str(token)
112
+ # chatbot.append(( response, response))
113
 
114
  # yield "" , chatbot
115
  chatbot.append((question , response))
116
  state.save_response(response)
117
  # btn_list =enable_buttons(btn_list)
118
+ yield ("" , chatbot) + (enable_btn,) * 5
119
 
120
+ # yield "" , chatbot
121
 
122
 
123
  # ================================================================================================================================
 
208
  # ================================================================================================================================
209
  btn_list = [upvote_btn, downvote_btn, flag_btn, regenerate_btn, clear_btn]
210
 
211
+ upvote_btn.click(
212
+ upvote_last_response,
213
+ [],
214
+ btn_list,
215
+ )
216
+
217
+ downvote_btn.click(
218
+ downvote_last_response,
219
+ [],
220
+ btn_list
221
+ )
222
+ flag_btn.click(
223
+ flag_last_response,
224
+ [],
225
+ btn_list,
226
+ )
227
  # regenerate_btn.click(
228
  # chat,
229
+ # [ chatbot, textbox, max_output_tokens, temperature, top_p],
230
+ # [textbox, chatbot] + btn_list
 
 
 
 
231
  # )
232
+ clear_btn.click(
233
+ clear_chat,
234
+ [chatbot],
235
+ [chatbot ] + btn_list,
236
+ )
237
+
238
  submit_btn.click(
239
  chat ,
240
+ [ chatbot, textbox , max_output_tokens, temperature, top_p],
241
+ [textbox ,chatbot] + btn_list ,
242
  )
243
 
244
  # ================================================================================================================================
245
  demo.launch()
246
+
247
  # ================================================================================================================================