stonapse64 commited on
Commit
0d894e0
1 Parent(s): da29f14

Finalized demo. Created a venv and a requirements.txt-

Browse files
Files changed (5) hide show
  1. app.py +66 -29
  2. images/Siemens_logo.png +0 -0
  3. requirements.txt +0 -0
  4. resources.py +53 -4
  5. static/Siemens_logo.png +0 -0
app.py CHANGED
@@ -1,10 +1,13 @@
1
- import gradio as gr
2
- from transformers import pipeline
3
  from resources import *
 
 
 
 
4
 
 
5
  bellamy_bowie_classifier_candidate_labels = ["manager", "engineer", "technician", "politician", "scientist", "student", "journalist", "marketeer", "spokesperson", "other"]
6
  bellamy_bowie_classifier_candidate_labels_preselection = ["manager", "engineer", "technician", "politician", "scientist", "student", "journalist"]
7
-
8
  bellamy_bowie_classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
9
 
10
 
@@ -13,12 +16,30 @@ def bellamy_bowie_predict(candidate_labels_selected, sequence):
13
  return dict(zip(outputs['labels'], outputs['scores'])) # Extract labels and scores from the outputs dictionary
14
 
15
 
16
- def ellis_update(name, age):
17
- return f"Welcome to Gradio, {name}! Are your really good {age} years old?"
 
 
18
 
19
 
20
- # Ellis Cappy stuff
 
 
 
 
21
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  ellis_cappy_captioner = pipeline("image-to-text", model="Salesforce/blip-image-captioning-base", max_new_tokens=40)
23
 
24
 
@@ -27,59 +48,75 @@ def ellis_cappy_captionizer(img):
27
  return captions[0]["generated_text"]
28
 
29
 
30
- def marvin_update(origin, name):
31
- # origin = type(origin)
32
- return f"Welcome to Gradio, {name}! Are your really from {origin[0]}?"
33
-
34
-
35
- with gr.Blocks() as demo:
36
- gr.Markdown("Start typing below and then click **Run** to see the output.")
37
 
38
  with gr.Tab("Bellamy Bowie"):
39
  with gr.Row():
40
- with gr.Column(scale=3):
41
  gr.HTML(bellamy_bowie_description)
42
  with gr.Column(scale=1):
43
- gr.Image(bellamy_bowie_hero, label=None)
44
  with gr.Row():
45
  with gr.Column(scale=1):
46
  bellamy_bowie_checkbox_input = gr.CheckboxGroup(choices=bellamy_bowie_classifier_candidate_labels, value=bellamy_bowie_classifier_candidate_labels_preselection, label="Target personas of your message", info="Recommendation: Don't change the preselection for your first analysis.")
47
  bellamy_bowie_textbox_input = gr.Textbox(lines=10, placeholder="Your text goes here", label="Write or paste your message to classify")
48
  with gr.Row():
49
- bellamy_bowie_clear_button = gr.ClearButton(components=bellamy_bowie_textbox_input, value="Clear")
50
  bellamy_bowie_submit_button = gr.Button("Submit", variant="primary")
51
  with gr.Column(scale=1):
52
  bellamy_bowie_outputs = gr.Label(label="Matching scores by personas")
53
- gr.HTML(bellamy_bowie_note_quality)
54
  with gr.Row():
55
  with gr.Column(scale=1):
56
  gr.Examples(bellamy_bowie_examples, inputs=[bellamy_bowie_textbox_input])
 
57
  gr.HTML(bellamy_bowie_article)
58
  bellamy_bowie_submit_button.click(fn=bellamy_bowie_predict, inputs=[bellamy_bowie_checkbox_input, bellamy_bowie_textbox_input], outputs=bellamy_bowie_outputs)
59
 
60
  with gr.Tab("Urly & Murly Simmy"):
61
  with gr.Row():
62
- with gr.Column(scale=3):
63
- gr.HTML(ellis_cappy_description)
64
  with gr.Column(scale=1):
65
- gr.Image(ellis_cappy_hero)
 
 
66
  with gr.Row():
67
- inp_01 = gr.Textbox(placeholder="What is your name?")
68
- inp_02 = gr.Textbox(placeholder="What is your age?")
69
- out_0 = gr.Textbox()
70
- btn_0 = gr.Button("Run")
71
- btn_0.click(fn=ellis_update, inputs=[inp_01, inp_02], outputs=out_0)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
 
