File size: 7,047 Bytes
9ca02ca
 
 
c6eb804
4e961fc
2e095eb
7e89036
 
2e095eb
 
 
e0768f1
 
 
4e961fc
61aa3ac
d418d7b
61aa3ac
7e89036
bdf2710
7e89036
fe9454a
7e89036
61aa3ac
fe9454a
9b84a61
c03a3c3
fe4f883
bdf2710
 
2e095eb
 
 
 
 
 
f2d089d
f6bd08e
2e095eb
 
204c374
f6bd08e
204c374
f6bd08e
 
 
 
 
 
204c374
 
2e095eb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f2d089d
 
 
 
 
 
204c374
f2d089d
 
 
 
 
 
 
 
 
 
8a5ccaf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
import gradio as gr


title = """<h1 align="left" style="min-width:200px; margin-top:0;"> Chaten und zeichnen</h1>"""
description = """\
<div align="left">
<p> <b>Aktuelle Modelle:</b> OpenAI und Modelle von Hugging Face: Stable Diffusion<br>
<b>Disclaimer:</b> Die hier verwendeten Modelle sind Modelle vom Hugging Face Hub. Kommerzieller Gebrauch ist ausdrücklich verboten. Der Output des Modells ist nicht zensiert und die Meinungen im Output entsprechen nicht unbedingt der des Authors dieser App. Gebrauch auf eigene Gefahr! 
</p >
</div>
"""

description2 = "<strong>Information:</strong> Hier wird ein <strong>Large Language Model (LLM)</strong> zum Zeichnen verwendet. Zur Zeit wird hier Stable Diffusion verwendet.\n\n"

description_top = """\
Du kannst mit einer KI chatten oder dir etwas zeichnen lassen.<br>
Dafür musst du dich zunächst mit einem speziellen Wort anmelden. Das Wort findets du direkt über dem Chatbot im Moodle Kurs. Dies ist leider nötig, um Mißbrauch zu vermeiden.
Du kannst zwischen einem HF Modell (von Hugging Face) oder ChatGPT von OpenAI wählen. Die Option ein Bild oder ein Dokument hochzuladen und analysieren zu lassen, bietet nur das Modell von OpenAI.<br>
<b>Bedienungsanleitung:</b><br>
<ul>
<li>Zum Testen sind TIS Dokumente hinterlegt, so dass du Fragen zum TIS System stellen kannst. Dazu muss LI-Erweiterung (RAG) angestellt sein.</il> 
<li>Wenn du nichts zu TIS fragen möchtest, stelle diese Erweiterung bitte auf 'Aus', da die Bearbeitung sonst für die KI deutlich ausfwendiger wird.</li>
<li>Die erste Anfrage zu TIS dauert etwas länger, da im Hintergrund viele Dokumente geladen werden müssen. Aber danach geht es deutlich schneller.</li>
<li>Du kannst über den Button mit dem gelben Symbol ein Bild oder ein Dokument (pdf, docx, pptx oder xlsx) hochladen und GPT dazu Fragen stellen (ein Feature vom OpenAI Plus Zugang)</li>
<li>Wenn du eine neue Fragestellung verfolgen möchtest, vorher den '<b>Löschen-Button</b>' betätigen, da der gesamte Chatverlauf bei jeder Frage immer mit geladen wird.</li>
<li>Wenn die gewählte KI keine Antwort weiß, wird versucht eine Antwort im Internet zu finden (dies wird in der Antwort deutlich gemacht, wenn sie nicht von der KI kommt)</li>
<li><b>Achtung:</b> Die Chatverläufe werden aus Sicherheitsgründen nicht dauerhaft gespeichert und sind nach dem Verlassen der Seite weg!!!</li>
<li>Du kannst die einzelnen Chats herunterladen, um sie für dich zu 'behalten' - jedes Mal, wenn du den '<b>Löschen-Button</b> drückst, gilt der Chatverlauf als abgeschlossen und wird zum Download angeboten.</li>
<li>Wenn du oben den Tab wechselst, kannst du die KI Bilder zeichnen lassen.</li>
</ul>
"""
CONCURRENT_COUNT = 100


ALREADY_CONVERTED_MARK = "<!-- ALREADY CONVERTED BY PARSER. -->"


