File size: 6,724 Bytes
a6057cb |
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 |
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 allgemeine Dokumente zum Schulalltag hinterlegt, so dass du Fragen dazu stellen kannst. Dazu muss LI-Erweiterung (RAG) angestellt sein.</il>
<li>Wenn du nichts zu den schulspezifischen Dokumenten 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 den schulspezifischen Dokumenten dauert eventuell 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>Neue Session-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>Neue Session-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="#303030", # Dunkler Hintergrund
c100="#383838", # Etwas hellerer Hintergrund
c200="#D67FFF", # Hauptakzentfarbe
c300="#505050", # Dunkler Hintergrund
c400="#585858", # Dunkler Hintergrund
c500="#606060", # Dunkler Hintergrund
c600="#686868", # Dunkler Hintergrund
c700="#707070", # Dunkler Hintergrund
c800="#787878", # Dunkler Hintergrund
c900="#D67FFF", # Hauptakzentfarbe
c950="#D67FFF", # Hauptakzentfarbe
),
secondary_hue=gr.themes.Color(
# Dunkle Sekundärfarben
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(
# Dunkle Neutrale Farben
c50="#393939",
c100="#ffffff",
c200="#576b95",
c300="#576b95",
c400="#576b95",
c500="#576b95",
c600="#576b95",
c700="#576b95",
c800="#576b95",
c900="#576b95",
c950="#576b95",
),
radius_size=gr.themes.sizes.radius_sm,
).set(
# Anpassungen der Button- und Hintergrundfarben
button_primary_background_fill="#B808AD",
button_primary_background_fill_dark="#6501AD",
background_fill_primary="#303030", # Dunkler Hintergrund für den Light Mode
background_fill_primary_dark="#303030", # Dunkler Hintergrund für den Dark Mode
# Weitere Anpassungen
)
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'
) |