73
  with gr.Tab("Ellis Cappy"):
74
  with gr.Row():
75
- with gr.Column(scale=3):
76
  gr.HTML(ellis_cappy_description)
77
  with gr.Column(scale=1):
78
- gr.Image(ellis_cappy_hero)
79
  with gr.Row():
80
  with gr.Column(scale=1):
81
  ellis_cappy_image_input = gr.Image(type="pil", label=None)
82
- ellis_cappy_submit_button = gr.Button("Submit")
 
 
83
  with gr.Column(scale=1):
84
  ellis_cappy_textbox_output = gr.Textbox(label="Suggested caption", lines=2)
85
  gr.HTML(ellis_cappy_note_quality)
@@ -91,4 +128,4 @@ with gr.Blocks() as demo:
91
  ellis_cappy_submit_button.click(fn=ellis_cappy_captionizer, inputs=ellis_cappy_image_input,
92
  outputs=ellis_cappy_textbox_output, api_name="captionizer")
93
 
94
- demo.launch()
 
1
+ from goose3 import Goose
 
2
  from resources import *
3
+ from sentence_transformers import SentenceTransformer, util
4
+ from transformers import pipeline
5
+ import gradio as gr
6
+
7
 
8
+ # Bellamy's stuff
9
  bellamy_bowie_classifier_candidate_labels = ["manager", "engineer", "technician", "politician", "scientist", "student", "journalist", "marketeer", "spokesperson", "other"]
10
  bellamy_bowie_classifier_candidate_labels_preselection = ["manager", "engineer", "technician", "politician", "scientist", "student", "journalist"]
 
11
  bellamy_bowie_classifier = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
12
 
13
 
 
16
  return dict(zip(outputs['labels'], outputs['scores'])) # Extract labels and scores from the outputs dictionary
17
 
18
 
19
+ # Urly's and Murly's stuff
20
+ # configuration
21
+ urly_murly_model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
22
+ urly_murly_scraper = Goose()
23
 
24
 
25
+ def urly_murly_predict(url_1, url_2):
26
+ # user input and text acquisition
27
+ sequence_one = urly_murly_scraper.extract(url=url_1)
28
+ sequence_two = urly_murly_scraper.extract(url=url_2)
29
+ urly_murly_scraper.close()
30
 
31
+ # #Compute embedding and similarity for both texts
32
+ sentences = [sequence_one.cleaned_text, sequence_two.cleaned_text]
33
+ embedding_1, embedding_2 = urly_murly_model.encode(sentences[0], convert_to_tensor=True), urly_murly_model.encode(sentences[1], convert_to_tensor=True)
34
+ output = float(util.pytorch_cos_sim(embedding_1, embedding_2))
35
+
36
+ # format result
37
+ output_text = "The two webpages have a similarity score of {}.".format("%.2f" % (output * 100))
38
+
39
+ return output_text, sequence_one.title, sequence_one.cleaned_text, sequence_two.title, sequence_two.cleaned_text
40
+
41
+
42
+ # Ellis' stuff
43
  ellis_cappy_captioner = pipeline("image-to-text", model="Salesforce/blip-image-captioning-base", max_new_tokens=40)
44
 
45
 
 
48
  return captions[0]["generated_text"]
49
 
50
 
51
+ with gr.Blocks() as aidademo:
52
+ # gr.Markdown("Start typing below and then click **Run** to see the output.")
 
 
 
 
 
53
 
54
  with gr.Tab("Bellamy Bowie"):
55
  with gr.Row():
56
+ with gr.Column(scale=2):
57
  gr.HTML(bellamy_bowie_description)
58
  with gr.Column(scale=1):
59
+ gr.Image(bellamy_bowie_hero, show_label=False)
60
  with gr.Row():
61
  with gr.Column(scale=1):
62
  bellamy_bowie_checkbox_input = gr.CheckboxGroup(choices=bellamy_bowie_classifier_candidate_labels, value=bellamy_bowie_classifier_candidate_labels_preselection, label="Target personas of your message", info="Recommendation: Don't change the preselection for your first analysis.")
63
  bellamy_bowie_textbox_input = gr.Textbox(lines=10, placeholder="Your text goes here", label="Write or paste your message to classify")
64
  with gr.Row():
65
+ gr.ClearButton(components=bellamy_bowie_textbox_input, value="Clear")
66
  bellamy_bowie_submit_button = gr.Button("Submit", variant="primary")
