joshuadunlop commited on
Commit
3ee1df4
·
1 Parent(s): f90d0d6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -21
app.py CHANGED
@@ -17,16 +17,16 @@ data_section = st.sidebar.text_area("CSV or Text Data:")
17
  paste_data = st.sidebar.button("Paste Data")
18
  num_concurrent_calls = st.sidebar.number_input("Concurrent Calls:", min_value=1, max_value=2000, value=10, step=1)
19
  generate_all = st.sidebar.button("Generate All")
20
- reset = st.sidebar.button("Reset")
21
  add_row = st.sidebar.button("Add row")
 
 
 
22
  model = st.sidebar.selectbox("Model:", ["gpt-4-0613", "gpt-4", "gpt-4-32k-0613", "gpt-3.5-turbo", "gpt-3.5-turbo-0613", "gpt-3.5-turbo-16k"])
23
  temperature = st.sidebar.slider("Temperature:", 0.0, 1.0, 0.6, step=0.01)
24
  max_tokens = st.sidebar.number_input("Max Tokens:", min_value=1, max_value=8192, value=1000, step=1)
25
  top_p = st.sidebar.slider("Top P:", 0.0, 1.0, 1.0, step=0.01)
26
  system_message = st.sidebar.text_area("System Message:")
27
- followup_message = st.sidebar.text_area("Edit Message:")
28
  row_count = st.session_state.get("row_count", 1)
29
- generate_all_edits = st.sidebar.button("Generate All Edits")
30
 
31
  if add_row:
32
  row_count += 1
@@ -50,7 +50,7 @@ if paste_data:
50
  if reset:
51
  row_count = 1
52
  st.session_state.row_count = row_count
53
- for i in range(100): # Assuming a maximum of 100 rows
54
  st.session_state[f"note{i}"] = ""
55
  st.session_state[f"message{i}"] = ""
56
  st.session_state[f"response{i}"] = ""
@@ -95,35 +95,28 @@ class WorkerThread(threading.Thread):
95
  self.results.put(result)
96
 
97
  if generate_all:
98
- # Creating a list of messages
99
  messages = [st.session_state.get(f"message{i}", "") for i in range(row_count)]
100
 
101
  jobs = Queue()
102
  results = Queue()
103
 
104
- # Create workers
105
  workers = [WorkerThread(jobs, results) for _ in range(num_concurrent_calls)]
106
 
107
- # Start all workers
108
  for worker in workers:
109
  worker.start()
110
 
111
- # Put all the jobs into the queue
112
  for i, message in enumerate(messages):
113
  jobs.put((i, [
114
  {"role": "system", "content": system_message},
115
  {"role": "user", "content": message}
116
  ]))
117
 
118
- # Put a None for each worker to indicate the end of jobs
119
  for _ in range(num_concurrent_calls):
120
  jobs.put(None)
121
 
122
- # Wait for all of the tasks to finish
123
  for worker in workers:
124
  worker.join()
125
 
126
- # Collect all the results
127
  while not results.empty():
128
  i, response, prompt_tokens, response_tokens, word_count, error_message = results.get()
129
  if error_message is not None:
@@ -134,20 +127,16 @@ if generate_all:
134
  st.session_state[f"word_count{i}"] = word_count
135
 
136
  if generate_all_edits:
137
- # Creating a list of messages
138
  messages = [st.session_state.get(f"message{i}", "") for i in range(row_count)]
139
 
140
  jobs = Queue()
141
  results = Queue()
142
 
143
- # Create workers
144
  workers = [WorkerThread(jobs, results) for _ in range(num_concurrent_calls)]
145
 
146
- # Start all workers
147
  for worker in workers:
148
  worker.start()
149
 
150
- # Put all the jobs into the queue
151
  for i, message in enumerate(messages):
152
  jobs.put((i, [
153
  {"role": "system", "content": system_message},
@@ -155,15 +144,12 @@ if generate_all_edits:
155
  {"role": "user", "content": followup_message}
156
  ]))
157
 
158
- # Put a None for each worker to indicate the end of jobs
159
  for _ in range(num_concurrent_calls):
160
  jobs.put(None)
161
 
162
- # Wait for all of the tasks to finish
163
  for worker in workers:
164
  worker.join()
165
 
166
- # Collect all the results
167
  while not results.empty():
168
  i, response, prompt_tokens, response_tokens, word_count, error_message = results.get()
169
  if error_message is not None:
@@ -173,8 +159,6 @@ if generate_all_edits:
173
  st.session_state[f"response_tokens{i}"] = response_tokens
174
  st.session_state[f"word_count{i}"] = word_count
175
 
176
- # ... (rest of the code remains unchanged)
177
-
178
  for i in range(row_count):
179
  if show_notes:
180
  st.text_input(f"Note {i + 1}:", key=f"note{i}", value=st.session_state.get(f"note{i}", ""))
