woodmastr commited on
Commit
f33edf1
·
verified ·
1 Parent(s): 48c2230

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +200 -9
app.py CHANGED
@@ -4,7 +4,7 @@ import gradio as gr
4
 
5
  model = GLiNER.from_pretrained("urchade/gliner_multi-v2.1")
6
 
7
- examples = [
8
  [
9
  "Libretto by Marius Petipa, based on the 1822 novella ``Trilby, ou Le Lutin d'Argail`` by Charles Nodier, first presented by the Ballet of the Moscow Imperial Bolshoi Theatre on January 25/February 6 (Julian/Gregorian calendar dates), 1870, in Moscow with Polina Karpakova as Trilby and Ludiia Geiten as Miranda and restaged by Petipa for the Imperial Ballet at the Imperial Bolshoi Kamenny Theatre on January 17–29, 1871 in St. Petersburg with Adèle Grantzow as Trilby and Lev Ivanov as Count Leopold.",
10
  "person, book, location, date, actor, character",
@@ -99,6 +99,194 @@ examples = [
99
  ],
100
  ]
101
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
  def ner(
104
  text, labels: str, threshold: float, nested_ner: bool
@@ -124,29 +312,32 @@ def ner(
124
  with gr.Blocks(title="GLiNER-M-v2.1") as demo:
125
  gr.Markdown(
126
  """
127
- # GLiNER-base
128
 
129
- GLiNER is a Named Entity Recognition (NER) model capable of identifying any entity type using a bidirectional transformer encoder (BERT-like). It provides a practical alternative to traditional NER models, which are limited to predefined entities, and Large Language Models (LLMs) that, despite their flexibility, are costly and large for resource-constrained scenarios.
130
 
131
  ## Links
132
 
133
  * Model: https://huggingface.co/urchade/gliner_multi-v2.1
134
- * All GLiNER models: https://huggingface.co/models?library=gliner
135
  * Paper: https://arxiv.org/abs/2311.08526
136
  * Repository: https://github.com/urchade/GLiNER
 
 
 
137
  """
138
  )
139
- with gr.Accordion("How to run this model locally", open=False):
140
  gr.Markdown(
141
  """
142
  ## Installation
143
- To use this model, you must install the GLiNER Python library:
144
  ```
145
  !pip install gliner
146
  ```
147
 
148
  ## Usage
149
- Once you've downloaded the GLiNER library, you can import the GLiNER class. You can then load this model using `GLiNER.from_pretrained` and predict entities with `predict_entities`.
150
  """
151
  )
152
  gr.Code(
@@ -156,7 +347,7 @@ from gliner import GLiNER
156
  model = GLiNER.from_pretrained("urchade/gliner_mediumv2.1")
157
 
158
  text = """
159
- Cristiano Ronaldo dos Santos Aveiro (Portuguese pronunciation: [kɾiʃˈtjɐnu ʁɔˈnaldu]; born 5 February 1985) is a Portuguese professional footballer who plays as a forward for and captains both Saudi Pro League club Al Nassr and the Portugal national team. Widely regarded as one of the greatest players of all time, Ronaldo has won five Ballon d'Or awards,[note 3] a record three UEFA Men's Player of the Year Awards, and four European Golden Shoes, the most by a European player. He has won 33 trophies in his career, including seven league titles, five UEFA Champions Leagues, the UEFA European Championship and the UEFA Nations League. Ronaldo holds the records for most appearances (183), goals (140) and assists (42) in the Champions League, goals in the European Championship (14), international goals (128) and international appearances (205). He is one of the few players to have made over 1,200 professional career appearances, the most by an outfield player, and has scored over 850 official senior career goals for club and country, making him the top goalscorer of all time.
160
  """
161
 
162
  labels = ["person", "award", "date", "competitions", "teams"]
@@ -238,4 +429,4 @@ European Championship => competitions
238
  )
239
 
240
  demo.queue()
241
- demo.launch(debug=True)
 
4
 
5
  model = GLiNER.from_pretrained("urchade/gliner_multi-v2.1")
6
 
7
+ examples0 = [
8
  [
9
  "Libretto by Marius Petipa, based on the 1822 novella ``Trilby, ou Le Lutin d'Argail`` by Charles Nodier, first presented by the Ballet of the Moscow Imperial Bolshoi Theatre on January 25/February 6 (Julian/Gregorian calendar dates), 1870, in Moscow with Polina Karpakova as Trilby and Ludiia Geiten as Miranda and restaged by Petipa for the Imperial Ballet at the Imperial Bolshoi Kamenny Theatre on January 17–29, 1871 in St. Petersburg with Adèle Grantzow as Trilby and Lev Ivanov as Count Leopold.",
10
  "person, book, location, date, actor, character",
 
99
  ],
100
  ]
101
 
102
+ examples1 = [
103
+ [
104
+ "Libretto von Marius Petipa, basierend auf der Novelle ``Trilby, ou Le Lutin d'Argail`` von Charles Nodier aus dem Jahr 1822, erstmals präsentiert vom Ballett des Moskauer Kaiserlichen Bolschoi-Theaters am 25. Januar/6. Februar (Julianischer/Gregorianischer Kalender) 1870 in Moskau mit Polina Karpakova als Trilby und Ludiia Geiten als Miranda und neu inszeniert von Petipa für das Kaiserliche Ballett am Kaiserlichen Bolschoi-Kamenny-Theater vom 17. bis 29. Januar 1871 in St. Petersburg mit Adèle Grantzow als Trilby und Lev Ivanov als Graf Leopold.",
105
+ "person, buch, ort, datum, schauspieler, charakter",
106
+ 0.3,
107
+ True,
108
+ ],
109
+ [
110
+ """
111
+ * Data Scientist, Data Analyst oder Data Engineer mit mehr als 1 Jahr Erfahrung.
112
+ * Erfahrung mit Technologien wie Docker, Kubernetes oder Kubeflow
113
+ * Erfahrung mit maschinellem Lernen bevorzugt
114
+ * Erfahrung mit Programmiersprachen wie Python, C++ oder SQL bevorzugt
115
+ * Erfahrung mit Technologien wie Databricks, Qlik, TensorFlow, PyTorch, Python, Dash, Pandas oder NumPy bevorzugt
116
+ * BA- oder BS-Abschluss
117
+ * Aktive Geheimhaltungsstufe (Secret) oder aktive Top-Secret- oder aktive TS/SCI-Freigabe
118
+ """,
119
+ "softwarepaket, programmiersprache, softwaretool, abschluss, berufsbezeichnung",
120
+ 0.3,
121
+ False,
122
+ ],
123
+ [
124
+ "Jedoch fehlen bei beiden Modellen andere häufige DM-Symptome wie die faserabhängige Atrophie, Myotonie, Katarakt und männliche Unfruchtbarkeit.",
125
+ "krankheit, symptom",
126
+ 0.3,
127
+ False,
128
+ ],
129
+ [
130
+ "Die Synergie zwischen Signaltransduktionswegen ist obligatorisch für die Expression von c-fos in B- und T-Zelllinien: Implikation für die c-fos-Kontrolle über Oberflächenimmunoglobulin und T-Zell-Antigenrezeptoren.",
131
+ "DNA, RNA, zelllinie, zelltyp, protein",
132
+ 0.3,
133
+ False,
134
+ ],
135
+ [
136
+ "Die Wahl der Encoder- und Decoder-Module von dnpg kann ziemlich flexibel sein, zum Beispiel Langzeit-Kurzzeit-Gedächtnis-Netzwerke (LSTM) oder Convolutional Neural Networks (CNN).",
137
+ "kurzes akronym, langes akronym",
138
+ 0.3,
139
+ False,
140
+ ],
141
+ [
142
+ "Amelia Earhart flog ihren einmotorigen Lockheed Vega 5B über den Atlantik nach Paris.",
143
+ "person, unternehmen, ort, flugzeug",
144
+ 0.3,
145
+ True,
146
+ ],
147
+ [
148
+ "Feldman ist ein Mitwirkender bei NBC Sports Bostons Programmen ``State of the Revs`` und ``Revolution Postgame Live`` sowie bei 98.5 the SportsHub, SiriusXM FCs MLS-Berichterstattung und anderen New England und nationalen Radiosendern und Podcasts.",
149
+ "person, unternehmen, ort",
150
+ 0.3,
151
+ False,
152
+ ],
153
+ [
154
+ "Am 25. Juli 1948, am 39. Jahrestag von Bleriots Überquerung des Ärmelkanals, flog der Typ 618 Nene-Viking von Heathrow nach Paris (Villacoublay) am Morgen und transportierte Briefe an Bleriots Witwe und Sohn (Sekretär der FAI), die ihn am Flughafen trafen.",
155
+ "datum, ort, person, organisation",
156
+ 0.3,
157
+ False,
158
+ ],
159
+ [
160
+ "Leo & Ian gewannen 1962 das Bathurst Six Hour Classic am Mount Panorama, indem sie einen Daimler SP250 Sportwagen fuhren, (in diesem Jahr fand das 500-Meilen-Rennen für Tourenwagen auf Phillip Island statt)",
161
+ "person, datum, ort, organisation, wettbewerb",
162
+ 0.3,
163
+ False,
164
+ ],
165
+ [
166
+ "Die Shore Line Route der CNS & M bediente bis 1955 von Süden nach Norden die Gemeinden Illinois von Chicago, Evanston, Wilmette, Kenilworth, Winnetka, Glencoe, Highland Park, Highwood, Fort Sheridan, Lake Forest, Lake Bluff, North Chicago, Waukegan, Zion und Winthrop Harbor sowie Kenosha, Racine und Milwaukee (die ``KRM'') in Wisconsin.",
167
+ "ort, organisation, datum",
168
+ 0.3,
169
+ False,
170
+ ],
171
+ [
172
+ "Der Komet C/2006 M4 (SWAN) ist ein nicht-periodischer Komet, der Ende Juni 2006 von Robert D. Matson aus Irvine, Kalifornien, und Michael Mattiazzo aus Adelaide, Südaustralien, in öffentlich zugänglichen Bildern des Solar and Heliospheric Observatory (SOHO) entdeckt wurde.",
173
+ "person, organisation, datum, ort",
174
+ 0.3,
175
+ False,
176
+ ],
177
+ [
178
+ "Vom 29. November 2011 bis zum 31. März 2012 kehrte Karimloo zu ``Les Misérables`` zurück, um die Hauptrolle des Jean Valjean im Queen's Theatre in London zu spielen, wofür er 2013 den Theatregoers' Choice Award für die beste Rollenübernahme gewann.",
179
+ "person, schauspieler, auszeichnung, datum, ort",
180
+ 0.3,
181
+ False,
182
+ ],
183
+ [
184
+ "Eine von Enrique Acosta Fregoso (PRI), einem ehemaligen Kandidaten für das Amt des Gouverneurs von Baja California, unterstützte Klinik in Mexicali wurde am 15. Juni geschlossen, nachdem sie ein angebliches COVID-19-``Heilmittel`` für zwischen 10.000 und 50.000 MXN verkauft hatte.",
185
+ "ort, organisation, person, datum, währung",
186
+ 0.3,
187
+ False,
188
+ ],
189
+ [
190
+ "Erbaut 1793, war es das Zuhause von Mary Young Pickersgill, als sie 1806 nach Baltimore zog und der Ort, an dem sie später das ``Star Spangled Banner'' nähte, 1813, die riesige überdimensionale Garnisonsflagge, die im Sommer 1814 während des Angriffs der britischen Royal Navy in der Schlacht von Baltimore während des Krieges von 1812 über Fort McHenry in Whetstone Point im Hafen von Baltimore wehte.",
191
+ "datum, person, ort, organisation, ereignis, flagge",
192
+ 0.3,
193
+ False,
194
+ ],
195
+ ]
196
+
197
+
198
+ examples = [
199
+ [
200
+ "Die Österreich GmbH sucht einen erfahrenen IT-Dienstleister zur Implementierung eines neuen ERP-Systems. Der Dienstleister muss Erfahrung mit SAP und Oracle haben und in der Lage sein, das Projekt bis zum 31. Dezember 2024 abzuschließen.",
201
+ "unternehmen, software, projekt, datum",
202
+ 0.3,
203
+ True,
204
+ ],
205
+ [
206
+ """
207
+ * Bauunternehmen mit mindestens 5 Jahren Erfahrung im Hoch- und Tiefbau.
208
+ * Erfahrung mit öffentlichen Bauprojekten in Österreich.
209
+ * Nachweisbare Expertise in der Nutzung von Baumanagement-Software wie Procore oder BIM 360.
210
+ * BA oder BS Abschluss im Bauingenieurwesen oder einem verwandten Bereich.
211
+ * Aktive ISO 9001 Zertifizierung bevorzugt.
212
+ """,
213
+ "unternehmen, software, abschluss, zertifizierung, erfahrung",
214
+ 0.3,
215
+ False,
216
+ ],
217
+ [
218
+ "Die Beschaffung von 50 neuen Elektrofahrzeugen für den städtischen Fuhrpark soll bis zum 30. Juni 2025 abgeschlossen sein.",
219
+ "fahrzeug, projekt, datum",
220
+ 0.3,
221
+ False,
222
+ ],
223
+ [
224
+ "Die Lieferung und Installation von Solarmodulen auf den Dächern aller öffentlichen Gebäude in Wien ist bis Ende 2024 geplant. Die Anbieter müssen nachweislich Erfahrung mit ähnlichen Projekten und eine gültige ÖNORM-Zertifizierung haben.",
225
+ "projekt, ort, datum, zertifizierung",
226
+ 0.3,
227
+ False,
228
+ ],
229
+ [
230
+ "Für die Digitalisierung der Verwaltungsprozesse sucht die Österreich GmbH einen IT-Partner mit umfangreicher Erfahrung in der Implementierung von Cloud-Lösungen wie AWS oder Azure.",
231
+ "unternehmen, software",
232
+ 0.3,
233
+ False,
234
+ ],
235
+ [
236
+ "Amelia Earhart GmbH bietet den Bau eines neuen Logistikzentrums an, das auf einem 10.000 m² großen Grundstück in Salzburg errichtet werden soll.",
237
+ "unternehmen, ort, projekt",
238
+ 0.3,
239
+ True,
240
+ ],
241
+ [
242
+ "Die Österreich GmbH plant den Bau eines neuen Bürogebäudes und sucht Architekten mit Erfahrung in nachhaltigem Bauen und LEED-Zertifizierung.",
243
+ "unternehmen, projekt, zertifizierung",
244
+ 0.3,
245
+ False,
246
+ ],
247
+ [
248
+ "Am 25. Juli 2024 wird die Ausschreibung für den Bau einer neuen Brücke über die Donau in Linz veröffentlicht. Bewerbungen werden bis zum 15. September 2024 angenommen.",
249
+ "datum, ort, projekt",
250
+ 0.3,
251
+ False,
252
+ ],
253
+ [
254
+ "Die Österreich GmbH sucht nach einem Anbieter für die Wartung und Instandhaltung ihrer IT-Infrastruktur. Erfahrungen mit Cisco und Fortinet sind erforderlich.",
255
+ "unternehmen, software",
256
+ 0.3,
257
+ False,
258
+ ],
259
+ [
260
+ "Für die Umsetzung des Projekts zur Verbesserung der Wasserversorgung in Graz wird ein erfahrenes Ingenieurbüro gesucht. Das Projekt beginnt am 1. Januar 2025 und endet am 31. Dezember 2026.",
261
+ "projekt, ort, datum",
262
+ 0.3,
263
+ False,
264
+ ],
265
+ [
266
+ "Die Österreich GmbH sucht nach einem Partner für die Implementierung eines neuen CRM-Systems. Erfahrung mit Salesforce oder Microsoft Dynamics ist erforderlich.",
267
+ "unternehmen, software",
268
+ 0.3,
269
+ False,
270
+ ],
271
+ [
272
+ "Vom 1. September 2024 bis zum 30. November 2024 werden Angebote für die Lieferung von Büromöbeln für das neue Hauptquartier in Wien angenommen. Die Anbieter müssen Erfahrung in der Lieferung von Großaufträgen nachweisen.",
273
+ "datum, ort, projekt",
274
+ 0.3,
275
+ False,
276
+ ],
277
+ [
278
+ "Eine von der Österreich GmbH unterstützte Gesundheitsklinik in Salzburg sucht nach einem Anbieter für medizinische Geräte. Der Vertrag wird im Januar 2025 vergeben.",
279
+ "ort, projekt, datum",
280
+ 0.3,
281
+ False,
282
+ ],
283
+ [
284
+ "Erbaut 1793, ist das Gebäude in Graz das älteste Verwaltungsgebäude der Österreich GmbH und wurde 2023 umfassend renoviert, um modernen Standards zu entsprechen.",
285
+ "datum, ort, projekt",
286
+ 0.3,
287
+ False,
288
+ ],
289
+ ]
290
 
291
  def ner(
292
  text, labels: str, threshold: float, nested_ner: bool
 
312
  with gr.Blocks(title="GLiNER-M-v2.1") as demo:
313
  gr.Markdown(
314
  """
315
+ # GLiNER-base WW
316
 
317
+ GLiNER ist ein Modell zur Erkennung benannter Entitäten (Named Entity Recognition, NER), das in der Lage ist, beliebige Entitätstypen mithilfe eines bidirektionalen Transformator-Encoders (ähnlich wie BERT) zu identifizieren. Es stellt eine praktische Alternative zu traditionellen NER-Modellen dar, die auf vordefinierte Entitäten beschränkt sind, sowie zu großen Sprachmodellen (LLMs), die trotz ihrer Flexibilität teuer und für ressourcenbeschränkte Szenarien zu groß sind.
318
 
319
  ## Links
320
 
321
  * Model: https://huggingface.co/urchade/gliner_multi-v2.1
322
+ * Alle GLiNER Modelle: https://huggingface.co/models?library=gliner
323
  * Paper: https://arxiv.org/abs/2311.08526
324
  * Repository: https://github.com/urchade/GLiNER
325
+
326
+ ## Disclaimer
327
+ Dieses Modell ist ein Proof of Concept und sollte nicht für Produktivitätszwecke eingesetzt werden. Daten werden nicht gespeichert.
328
  """
329
  )
330
+ with gr.Accordion("Gliner lokal ausfhren", open=False):
331
  gr.Markdown(
332
  """
333
  ## Installation
334
+ Um dieses Modell lokal auszufhren, die GLiNER Python Bibliothek installieren:
335
  ```
336
  !pip install gliner
337
  ```
338
 
339
  ## Usage
340
+ Nach dem Herunterladen der GLiNER Bibliothek kann die GLiNER Klasse importiert werden. Dann kann dieses Modell mit `GLiNER.from_pretrained` geladen und Entitäten mit `predict_entities` vorhergesagt werden.
341
  """
342
  )
343
  gr.Code(
 
347
  model = GLiNER.from_pretrained("urchade/gliner_mediumv2.1")
348
 
349
  text = """
350
+ Cristiano Ronaldo dos Santos Aveiro (portugiesische Aussprache: [kɾiʃˈtjɐnu ʁɔˈnaldu]; geboren am 5. Februar 1985) ist ein portugiesischer Profifußballer, der als Stürmer für den Saudi Pro League Club Al Nassr und die portugiesische Nationalmannschaft spielt und beide Teams als Kapitän anführt. Er wird weithin als einer der größten Spieler aller Zeiten angesehen. Ronaldo hat fünf Ballon dOr-Auszeichnungen, eine Rekordzahl von drei UEFA Mens Player of the Year Awards und vier European Golden Shoes gewonnen, die meisten von einem europäischen Spieler. In seiner Karriere hat er 33 Trophäen gewonnen, darunter sieben Meistertitel, fünf UEFA Champions Leagues, die UEFA-Europameisterschaft und die UEFA Nations League. Ronaldo hält die Rekorde für die meisten Einsätze (183), Tore (140) und Vorlagen (42) in der Champions League, Tore bei der Europameisterschaft (14), internationale Tore (128) und internationale Einsätze (205). Er ist einer der wenigen Spieler, die über 1.200 professionelle Karriereauftritte gemacht haben, die meisten von einem Feldspieler, und hat über 850 offizielle Tore in seiner Seniorenkarriere für Verein und Land erzielt, was ihn zum besten Torschützen aller Zeiten macht.
351
  """
352
 
353
  labels = ["person", "award", "date", "competitions", "teams"]
 
429
  )
430
 
431
  demo.queue()
432
+ demo.launch(debug=True, server_name="0.0.0.0")