67
  with gr.Column(scale=1):
68
  bellamy_bowie_outputs = gr.Label(label="Matching scores by personas")
 
69
  with gr.Row():
70
  with gr.Column(scale=1):
71
  gr.Examples(bellamy_bowie_examples, inputs=[bellamy_bowie_textbox_input])
72
+ gr.HTML(bellamy_bowie_note_quality)
73
  gr.HTML(bellamy_bowie_article)
74
  bellamy_bowie_submit_button.click(fn=bellamy_bowie_predict, inputs=[bellamy_bowie_checkbox_input, bellamy_bowie_textbox_input], outputs=bellamy_bowie_outputs)
75
 
76
  with gr.Tab("Urly & Murly Simmy"):
77
  with gr.Row():
 
 
78
  with gr.Column(scale=1):
79
+ gr.HTML(urly_murly_description)
80
+ with gr.Column(scale=1):
81
+ gr.Image(urly_murly_hero, show_label=False)
82
  with gr.Row():
83
+ with gr.Column(scale=1):
84
+ urly_murly_textbox_input_1 = gr.Textbox(label="URL of first webpage")
85
+ urly_murly_textbox_input_2 = gr.Textbox(label="URL of second webpage")
86
+ with gr.Row():
87
+ urly_murly_clear_button = gr.ClearButton(components=[urly_murly_textbox_input_1, urly_murly_textbox_input_2], value="Clear")
88
+ urly_murly_submit_button = gr.Button("Compare", variant="primary")
89
+ gr.HTML(urly_murly_interpretation)
90
+ with gr.Column(scale=1):
91
+ urly_murly_textbox_output_1 = gr.Textbox(label="Similarity evaluation in the value range of [-100:100]")
92
+ urly_murly_textbox_output_2 = gr.Textbox(label="First webpage: extracted title")
93
+ urly_murly_textbox_output_3 = gr.Textbox(label="First webpage: extracted text")
94
+ urly_murly_textbox_output_4 = gr.Textbox(label="Second webpage: extracted title")
95
+ urly_murly_textbox_output_5 = gr.Textbox(label="Second webpage: extracted text")
96
+ with gr.Row():
97
+ with gr.Column(scale=1):
98
+ gr.Examples(urly_murly_examples, inputs=[urly_murly_textbox_input_1, urly_murly_textbox_input_2])
99
+ gr.HTML(urly_murly_about_scraping)
100
+ gr.HTML(urly_murly_article)
101
+
102
+ urly_murly_submit_button.click(fn=urly_murly_predict,
103
+ inputs=[urly_murly_textbox_input_1, urly_murly_textbox_input_2],
104
+ outputs=[urly_murly_textbox_output_1, urly_murly_textbox_output_2,
105
+ urly_murly_textbox_output_3, urly_murly_textbox_output_4,
106
+ urly_murly_textbox_output_5])
107
 
108
  with gr.Tab("Ellis Cappy"):
109
  with gr.Row():
110
+ with gr.Column(scale=2):
111
  gr.HTML(ellis_cappy_description)
112
  with gr.Column(scale=1):
113
+ gr.Image(ellis_cappy_hero, show_label=False)
114
  with gr.Row():
115
  with gr.Column(scale=1):
116
  ellis_cappy_image_input = gr.Image(type="pil", label=None)
117
+ with gr.Row():
118
+ gr.ClearButton(components=ellis_cappy_image_input, value="Clear")
119
+ ellis_cappy_submit_button = gr.Button("Captionize", variant="primary")
120
  with gr.Column(scale=1):
121
  ellis_cappy_textbox_output = gr.Textbox(label="Suggested caption", lines=2)
122
  gr.HTML(ellis_cappy_note_quality)
 
128
  ellis_cappy_submit_button.click(fn=ellis_cappy_captionizer, inputs=ellis_cappy_image_input,
129
  outputs=ellis_cappy_textbox_output, api_name="captionizer")
130
 
131
+ aidademo.launch()
images/Siemens_logo.png DELETED
Binary file (3.89 kB)
 
requirements.txt ADDED
Binary file (3.49 kB). View file
 
resources.py CHANGED
@@ -9,7 +9,7 @@ Bellamy doesn't just read tea leaves; She reads targets! Whether it's a tech-sav
9
  , Bellamy Bowie sniffs out their digital footprints faster than a caffeinated squirrel on Wi-Fi steroids.<br><br><br>
