diff --git a/FAQ.md b/FAQ.md new file mode 100644 index 0000000..5ad9d3d --- /dev/null +++ b/FAQ.md @@ -0,0 +1,76 @@ +# FAQ: Star Citizen AI Bot + +--- + +## 1. Was ist dieser Bot? + +Dieser Bot ist ein AI-Chatbot, der speziell für unsere Organisation entwickelt wurde. Er nutzt ein eigenes, lokal gehostetes KI-Modell und **keine externen Cloud-Anbieter** wie ChatGPT oder Gemini. Er wurde angewiesen, eure Fragen zu **Star Citizen** zu beantworten und kann auf **spezifische Informationen zu Schiffen, Items und Preisen** zugreifen, um euch die **bestmöglichen Antworten** zu liefern. + +--- + +## 2. Wie funktioniert der Bot? (Stark vereinfacht) + +- **[Ollama](https://github.com/ollama/ollama)** stellt das inferencing (Ausführen) des Modells bereit. +- **[Qwen3-4B-Instruct-2507](https://huggingface.co/Qwen/Qwen3-4B-Instruct-2507)** ist das Basis-Modell. Stellt euch das einfach wie ChatGPT in einer einfacheren Ausführung vor. Das ist aber auch nicht schlimm, denn es geht uns hier nicht um allgemeines Wissen, da das Modell nur auf bereits hinzugefügtes Wissen zugreifen muss. +- **[Open-WebUI](https://github.com/open-webui/open-webui)** ist eine ChatGPT-ähnliche Oberfläche. Allerdings bietet diese auch Annehmlichkeiten für **RAG** und **Tools**, was es mir (und eventuell anderen später) erlaubt, eine UI zu haben, in der man neues Wissen einpflegt oder neue Tools bereitstellt, **ohne auf Terminal-Ebene arbeiten zu müssen**. + +--- + +### Genauer Ablauf: + +1. Ihr schreibt im Discord. +2. Das `open-webui_to_discord.py` nimmt eure Nachricht und sendet diese mit einem API Call an **Open-WebUI** mit dem Modell. +3. **Ollama** gibt die Frage an das geladene **Qwen3** weiter. +4. **Open-WebUI** gibt dann noch zusätzliche Informationen weiter (Dokumente + welche Funktionen dem Modell zur Verfügung stehen und wie diese zu nutzen sind). +5. Das Modell entscheidet dann selbstständig, ob es diese nutzt oder nicht, und formuliert anschließend eine Antwort. +6. Sobald die Antwort zu **100 % fertig** ist, wird diese wieder an das wartende `open-webui_to_discord.py` gesendet. +7. Dieses nimmt nun die Information (Von wem und in welchem Channel kam die Anfrage?) und sendet diese dann in den **Channel, aus dem die Frage kam**. + +--- + +## 3. Wie kann ich den Bot nutzen? + +Du kannst dem Bot deine Fragen in den **ge-whitelisteden Channels** stellen. Der Bot wird dann automatisch antworten. + +Alternativ kannst du dem Bot auch eine **Direktnachricht (DM)** schicken. So könnt ihr euch unterhalten, ohne den **Channel-Chat zu stören**. + +--- + +## 4. Woher bekommt der Bot seine Informationen? + +Der Bot verwendet verschiedene Informationsquellen, um seine Antworten zu generieren: + +- **Schiffsdaten:** Er fragt die offizielle API von [starcitizen.tools](https://starcitizen.tools) ab, um die **aktuellsten Informationen zu Schiffen** zu erhalten. Zunächst wird eine Liste mit allen bekannten Schiffsnamen abgefragt. Diese wird genutzt, um euer eingegebenes Modell mit den hinterlegten zu vergleichen. So können **Schreibfehler ignoriert** werden und euch dennoch das **richtige Schiff mit allen Details wiedergegeben** werden. +- **Item- und Commodity-Preise:** **Stündlich** werden die neuesten Preisdaten von **UEX** in eine eigene Datenbank geladen. Der Bot kann dann über ein **internes Tool** auf diese Datenbank zugreifen, um dir die **aktuellen Preise** zu liefern. Ebenfalls hier ist eine **Fuzzy-Search** genutzt, um die vorhandenen Commodities/Items mit den Einträgen aus der Datenbank zu vergleichen. +- **Schiffsbesitzer:** **Einmal am Tag** werden die Daten von der [Fleetyard-Website](https://www.fleetyard.com) gezogen und in eine **SQLite-Datenbank** gespeichert. Durch ein Tool kann dann der **Hersteller, Name und alle Besitzer** aus der Datenbank ausgelesen werden. + +--- + +## 5. Sind meine DMs mit dem Bot geheim? + +Ja, deine direkten Nachrichten an den Bot sind **nur für dich und den Bot sichtbar**. **Niemand in der Orga** – auch nicht die Leitung – kann diese Unterhaltungen einsehen. Wir haben diese Funktion **bewusst implementiert**, um euch einen **sicheren und privaten Raum** für eure Fragen zu bieten. + +--- + +## 6. Was sind die nächsten geplanten Funktionen? + +Wenn der Bot gut angenommen wird, planen wir, ihn um weitere nützliche Funktionen zu erweitern. Dazu gehören: + +- **Patch Notes** und **monatliche Berichte** +- **Loadout-Empfehlungen** für Schiffe und Ausrüstung +- **Informationen zur internen Orga-Struktur** und den Regeln +- **Detaillierte Beschreibungen und Tipps zu Missionen** +- **Handelsroutenplanung** +- **Discord API Zugriff**, um den Bot selbst mit neuem Wissen zu füttern, **ohne auf mich angewiesen zu sein**, z.B. durch das Erstellen eines Threads in einem separaten Channel dafür. + +--- + +## 7. Warum haben wir einen eigenen Bot und nutzen nicht einfach ChatGPT oder ähnliche Dienste? + +Die Entscheidung für einen eigenen Bot wurde aus mehreren Gründen getroffen: + +- **Datenschutz:** Alle Daten werden auf **unseren eigenen Servern verarbeitet**. Eure Anfragen verlassen **unser System nicht**. +- **Sicherheit:** Wir haben **volle Kontrolle** über die Daten und die Funktionalität des Bots. +- **Anpassung:** Wir können den Bot **exakt auf die Bedürfnisse unserer Orga** zuschneiden und ihn mit den **spezifischen Daten** füttern, die wir benötigen. +- **Tools:** Die vom Bot genutzten Funktionen/Tools liegen **lokal in einem abgesicherten Container**, statt Sicherheitsanfällige Protokolle wie **MCP** zu nutzen. +- **Kosten:** Das genutzte KI-Modell ist **sehr klein** mit **wenig allgemeinem Wissen**. Selbst bei ausgiebiger Nutzung belaufen sich die **Stromkosten im Monat im niedrigen einstelligen Cent-Bereich**.