#Theme
small_and_beautiful_theme = gr.themes.Soft(
        primary_hue=gr.themes.Color(
            c50="#D67FFF",       #B808AD",
            c100="rgba(184,8,173, 0.2)",   #rgba(2, 193, 96, ...)
            c200="#D67FFF",
            c300="rgba(184,8,173, 0.32)",
            c400="rgba(184,8,173, 0.32)",
            c500="rgba(184,8,173, 1.0)",
            c600="rgba(184,8,173, 1.0)",
            c700="rgba(184,8,173, 0.32)",
            c800="rgba(184,8,173, 0.32)",
            c900="#D67FFF",
            c950="#D67FFF",
        ),
        secondary_hue=gr.themes.Color(
            c50="#576b95",
            c100="#576b95",
            c200="#576b95",
            c300="#576b95",
            c400="#576b95",
            c500="#576b95",
            c600="#576b95",
            c700="#576b95",
            c800="#576b95",
            c900="#576b95",
            c950="#576b95",
        ),
        neutral_hue=gr.themes.Color(
            name="gray",
            c50="#f9fafb",
            c100="#f3f4f6",
            c200="#e5e7eb",
            c300="#d1d5db",
            c400="#B2B2B2",
            c500="#808080",
            c600="#636363",
            c700="#515151",
            c800="#393939",
            c900="#272727",
            c950="#171717",
        ),
        radius_size=gr.themes.sizes.radius_sm,
    ).set(
        button_primary_background_fill="#B808AD",
        button_primary_background_fill_dark="#6501AD",
        button_primary_background_fill_hover="#B40FC6",
        button_primary_border_color="#B808AD",
        button_primary_border_color_dark="#B808AD",
        button_primary_text_color="#FFFFFF",
        button_primary_text_color_dark="#FFFFFF",
        button_secondary_background_fill="#F2F2F2",
        button_secondary_background_fill_dark="#2B2B2B",
        button_secondary_text_color="#393939",
        button_secondary_text_color_dark="#FFFFFF",
        # background_fill_primary="#F7F7F7",
        # background_fill_primary_dark="#1F1F1F",
        block_title_text_color="*primary_500",
        block_title_background_fill="*primary_100",
        input_background_fill="#F6F6F6",
    )

themeAlex = gr.themes.Soft(
    primary_hue="purple",
    secondary_hue="purple",
    neutral_hue="stone",
).set(
    body_text_color='*neutral_100',
    background_fill_primary='*neutral_950',
    background_fill_secondary='*neutral_900',
    border_color_accent='*neutral_600',
    border_color_primary='*neutral_700',
    color_accent_soft='*neutral_700',
    link_text_color='*secondary_500',
    link_text_color_active='*secondary_500',
    link_text_color_hover='*secondary_400',
    link_text_color_visited='*secondary_600',
    code_background_fill='*neutral_800',
    block_background_fill='*neutral_800',
    block_label_background_fill='*primary_600',
    block_label_text_color='*neutral_50',
    block_label_text_color_dark='*neutral_50',
    block_title_text_color='*neutral_50',
    checkbox_background_color='*neutral_800',
    checkbox_background_color_selected='*primary_700',
    checkbox_border_color='*neutral_600',
    checkbox_border_color_focus='*primary_600',
    checkbox_border_color_hover='*neutral_600',
    checkbox_border_color_selected='*primary_700',
    checkbox_border_width='*input_border_width',
    checkbox_label_background_fill_selected='*primary_600',
    checkbox_label_text_color_selected='*checkbox_label_text_color',
    error_background_fill='*background_fill_primary',
    input_background_fill='*neutral_700',
    input_background_fill_focus='*secondary_600',
    input_border_color='*border_color_primary',
    input_border_color_focus='*neutral_700',
    input_placeholder_color='*neutral_500',
    slider_color='*primary_600',
    stat_background_fill='*primary_500',
    table_border_color='*neutral_700',
    table_even_background_fill='*neutral_950',
    table_odd_background_fill='*neutral_900',
    button_primary_background_fill='*primary_700',
    button_primary_background_fill_hover='*primary_500',
    button_primary_border_color='*primary_600',
    button_secondary_background_fill='*neutral_600',
    button_secondary_background_fill_hover='*primary_500',
    button_secondary_border_color='*neutral_600',
    button_secondary_text_color='*neutral_50'
)