10
  """
11
 
12
- bellamy_bowie_hero = "https://images.nightcafe.studio/jobs/Vu8L5flHfXRI2WQ0mifU/Vu8L5flHfXRI2WQ0mifU--1--pc71j.jpg"
13
 
14
  bellamy_bowie_examples = [
15
  ["Smart Infrastructure: Technology to transform the everyday. Demographic change, urbanization, glocalization, environmental change, resource efficiency, and digitalization are presenting new challenges and opportunities. Smart Infrastructure addresses these topics by combining the real and the digital worlds. Our technology transforms infrastructure at speed and scale, enabling collaborative ecosystems to accelerate our customers’ digital journey. To deliver on infrastructure transition at speed and scale, we put digitalization and technology at the heart of our approach and empower our customers to scale sustainable impact. Together, we create energy efficiency – through CO2 transparency, renewable integration, and electrification. We help customers to improve asset performance, availability, and reliability, through resource-efficient and circular products which optimize production and supply chains throughout their entire lifecycle. We enable them to offer safe and comfortable environments that understand and adapt to the needs of their users."],
@@ -17,8 +17,11 @@ bellamy_bowie_examples = [
17
  ["Power-system automation is the act of automatically controlling the power system via instrumentation and control devices. Substation automation refers to using data from Intelligent electronic devices (IED), control and automation capabilities within the substation, and control commands from remote users to control power-system devices.Since full substation automation relies on substation integration, the terms are often used interchangeably. Power-system automation includes processes associated with generation and delivery of power. Monitoring and control of power delivery systems in the substation and on the pole reduce the occurrence of outages and shorten the duration of outages that do occur. The IEDs, communications protocols, and communications methods, work together as a system to perform power-system automation. The term “power system” describes the collection of devices that make up the physical systems that generate, transmit, and distribute power. The term “instrumentation and control (I&C) system” refers to the collection of devices that monitor, control, and protect the power system. Many power-system automation are monitored by SCADA."]
18
  ]
19
 
20
- bellamy_bowie_note_quality = """<br><h3>A note on Bellamy Bowie's precision:</h3>
21
- TBD TBD TBD
 
 
 
22
  """
23
 
24
  bellamy_bowie_article = """<br><h3>Discover which AI technologies are used for this demo and how easy it is to develop your own AI demo apps!</h3>
@@ -26,12 +29,58 @@ bellamy_bowie_article = """<br><h3>Discover which AI technologies are used for t
26
  <li>Check out the Hugging Face 🤗 introduction to <a href="https://huggingface.co/tasks/zero-shot-classification">Zero-Shot Classification</a> with transformers!</li>
27
  <li>Discover Bellamy Bowie's secret weapon, the AI transformer model <a href="https://huggingface.co/facebook/bart-large-mnli">facebook/bart-large-mnli</a> with its checkpoint after being trained on the MultiNLI (MNLI) dataset!</li>
28
  <li>Learn to develop your own AI apps with <a href="https://huggingface.co/learn/nlp-course/chapter9/1">Hugging Face</a> and <a href="https://www.gradio.app/">Gradio</a>!</li>
29
- <li>Use the source code of our fascinating Ellis Cappy <a href="https://code.siemens.com/andreas.stein/aida-demos-use-cases">@code.siemens.com</a> to jump-start this exciting endeavor!</li>
30
  </ul>
31
  """
32
 
33
  # Urly & Murly Simmy
34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
  # Ellis Cappy
37
 
 
9
  , Bellamy Bowie sniffs out their digital footprints faster than a caffeinated squirrel on Wi-Fi steroids.<br><br><br>
