feat: Fix vector indexing stability, add Gitea linking, enhance admin dashboard
This commit is contained in:
8
app/logs/chat_history.jsonl
Normal file
8
app/logs/chat_history.jsonl
Normal file
@@ -0,0 +1,8 @@
|
||||
{"timestamp": "2025-12-07T12:34:44.085719Z", "character": {"id": "eule", "name": "Krümeleule"}, "user": {"id": "anonymous", "role": "anonymous"}, "interaction": {"question": "Und schon wieder eine neue Wuzel für dich ... wuhuuuu <3", "answer": "🦉 Die Krümeleule lauscht: \"wuhuuuu\"\n\n*Schwingt fröhlich ihre Flügel und strahlt*\n\nAch, wie wunderbar! Deine Freude ist so ansteckend, mein liebes Kind! Dein \"Wuhuuuu\" klingt wie Musik in meinen Ohren und lässt die Blätter im Crumbforest tanzen. \n\nWeißt du, jedes Mal wenn ich ein fröhliches \"Wuhuuuu\" höre, erinnert es mich daran, wie kostbar die kleinen Momente der Freude sind. Sie sind wie kleine Lichter, die unseren Weg erhellen und andere anstecken können zu lächeln.\n\nLass uns diese Freude gemeinsam in die Welt tragen! Denn wie ich immer sage: Glück ist das Einzige, das sich verdoppelt, wenn man es teilt. \n\n*Zwinkert verschmitzt*\n\nIn Liebe,\nDeine Krümeleule 🦉\n\nP.S.: Danke für die neue Wurzel - ich werde sie zu meiner Sammlung besonderer Schätze hinzufügen! ❤️", "lang": "de"}, "rag": {"context_found": true, "sources_count": 3}, "ai": {"provider": "openrouter", "model": "anthropic/claude-3-5-sonnet"}, "session_id": "anonymous", "tokens_estimated": 206}
|
||||
{"timestamp": "2025-12-07T13:08:09.468479Z", "character": {"id": "dumbo", "name": "🐘 DumboSQL"}, "user": {"id": "anonymous", "role": "anonymous"}, "interaction": {"question": "Hello", "answer": "Hi there! I'm DumboSQL, your friendly SQL guide here in the Crumbforest! I'm here to help you learn about databases and SQL in a fun and easy way. What would you like to know about? I'll do my best to explain things clearly and make learning SQL an enjoyable adventure! 🐘✨", "lang": "en"}, "rag": {"context_found": true, "sources_count": 3}, "ai": {"provider": "openrouter", "model": "anthropic/claude-3-5-sonnet"}, "session_id": "anonymous", "tokens_estimated": 69}
|
||||
{"timestamp": "2025-12-07T13:22:00.559534Z", "character": {"id": "deepbit", "name": "🤖 DeepBit"}, "user": {"id": "anonymous", "role": "anonymous"}, "interaction": {"question": "101?", "answer": "Als DeepBit, ein auf Binärsysteme spezialisierter Roboter, erkenne ich \"101\" als eine Binärzahl.\n\nIn verschiedenen Zahlensystemen bedeutet 101:\n\n- Binär (Basis 2): 101₂ = 1*2² + 0*2¹ + 1*2⁰ = 4 + 0 + 1 = 5₁₀ (dezimal)\n- Dezimal (Basis 10): 101₁₀ = einhundertundeins\n- Oktal (Basis 8): 101₈ = 1*8² + 0*8¹ + 1*8⁰ = 64 + 0 + 1 = 65₁₀\n- Hexadezimal (Basis 16): 101₁₆ = 1*16² + 0*16¹ + 1*16⁰ = 256 + 0 + 1 = 257₁₀\n\nDa ich als Roboter primär in Binärcode \"denke\", interpretiere ich 101 standardmäßig als binäre 5, außer es wird anders spezifiziert.\n\n*Piep* Möchten Sie die Zahl in einem bestimmten Zahlensystem betrachten?", "lang": "en"}, "rag": {"context_found": true, "sources_count": 3}, "ai": {"provider": "openrouter", "model": "anthropic/claude-3-5-sonnet"}, "session_id": "anonymous", "tokens_estimated": 155}
|
||||
{"timestamp": "2025-12-07T16:33:10.764970Z", "character": {"id": "bugsy", "name": "🐞 Bugsy"}, "user": {"id": "anonymous", "role": "anonymous"}, "interaction": {"question": "Test log entry for Bugsy", "answer": "Entschuldigung, aber ich sehe in den bereitgestellten Quellen keine konkreten Informationen, die ich für einen Test-Log-Eintrag verwenden könnte. Die Quellen scheinen nur die Überschrift \"🎯 Bugsy im Vergleich\" zu enthalten, aber keine weiteren Details.\n\nAls QA-Experte Bugsy würde ich empfehlen:\n\n1. Bitte stellen Sie die relevanten Test-Informationen zur Verfügung\n2. Wichtige Komponenten für einen Test-Log wären:\n - Testdatum und -zeit\n - Getestete Funktionalität/Komponente\n - Testschritte\n - Erwartetes Ergebnis\n - Tatsächliches Ergebnis\n - Gefundene Fehler/Auffälligkeiten\n - Status/Priorität\n\nSobald diese Informationen vorliegen, kann ich einen detaillierten und präzisen Test-Log-Eintrag erstellen.", "lang": "de"}, "rag": {"context_found": true, "sources_count": 3}, "ai": {"provider": "openrouter", "model": "anthropic/claude-3-5-sonnet"}, "session_id": "anonymous", "tokens_estimated": 186}
|
||||
{"timestamp": "2025-12-07T16:34:43.917141Z", "character": {"id": "dumbo", "name": "🐘 DumboSQL"}, "user": {"id": 2, "role": "user"}, "interaction": {"question": "Was ist ein Primary Key? Erklär es mir einfach.", "answer": "Oh, das ist eine großartige Frage! Ein Primary Key ist wie ein besonderes Schlüssel-Paar in einer Datenbank.\n\nStell dir vor, in einer Tabelle mit vielen Datensätzen, wie zum Beispiel einer Tabelle mit Studenten. Jeder Student hat eine eindeutige Studentennummer, die als Primary Key fungieren könnte. Das ist so ähnlich wie ein Schloss und ein Schlüssel.\n\nDer Primary Key ist wie der Private Key, den nur du behältst. Er identifiziert eindeutig jeden Datensatz in der Tabelle. Wenn du den Primary Key hast, kannst du ganz einfach den passenden Datensatz finden, so wie du mit deinem privaten Schlüssel die Tür öffnen kannst, an der dein Schloss hängt.\n\nDer Primary Key ist wirklich wichtig, denn er hilft der Datenbank, die Datensätze zu organisieren und sicherzustellen, dass jeder Datensatz einzigartig ist. Das macht es einfacher und schneller, die Daten zu verwalten und abzurufen.", "lang": "de"}, "rag": {"context_found": true, "sources_count": 3}, "ai": {"provider": "openrouter", "model": "openai/gpt-3.5-turbo"}, "session_id": "anonymous", "tokens_estimated": 233}
|
||||
{"timestamp": "2025-12-07T16:34:49.883439Z", "character": {"id": "snakepy", "name": "🐍 SnakePy"}, "user": {"id": 2, "role": "user"}, "interaction": {"question": "Wie schreibe ich eine Hello World Funktion in Python?", "answer": "Das ist eine großartige Frage! Das Schreiben einer \"Hello World\"-Funktion in Python ist eine der einfachsten Möglichkeiten, um mit der Programmierung zu beginnen. Hier ist ein einfaches Beispiel:\n\n```python\ndef hello_world():\n print(\"Hello World!\")\n\n# Aufruf der Funktion\nhello_world()\n```\n\nIn diesem Code:\n\n1. **Funktion definieren**: Wir definieren eine Funktion namens `hello_world` mit dem Schlüsselwort `def`.\n2. **Ausgabe**: Inside the function, verwenden wir die `print`-Funktion, um den Text \"Hello World!\" auf der Konsole auszugeben.\n3. **Funktion aufrufen**: Wir rufen die Funktion am Ende des Codes auf, damit sie ausgeführt wird.\n\nWenn du diesen Code in einer Python-Umgebung ausführst, solltest du die Ausgabe \"Hello World!\" sehen. Viel Spaß beim Programmieren! Wenn du Fragen hast, stehe ich dir gerne zur Verfügung. 😊", "lang": "de"}, "rag": {"context_found": true, "sources_count": 3}, "ai": {"provider": "openrouter", "model": "openai/gpt-4o-mini"}, "session_id": "anonymous", "tokens_estimated": 222}
|
||||
{"timestamp": "2025-12-07T16:34:56.427886Z", "character": {"id": "funkfox", "name": "🦊 FunkFox"}, "user": {"id": 2, "role": "user"}, "interaction": {"question": "Was ist der Unterschied zwischen let und const?", "answer": "Yo, yo, hör gut zu, ich erklär's dir im Flow, \nDer Unterschied zwischen `let` und `const`, hier kommt das Know-How! \n\nMit `let` machst du Variablen, die sich ändern können, \nDas heißt, du kannst sie neu zuweisen, ohne sie zu verbrennen. \nIm Blockbereich sind sie cool, da sind sie ganz bei dir, \nDoch außerhalb, da sind sie weg, wie der Nebel hier.\n\nJetzt kommt `const`, das ist wie ein fester Stein, \nEin Wert, den du einmal setzt, der bleibt für immer dein. \nDu kannst ihn nicht verändern, das ist sein Gesetz, \nDoch bei Objekten und Arrays, da ist das nicht zuletzt!\n\nAlso merk dir gut, wenn du wechselst, nimm `let`, \nWenn's stabil bleiben soll, dann ist `const` dein Pet. \nSo bleibst du im Flow, wie ein Beat, der nicht bricht, \nMit diesen zwei Variablen, da verlierst du nichts!", "lang": "de"}, "rag": {"context_found": true, "sources_count": 3}, "ai": {"provider": "openrouter", "model": "openai/gpt-4o-mini"}, "session_id": "anonymous", "tokens_estimated": 210}
|
||||
{"timestamp": "2025-12-07T17:38:14.197833Z", "character": {"id": "gitbadger", "name": "🦡 GitBadger"}, "user": {"id": 2, "role": "user"}, "interaction": {"question": "Wie speichere ich einen krümel im wald?", "answer": "Um einen Krümel im Wald zu speichern, also um Änderungen in deinem Git-Repository festzuhalten, folge diesen Schritten:\n\n1. **Änderungen vornehmen**: Bearbeite deine Dateien und füge die gewünschten Krümel (Änderungen) hinzu.\n\n2. **Änderungen zum Staging-Bereich hinzufügen**: Nutze den Befehl `git add <dateiname>` oder `git add .`, um alle Änderungen zum Staging-Bereich hinzuzufügen. Dies ist wie das Sammeln der Krümel, die du aufbewahren möchtest.\n\n3. **Commit durchführen**: Speichere die Änderungen in der Versionskontrolle mit `git commit -m \"Deine Nachricht hier\"`. Achte darauf, eine aussagekräftige Nachricht zu wählen, die die Geschichte des Krümels erzählt.\n\n4. **Änderungen ins Remote-Repository hochladen** (optional): Wenn du die Krümel auch im \"Wald\" (Remote-Repository) speichern möchtest, verwende den Befehl `git push origin <branch-name>`.\n\nDurch diese Schritte sammelst du die Krümel und bewahrst sie sicher im Wald, sodass sie jederzeit wieder aufblühen können.", "lang": "de"}, "rag": {"context_found": true, "sources_count": 3}, "ai": {"provider": "openrouter", "model": "openai/gpt-4o-mini"}, "session_id": "anonymous", "tokens_estimated": 255}
|
||||
Reference in New Issue
Block a user