Yeb Havinga commited on
Commit
2e9f7d2
1 Parent(s): 03124c3

Update demo

Browse files
Files changed (3) hide show
  1. NewsCovid-19-512.png +0 -0
  2. app.py +50 -18
  3. style.css +20 -19
NewsCovid-19-512.png ADDED
app.py CHANGED
@@ -9,13 +9,12 @@ from transformers import set_seed
9
  debug = False
10
 
11
  MODEL = "flax-community/t5-base-dutch-demo"
12
- #MODEL: str = "."
13
 
14
- DEFAULT_TEXT: str = """Bij meerdere dijken in gemeenten langs de Maas in de veiligheidsregio Limburg-Noord zijn lekkages ontstaan. Dat vertelde burgemeester van Venlo Antoin Scholten - tevens voorzitter van de veiligheidsregio - zaterdagmiddag op een persconferentie. Een bedrijventerrein aan de Prins Willem Alexanderhaven in Roermond wordt om die reden ontruimd. Scholten vraagt Nederlanders de komende dagen weg te blijven uit de regio.
15
- "We zien dat zwakke plekken zich voordoen", aldus Scholten. "De situatie is nog onzeker. Het water is ongelofelijk grillig." Volgens hem is het onzeker of de dijken langs de Prins Willem Alexanderhaven het gaan houden. Daar zou al water doorheen sijpelen.
16
- Vanuit Defensie staat een interventieteam paraat om hulp te bieden als het ergens onverhoopt toch misgaat. Scholten prijst ook de vele vrijwilligers die klaarstaan voor Limburg. "De vele handjes zijn hartverwarmend. Vanuit de dorpen, de kernen, de wijken."
17
- Ook vanuit elders in Europa is hulp aangeboden, weet Scholten. "Men weet ons spontaan te vinden, zonder dat wij ook een oproep hebben gedaan om hulp."
18
- De burgemeester riep alle ramptoeristen er opnieuw toe op nog even weg te blijven. Dat kan volgens hem tot gevaarlijke situaties leiden en de ramptoeristen lopen bovendien hulpdiensten in de weg, aldus Scholten. Jos Teeuwen, bestuurslid van Waterschap Limburg, beaamt dat er gevaarlijke situaties kunnen ontstaan. "De dijken zijn door het vocht en de grote hoeveelheden water verzwakt."
19
  """
20
 