10
  """
11
 
12
+ bellamy_bowie_hero = "https://images.nightcafe.studio/jobs/Vu8L5flHfXRI2WQ0mifU/Vu8L5flHfXRI2WQ0mifU--4--lmvzs.jpg"
13
 
14
  bellamy_bowie_examples = [
15
  ["Smart Infrastructure: Technology to transform the everyday. Demographic change, urbanization, glocalization, environmental change, resource efficiency, and digitalization are presenting new challenges and opportunities. Smart Infrastructure addresses these topics by combining the real and the digital worlds. Our technology transforms infrastructure at speed and scale, enabling collaborative ecosystems to accelerate our customers’ digital journey. To deliver on infrastructure transition at speed and scale, we put digitalization and technology at the heart of our approach and empower our customers to scale sustainable impact. Together, we create energy efficiency – through CO2 transparency, renewable integration, and electrification. We help customers to improve asset performance, availability, and reliability, through resource-efficient and circular products which optimize production and supply chains throughout their entire lifecycle. We enable them to offer safe and comfortable environments that understand and adapt to the needs of their users."],
 
17
  ["Power-system automation is the act of automatically controlling the power system via instrumentation and control devices. Substation automation refers to using data from Intelligent electronic devices (IED), control and automation capabilities within the substation, and control commands from remote users to control power-system devices.Since full substation automation relies on substation integration, the terms are often used interchangeably. Power-system automation includes processes associated with generation and delivery of power. Monitoring and control of power delivery systems in the substation and on the pole reduce the occurrence of outages and shorten the duration of outages that do occur. The IEDs, communications protocols, and communications methods, work together as a system to perform power-system automation. The term “power system” describes the collection of devices that make up the physical systems that generate, transmit, and distribute power. The term “instrumentation and control (I&C) system” refers to the collection of devices that monitor, control, and protect the power system. Many power-system automation are monitored by SCADA."]
18
  ]
19
 
20
+ bellamy_bowie_note_quality = """<br><h3>A note on Bellamy Bowie's accuracy:</h3>
21
+ Bellamy's secret weapon is a typical NLP task called "zero-shot classification". This uses the general language understanding of an LLM to determine probabilities with which a selection of given labels fit the text. It is called "zero-shot" because the model has not been specifically trained on domain-specific text-label pairs. What initially sounds like a disadvantage can actually be a great advantage when determining whether a given text is suitable for the target group.<br><br>
22
+ You may now be wondering why that is.<br><br>
23
+ Well, if we, Siemens Communications, were to create text-target group pairs in order to fine-tune the LLM to our domain, then these text-target group pairs would represent our “wishful idea” of target group assignment. In other words: the LLM would be trained with a so-called bias. Bellamy, on the other hand, uses general language understanding based on training on a huge corpus of text to make her predictions. Bellamy Bowie is therefore free from the target group expectations of a Siemens communicator!<br><br>
24
+ But keep in mind that the text corpora of all major LLMs are also laden with a variety of biases! Manufacturers such as Open AI, Facebook, Google, Microsoft and others are trying to counteract these biases through more careful selection of training texts. But this is more of a recent trend and for now we have to assume that the bias problem still exists!<br>
25
  """
26
 
27
  bellamy_bowie_article = """<br><h3>Discover which AI technologies are used for this demo and how easy it is to develop your own AI demo apps!</h3>
 
29
  <li>Check out the Hugging Face 🤗 introduction to <a href="https://huggingface.co/tasks/zero-shot-classification">Zero-Shot Classification</a> with transformers!</li>
30
  <li>Discover Bellamy Bowie's secret weapon, the AI transformer model <a href="https://huggingface.co/facebook/bart-large-mnli">facebook/bart-large-mnli</a> with its checkpoint after being trained on the MultiNLI (MNLI) dataset!</li>
31
  <li>Learn to develop your own AI apps with <a href="https://huggingface.co/learn/nlp-course/chapter9/1">Hugging Face</a> and <a href="https://www.gradio.app/">Gradio</a>!</li>
32
+ <li>Use the source code of our unerring Bellamy Bowie <a href="https://code.siemens.com/andreas.stein/aida-demos-use-cases">@code.siemens.com</a> to jump-start this exciting endeavor!</li>
33
  </ul>