@@ -198,7 +182,7 @@ for i in range(row_count):
198
  st.write(f"Tokens: {st.session_state.get(f'prompt_tokens{i}', 0)} / {st.session_state.get(f'response_tokens{i}', 0)} + Words: {st.session_state.get(f'word_count{i}', 0)}")
199
 
200
  with col3:
201
- st.text_area(f"Follow-up Response {i + 1}:", value=st.session_state.get(f"followup_response{i}", ""))
202
  if st.button(f"Generate Edit {i + 1}"):
203
  _, followup_response, prompt_tokens, response_tokens, word_count, error_message = generate_response(i, [
204
  {"role": "system", "content": system_message},
 
17
  paste_data = st.sidebar.button("Paste Data")
18
  num_concurrent_calls = st.sidebar.number_input("Concurrent Calls:", min_value=1, max_value=2000, value=10, step=1)
19
  generate_all = st.sidebar.button("Generate All")
 
20
  add_row = st.sidebar.button("Add row")
21
+ reset = st.sidebar.button("Reset")
22
+ followup_message = st.sidebar.text_area("Edit Message:")
23
+ generate_all_edits = st.sidebar.button("Generate All Edits")
24
  model = st.sidebar.selectbox("Model:", ["gpt-4-0613", "gpt-4", "gpt-4-32k-0613", "gpt-3.5-turbo", "gpt-3.5-turbo-0613", "gpt-3.5-turbo-16k"])
25
  temperature = st.sidebar.slider("Temperature:", 0.0, 1.0, 0.6, step=0.01)
26
  max_tokens = st.sidebar.number_input("Max Tokens:", min_value=1, max_value=8192, value=1000, step=1)
27
  top_p = st.sidebar.slider("Top P:", 0.0, 1.0, 1.0, step=0.01)
28
  system_message = st.sidebar.text_area("System Message:")
 
29
  row_count = st.session_state.get("row_count", 1)
 
30
 
31
  if add_row:
32
  row_count += 1
 
50
  if reset:
51
  row_count = 1
52
  st.session_state.row_count = row_count
53
+ for i in range(1000):
54
  st.session_state[f"note{i}"] = ""
55
  st.session_state[f"message{i}"] = ""
56
  st.session_state[f"response{i}"] = ""
 
95
  self.results.put(result)
96
 
97
  if generate_all:
 
98
  messages = [st.session_state.get(f"message{i}", "") for i in range(row_count)]
99
 
100
  jobs = Queue()
101
  results = Queue()
102
 
 
103
  workers = [WorkerThread(jobs, results) for _ in range(num_concurrent_calls)]
104
 
 
105
  for worker in workers:
106
  worker.start()
107
 
 
108
  for i, message in enumerate(messages):
109
  jobs.put((i, [
110
  {"role": "system", "content": system_message},
111
  {"role": "user", "content": message}
112
  ]))
113
 
 
114
  for _ in range(num_concurrent_calls):
115
  jobs.put(None)
116
 
 
117
  for worker in workers:
118
  worker.join()
119
 
 
120
  while not results.empty():
121
  i, response, prompt_tokens, response_tokens, word_count, error_message = results.get()
122
  if error_message is not None:
 
127
  st.session_state[f"word_count{i}"] = word_count
128
 
129
  if generate_all_edits:
 
130
  messages = [st.session_state.get(f"message{i}", "") for i in range(row_count)]
131
 
132
  jobs = Queue()
133
  results = Queue()
134
 
 
135
  workers = [WorkerThread(jobs, results) for _ in range(num_concurrent_calls)]
136
 
 
137
  for worker in workers:
138
  worker.start()
139
 
 
140
  for i, message in enumerate(messages):
141
  jobs.put((i, [
142
  {"role": "system", "content": system_message},
 
144
  {"role": "user", "content": followup_message}
145
  ]))
146
 
 
147
  for _ in range(num_concurrent_calls):
148
  jobs.put(None)
149
 
 
150
  for worker in workers:
151
  worker.join()
152
 
 
153
  while not results.empty():
154
  i, response, prompt_tokens, response_tokens, word_count, error_message = results.get()
155
  if error_message is not None:
 
159
  st.session_state[f"response_tokens{i}"] = response_tokens
160
  st.session_state[f"word_count{i}"] = word_count
161
 
 
 
162
  for i in range(row_count):
163
  if show_notes:
164
  st.text_input(f"Note {i + 1}:", key=f"note{i}", value=st.session_state.get(f"note{i}", ""))
 
182
  st.write(f"Tokens: {st.session_state.get(f'prompt_tokens{i}', 0)} / {st.session_state.get(f'response_tokens{i}', 0)} + Words: {st.session_state.get(f'word_count{i}', 0)}")
183
 
184
  with col3:
185
+ st.text_area(f"Edited Response {i + 1}:", value=st.session_state.get(f"followup_response{i}", ""))
186
  if st.button(f"Generate Edit {i + 1}"):
187
  _, followup_response, prompt_tokens, response_tokens, word_count, error_message = generate_response(i, [
188
  {"role": "system", "content": system_message},