jsulz HF staff commited on
Commit
eecbbae
1 Parent(s): d0ce532

restructuring content and updating gradio

Browse files
Files changed (2) hide show
  1. app.py +23 -20
  2. poetry.lock +5 -5
app.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  from collections import Counter
2
  import math
3
  import os
@@ -170,15 +172,16 @@ def streaming(speech_key, _df):
170
  messages=[
171
  {
172
  "role": "system",
173
- "content": "You are a political scholar with a deep knowledge of State of the Union addresses. You are tasked with summarizing a speech from a given president. The speech is a mix of written and spoken addresses. The goal is to provide a concise summary of the speech with the proper historical and political context.",
174
  },
175
  {
176
  "role": "user",
177
- "content": f"The following speech is a State of the Union address from {speech_info[0]} on {speech_info[1]}. Summarize it: {speech}",
178
  },
179
  ],
180
- max_tokens=700,
181
  stream=True,
 
182
  ):
183
  # yield message.choices[0].delta.content
184
  # print(message)
@@ -203,6 +206,23 @@ with gr.Blocks() as demo:
203
  "In addition to analyzing the content, this space also leverages the [Qwen/2.5-72B-Instruct](https://deepinfra.com/Qwen/Qwen2.5-72B-Instruct) model to summarize a speech. The model is tasked with providing a concise summary of a speech from a given president. To get a summary, go to the 'Summarize a Speech' tab."
204
  )
205
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  with gr.Tab(label="Speech Data"):
207
  # Basic line chart showing the total number of words in each address
208
  gr.Markdown(
@@ -317,21 +337,4 @@ with gr.Blocks() as demo:
317
  # show a line chart of word count and ARI for a selected president
318
  gr.Plot(plotly_word_and_ari, inputs=[president, df_state])
319
 
320
- with gr.Tab(label="Summarize a Speech"):
321
- gr.Markdown("## Summarize a Speech")
322
- gr.Markdown(
323
- """
324
- Context is king; get a summary of a State of the Union now that you've seen a bit more. Use the dropdown to select a speech from a president and click the button to summarize the speech. [Qwen/2.5-72B-Instruct](https://deepinfra.com/Qwen/Qwen2.5-72B-Instruct) will provide a concise summary of the speech with the proper historical and political context.
325
- """
326
- )
327
- speeches = df["speech_key"].unique()
328
- speeches = speeches.tolist()
329
- speech = gr.Dropdown(label="Select a Speech", choices=speeches)
330
- # create a dropdown to select a speech from a president
331
- run_summarization = gr.Button(value="Summarize")
332
- fin_speech = gr.Textbox(label="Summarized Speech", type="text", lines=10)
333
- run_summarization.click(
334
- streaming, inputs=[speech, df_state], outputs=[fin_speech]
335
- )
336
-
337
  demo.launch()
 
1
+ # pylint: disable=no-member
2
+ # pylint: disable=not-an-iterable
3
  from collections import Counter
4
  import math
5
  import os
 
172
  messages=[
173
  {
174
  "role": "system",
175
+ "content": "You are a political scholar with a deep knowledge of State of the Union addresses. You are tasked with summarizing a speech from a given president. The content should be structured like you were writing a short essay. The goal is to provide a concise summary of the speech with the proper historical and political context. Where applicable, directly quote the speech.",
176
  },
177
  {
178
  "role": "user",
179
+ "content": f"The following speech is a State of the Union address from {speech_info[0]} on {speech_info[1]}. Summarize it in 500 words: {speech}",
180
  },
181
  ],
182
+ max_tokens=1200,
183
  stream=True,
184
+ temperature=0.5,
185
  ):
186
  # yield message.choices[0].delta.content
187
  # print(message)
 
206
  "In addition to analyzing the content, this space also leverages the [Qwen/2.5-72B-Instruct](https://deepinfra.com/Qwen/Qwen2.5-72B-Instruct) model to summarize a speech. The model is tasked with providing a concise summary of a speech from a given president. To get a summary, go to the 'Summarize a Speech' tab."
207
  )
208
 
209
+ with gr.Tab(label="Summarize a Speech"):
210
+ gr.Markdown("## Summarize a Speech")
211
+ gr.Markdown(
212
+ """
213
+ Context is king; get a summary of a State of the Union now that you've seen a bit more. Use the dropdown to select a speech from a president and click the button to summarize the speech. [Qwen/2.5-72B-Instruct](https://deepinfra.com/Qwen/Qwen2.5-72B-Instruct) will provide a concise summary of the speech with the proper historical and political context.
214
+ """
215
+ )
216
+ speeches = df["speech_key"].unique()
217
+ speeches = speeches.tolist()
218
+ speech = gr.Dropdown(label="Select a Speech", choices=speeches)
219
+ # create a dropdown to select a speech from a president
220
+ run_summarization = gr.Button(value="Summarize")
221
+ fin_speech = gr.Textbox(label="Summarized Speech", type="text", lines=10)
222
+ run_summarization.click(
223
+ streaming, inputs=[speech, df_state], outputs=[fin_speech]
224
+ )
225
+
226
  with gr.Tab(label="Speech Data"):
227
  # Basic line chart showing the total number of words in each address
228
  gr.Markdown(
 
337
  # show a line chart of word count and ARI for a selected president
338
  gr.Plot(plotly_word_and_ari, inputs=[president, df_state])
339
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
340
  demo.launch()
poetry.lock CHANGED
@@ -1,4 +1,4 @@
1
- # This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
2
 
3
  [[package]]
4
  name = "aiofiles"
@@ -732,19 +732,19 @@ tqdm = ["tqdm"]
732
 
733
  [[package]]
734
  name = "gradio"
735
- version = "4.42.0"
736
  description = "Python library for easily interacting with trained machine learning models"
737
  optional = false
738
  python-versions = ">=3.8"
739
  files = [
740
- {file = "gradio-4.42.0-py3-none-any.whl", hash = "sha256:fe97d5e99e7e26eb37b925f25b1c8f5aea3e6a23ed1ed4409ee4e306ce2fc58a"},
741
- {file = "gradio-4.42.0.tar.gz", hash = "sha256:a64a8815b284d9fb0ffafe287dfb307c2044f530386fd7ab72fde985a268fd0c"},
742
  ]
743
 
744
  [package.dependencies]
745
  aiofiles = ">=22.0,<24.0"
746
  anyio = ">=3.0,<5.0"
747
- fastapi = "*"
748
  ffmpy = "*"
749
  gradio-client = "1.3.0"
750
  httpx = ">=0.24.1"
 
1
+ # This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
2
 
3
  [[package]]
4
  name = "aiofiles"
 
732
 
733
  [[package]]
734
  name = "gradio"
735
+ version = "4.44.1"
736
  description = "Python library for easily interacting with trained machine learning models"
737
  optional = false
738
  python-versions = ">=3.8"
739
  files = [
740
+ {file = "gradio-4.44.1-py3-none-any.whl", hash = "sha256:c908850c638e4a176b22f95a758ce6a63ffbc2a7a5a74b23186ceeeedc23f4d9"},
741
+ {file = "gradio-4.44.1.tar.gz", hash = "sha256:a68a52498ac6b63f8864ef84bf7866a70e7d07ebe913edf921e1d2a3708ad5ae"},
742
  ]
743
 
744
  [package.dependencies]
745
  aiofiles = ">=22.0,<24.0"
746
  anyio = ">=3.0,<5.0"
747
+ fastapi = "<1.0"
748
  ffmpy = "*"
749
  gradio-client = "1.3.0"
750
  httpx = ">=0.24.1"