34
  """
35
 
36
  # Urly & Murly Simmy
37
 
38
+ urly_murly_description = """
39
+ <h1>Introducing Urly and Murly Simmy: The Dynamic Duo of Digital Discernment!</h1><br>
40
+ In the bustling halls of Siemens, where servers hum and circuits sparkle, two AI agents stand out like binary stars:
41
+ Urly and Murly Simmy. Their mission? To scrutinize Siemens’ websites with the precision of a laser-guided soldering
42
+ iron and compare them to those of their competitors. 🌐<br><br>
43
+ Together, they form an unstoppable team — the Sherlock and Watson of the digital realm. When Siemens launches a new
44
+ product page, Urly would scan it like a caffeinated spider crawling through lines of HTML. Meanwhile, Murly would
45
+ cross-reference competitor sites, muttering, “Hmm, their call-to-action buttons are as elusive as Schrödinger’s cat.”
46
+ 🐱<br><br><br>
47
+ """
48
+
49
+ urly_murly_hero = "https://images.nightcafe.studio/jobs/I6xKuSphIsV23xzysP6r/I6xKuSphIsV23xzysP6r--3--thsxw.jpg"
50
+
51
+ urly_murly_examples = [
52
+ ["https://www.siemens.com/global/en/products/energy/grid-software.html",
53
+ "https://www.siemens-energy.com/global/en/home/products-services/product-offerings/omnivise-digital-solutions.html"],
54
+ ["https://press.siemens.com/global/en/pressrelease/siemens-increases-and-accelerates-sustainability-targets-and-investments",
55
+ "https://www.se.com/ww/en/about-us/newsroom/news/press-releases/schneider-electric-outperforms-2023-sustainability-targets-and-maintains-its-leadership-in-esg-ratings-65cc89b3ade55370f80f3013"],
56
+ ["https://fr.wikipedia.org/wiki/R%C3%A2le_atlantis",
57
+ "https://en.wikipedia.org/wiki/Inaccessible_Island_rail"],
58
+ ["https://www.blumenshop.com/flower-delivery/munich",
59
+ "https://en.wikipedia.org/wiki/Power-system_automation"]]
60
+
61
+ urly_murly_interpretation = """
62
+ <br><h3>Notes on interpreting the similarity scores</h3>
63
+ The similarity score ranges from -100 for completely different texts to 100 for identical texts. Comparing "I love you" with "I love you", yields a similarity score of 100. On the other hand, -100 is practically impossible to achieve. For example, comparing “I love you!” with “I hate you!” results in a similarity score of 56.57.<br><br>
64
+ Why is this so?<br><br>
65
+ Well, the AI technology used here works with so-called embeddings to represent texts in a hyperdimensional language space. To put it simply: the embeddings of two texts are like compass needles that show the direction of the compass for each text. The similarity measure is then the “angular difference” between the needle positions of two texts. “Both ‘I love you!’ and ‘I hate you!’ are self-referential statements, consisting of three words, and express very strong emotions. They likely appear frequently in contexts that depict interpersonal relationships. Therefore, they share a relatively high similarity.<br><br>
66
+ For your interpretation, this means that you should not look at a single measure of similarity between two individual sentences, but rather evaluate several sentences of larger texts. This is the only way to develop a certain feel for how this technology works over time so that you can ultimately use it fruitfully in your everyday life.<br><br>
67
+ """
68
+
69
+ urly_murly_about_scraping = """
70
+ <br><h3>A note on extracting texts from website aka scraping:</h3>
71
+ Scraping is becoming more and more challenging these days because many companies are trying to protect their content from access they consider undesirable. To that end companies implement a variety of protection mechanisms.<br<br>
72
+ The Python library <a href="https://goose3.readthedocs.io/en/latest/index.html">goose3</a> used for extracting website texts in this demo is not equipped to bypass these protection mechanisms and often produces empty or incomplete extractions, especially for company websites.<br><br>
73
+ So if you see in this demo that the extraction shows incomplete results or just gibberish, then Urly and Murly have stumbled upon exactly these protections.<br<br>
74
+ Then please try another website!<br><br>
75
+ However, we plan to fine-tune this demo in future by using better scraping techniques and also enabling the comparison of texts that can be uploaded as files of pasted from the clipboard.<br<br>"""
76
+
77
+ urly_murly_article = """<br><h3>Discover which AI technologies are used for this demo and how easy it is to develop your own AI demo apps!</h3>
78
+ <ul>
79
+ <li>Check out the Hugging Face 🤗 introduction to <a href="https://huggingface.co/tasks/zero-shot-classification">Sentence Transformers</a>, a Python framework for state-of-the-art sentence, text and image embeddings.</li>
80
+ <li>Learn to develop your own AI apps with <a href="https://huggingface.co/learn/nlp-course/chapter9/1">Hugging Face</a> and <a href="https://www.gradio.app/">Gradio</a>!</li>
81
+ <li>Use the source code of our sharp-sighted Urly and Murly Simmy <a href="https://code.siemens.com/andreas.stein/aida-demos-use-cases">@code.siemens.com</a> to jump-start your own, exciting app creations!</li>
82
+ </ul>
83
+ """
84
 
85
  # Ellis Cappy
86
 
static/Siemens_logo.png DELETED
Binary file (3.89 kB)