21
  generator_kwargs_beam = {
@@ -44,7 +43,7 @@ class TextSummarizer:
44
  self.tokenizer = None
45
  self.model = None
46
  self.generator = None
47
- # set_seed(42)
48
 
49
  def load(self):
50
  os.environ["TOKENIZERS_PARALLELISM"] = "false"
@@ -71,7 +70,7 @@ def instantiate_generator():
71
  def main():
72
  st.set_page_config( # Alternate names: setup_page, page, layout
73
  page_title="Netherformer", # String or None. Strings get appended with "• Streamlit".
74
- # layout="", # Can be "centered" or "wide". In the future also "dashboard", etc.
75
  initial_sidebar_state="expanded", # Can be "auto", "expanded", "collapsed"
76
  page_icon="📰", # String, anything supported by st.image, or None.
77
  )
@@ -82,21 +81,54 @@ def main():
82
  generator = instantiate_generator()
83
 
84
  st.markdown(
85
- """# Netherformer 📰
86
- This demo uses [T5 Dutch finetuned on CNN DM](https://huggingface.co/flax-community/t5-base-dutch-demo)
87
- to generate summaries of a news story
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  """
89
  )
 
 
 
 
 
 
 
 
 
 
90
 
91
- input_text = st.text_area("Enter a Dutch news text", DEFAULT_TEXT)
92
 
93
  if st.button("Generate summary"):
94
- if debug:
95
- response = """Een bedrijventerrein aan de Prins Willem Alexanderhaven in Roermond heeft de komende dagen weg te blijven uit de regio. De burgemeester van Roermond roept alle ramptoeristen er opnieuw toe op meer dan 10.00 uur weg."""
96
- else:
97
- response = generator.summarize(input_text, generator_kwargs_beam)
98
- st.header("Summary:")
99
- st.markdown(response)
 
 
 
 
 
 
100
 
101
 
102
  if __name__ == "__main__":
9
  debug = False
10
 
11
  MODEL = "flax-community/t5-base-dutch-demo"
12
+ # MODEL: str = "."
13
 
14
+ DEFAULT_TEXT: str = """De Japanse onderzoekers gebruikten geavanceerde glasvezeltechnologie om de hoge snelheid te halen. Hiervoor werd onder meer gebruikgemaakt van zeldzame mineralen en een zogeheten microkam, waarbij laserstralen in bundels worden afgeschoten.
15
+ Het NICT simuleerde de data op zo'n manier dat de downloadsnelheid over een gebied van 3.000 kilometer kon worden gemeten. Over die afstand werd door de onderzoekers geen vertraging in de snelheid of verzwakking in het signaal gemeten.
16
+ Met een snelheid van 319 Tb/s zouden 57.000 films per seconde kunnen worden gedownload of de gehele Spotify-bibliotheek in drie seconden, schrijft Yahoo News.
17
+ Voorlopig lijkt de techniek overigens niet meer te zijn dan een experiment, vanwege de hoge kosten die ermee zijn gemoeid. In Nederland zijn providers bezig met het aanleggen van internet met een hoge downloadsnelheid. Deze glasvezelnetwerken bereiken snelheden tot 1 gigabit per seconde.
 
18
  """
19
 
20
  generator_kwargs_beam = {
43
  self.tokenizer = None
44
  self.model = None
45
  self.generator = None
46
+ set_seed(42)
47
 
48
  def load(self):
49
  os.environ["TOKENIZERS_PARALLELISM"] = "false"
70
  def main():
71
  st.set_page_config( # Alternate names: setup_page, page, layout
72
  page_title="Netherformer", # String or None. Strings get appended with "• Streamlit".
73
+ layout="wide", # Can be "centered" or "wide". In the future also "dashboard", etc.
74
  initial_sidebar_state="expanded", # Can be "auto", "expanded", "collapsed"
75
  page_icon="📰", # String, anything supported by st.image, or None.
76
  )
81
  generator = instantiate_generator()
82
 
83
  st.markdown(
84
+ """
85
+ <style>
86
+ [data-testid="stSidebar"][aria-expanded="true"] > div:first-child {
87
+ width: 500px;
88
+ }
89
+ [data-testid="stSidebar"][aria-expanded="false"] > div:first-child {
90
+ width: 500px;
91
+ margin-left: -500px;
92
+ }
93
+ </style>
94
+ """,
95
+ unsafe_allow_html=True,
96
+ )
97
+ st.sidebar.image("NewsCovid-19-512.png", width=200)
98
+ st.sidebar.markdown(
99
+ """# Netherformer
100
+ * Create summaries of Dutch news stories.
101
+ * Copy paste any Dutch news text and press the Generate Summary botton.
102
+ * This demo the [T5 Dutch finetuned on CNN DM](https://huggingface.co/flax-community/t5-base-dutch-demo)
103
+ transformer model. Please refer to the [model page](https://huggingface.co/flax-community/t5-base-dutch-demo) for more information.
104
  """
105
  )
106
+ st.sidebar.title("Mode:")
107
+
108
+ if sampling_mode := st.sidebar.selectbox(
109
+ "select a Mode", index=0, options=["Beam Search", "Top-k Sampling"]
110
+ ):
111
+ if sampling_mode == "Beam Search":
112
+ params = generator_kwargs_beam
113
+ else:
114
+ params = generator_kwargs_top_k
115
+ st.sidebar.json(params)
116
 
117
+ input_text = st.text_area("Enter a Dutch news text", DEFAULT_TEXT, height=500)
118
 
119
  if st.button("Generate summary"):
120
+
121
+ with st.spinner("Generating summary ..."):
122
+ if debug:
123
+ from time import sleep
124
+
125
+ sleep(2)
126
+ response = """Een bedrijventerrein aan de Prins Willem Alexanderhaven in Roermond heeft de komende dagen weg te blijven uit de regio. De burgemeester van Roermond roept alle ramptoeristen er opnieuw toe op meer dan 10.00 uur weg."""
127
+ else:
128
+ response = generator.summarize(input_text, params)
129
+
130
+ st.header("Summary:")
131
+ st.markdown(response)
132
 
133
 
134
  if __name__ == "__main__":
style.css CHANGED
@@ -1,10 +1,10 @@
1
  body {
2
  background-color: #eee;
3
  }
4
- .fullScreenFrame > div {
5
- display: flex;
6
- justify-content: center;
7
- }
8
  /*.stButton>button {*/
9
  /* color: #4F8BF9;*/
10
  /* border-radius: 50%;*/
@@ -17,21 +17,22 @@ body {
17
  }
18
  .stTextArea>div>div>input {
19
  color: #4F8BF9;
 
20
  }
21
 
22
 
23
- .st-cj {
24
- min-height: 500px;
25
- spellcheck="false";
26
- color: #4F8BF9;
27
- }
28
- .st-ch {
29
- min-height: 500px;
30
- spellcheck="false";
31
- color: #4F8BF9;
32
- }
33
- .st-bb {
34
- min-height: 500px;
35
- spellcheck="false";
36
- color: #4F8BF9;
37
- }
1
  body {
2
  background-color: #eee;
3
  }
4
+ /*.fullScreenFrame > div {*/
5
+ /* display: flex;*/
6
+ /* justify-content: center;*/
7
+ /*}*/
8
  /*.stButton>button {*/
9
  /* color: #4F8BF9;*/
10
  /* border-radius: 50%;*/
17
  }
18
  .stTextArea>div>div>input {
19
  color: #4F8BF9;
20
+ min-height: 500px;
21
  }
22
 
23
 
24
+ /*.st-cj {*/
25
+ /* min-height: 500px;*/
26
+ /* spellcheck="false";*/
27
+ /* color: #4F8BF9;*/
28
+ /*}*/
29
+ /*.st-ch {*/
30
+ /* min-height: 500px;*/
31
+ /* spellcheck="false";*/
32
+ /* color: #4F8BF9;*/
33
+ /*}*/
34
+ /*.st-bb {*/
35
+ /* min-height: 500px;*/
36
+ /* spellcheck="false";*/
37
+ /* color: #4F8BF9;*/
38
+ /*}*/