Meet Evita: Meine KI-Assistentin mit Gedächtnis & RAG
Das Wichtigste in Kürze
Das Wichtigste in Kürze:
- Mehr als ein Chatbot: Evita ist meine digitale Assistentin, benannt nach meiner Tierschutzhündin. Sie führt Smalltalk, macht Termine aus und versendet E-Mails an freigegebene Empfänger.
- RAG + Knowledge-Base: Durch eine Vektordatenbank und manuell hinterlegtes Wissen kennt Evita alles über die Website und manuell hinterlegtes Wissen.
- Function Calling: Evita ist nicht nur passiv. Sie nutzt aktiv Tools (Kalender öffnen, Link-Chips vorschlagen, E-Mails versenden).
- Langzeitgedächtnis: Über Redis merkt sie sich Namen ("Guten Morgen, Alfred!") und Lieblingsthemen von wiederkehrenden Besuchern – tageszeitabhängig.
- Tägliches News-Briefing: Ein Cron-Job liest RSS-Feeds zu SEO, GEO und KI-Tech – so kann Evita über aktuelle Branchenentwicklungen sprechen.
Einleitung
Standard-Chatbots sind oft frustrierend. Sie geben generische Antworten, vergessen nach zwei Sätzen, worum es ging, und leiten einen am Ende doch nur auf eine Kontaktseite weiter. Als Webentwickler wollte ich das auf meiner eigenen Seite besser machen.
Ein selbstgebauter KI-Assistent mit RAG, Vektor-Datenbank, Session-Memory, E-Mail-Versand, Whitelist-System, proaktiver Greeting-Bubble, täglichem News-Briefing via RSS, Dashboard mit eigener Knowledge-Base, Cron-Jobs und Embedding-Pipeline – kein Plugin, kein SaaS, alles handgemacht.
Darf ich vorstellen? Evita. Benannt nach meiner Tierschutzhündin, agiert sie als meine digitale Assistentin. Sie ist keine sterile "Wie-kann-ich-Ihnen-helfen"-Maschine, sondern hat Charakter: Sie ist charmant, schlagfertig und duzt den Nutzer konsequent – verzichtet dabei aber streng auf Emojis. In diesem Artikel zeige ich dir – sowohl aus Sicht des Nutzers als auch des Entwicklers –, was passiert, wenn man Google Gemini mit Vektordatenbanken und aktivem Werkzeuggebrauch verknüpft.
Was Evita kann: Die Features im Überblick
Für den Nutzer fühlt sich Evita an wie ein echter Mensch am anderen Ende der Leitung. Sie fragt beiläufig nach dem Namen, passt ihre Begrüßung an die Tageszeit an und greift Themen auf, über die man beim letzten Mal gesprochen hat.
Evitas Fähigkeiten gehen weit über einfaches Frage-Antwort-Ping-Pong hinaus:
- Sitzungs- & Themen-Gedächtnis
- Wenn du Evita deinen Namen verrätst ("Ich bin Alfred"), merkt sie sich diesen. Sie speichert aber auch den inhaltlichen Kontext. Kommst du Wochen später wieder auf die Webseite, begrüßt sie dich mit "Servus Alfred! Schön, dass du wieder vorbeischaust." und weiß sogar noch, ob du dich das letzte Mal für SEO oder Webdesign interessiert hast.
- Direkte Rückruf-Buchung
- Fragst du nach einem Termin oder einem Call, schickt sie dir keinen schnöden Text-Link. Sie öffnet direkt im Chat eine Rückruf-Funktion, die an meinen Google-Kalender angebunden ist. Sobald du eine Zeit wählst, generiert das System sofort einen QR-Code, mit dem du den Termin direkt in dein Smartphone scannen kannst.
- E-Mail-Service mit Empfänger-Whitelist
- Evita kann direkt aus dem Chat E-Mails verfassen und versenden – allerdings nur an Adressen, die ich vorab im Dashboard freigegeben habe. Dadurch wird Missbrauch ausgeschlossen. Du beschreibst ihr, was drinstehen soll, sie formuliert einen Entwurf in deinem gewünschten Tonfall und sendet die E-Mail nach deiner Freigabe direkt ab.
- Dynamische Link-Chips
- Unter jeder Antwort bietet Evita klickbare Buttons an (Chips), die thematisch zur aktuellen Konversation passen. Das sind interne Links zu relevanten Seiten – auf dem Smartphone werden die Labels intelligent auf wenige Wörter gekürzt, damit sie nicht den Bildschirm sprengen.
- Proaktive Greeting-Bubble
- Evita wartet nicht darauf, angesprochen zu werden. Kurz nach dem Seitenaufruf entfaltet sich eine elegante Sprechblase aus dem Header-Avatar – mit Typewriter-Effekt und einer tageszeitabhängigen Begrüßung. "Guten Morgen, Alfred!" statt generischem "Wie kann ich helfen?". Wiederkehrende Besucher werden beim Namen begrüßt, Erstbesucher charmant abgeholt. Und sie wartet, bis ein eventuelles Cookie-Banner geschlossen ist, bevor sie sich meldet.
- Chat-Toolbar
- Im Chat-Fenster gibt es eine dezente Toolbar: Vollbild-Modus für längere Gespräche und eine Schriftgrößen-Einstellung (Aa +/−), die sich per localStorage merkt. Barrierefreiheit war hier kein Nachgedanke, sondern Pflicht.
- Tägliches Tech-News-Briefing
- Evita weiß nicht nur, was auf meiner Website steht – sie kennt auch aktuelle Entwicklungen in der Branche. Ein täglicher Cron-Job liest kuratierte RSS-Feeds zu SEO, GEO und KI-Technologie, fasst die Artikel per KI zusammen und speichert das Briefing in Redis. Fragst du sie nach dem neuesten Google-Update oder einem KI-Trend, antwortet sie mit aktuellem Wissen statt veralteten Trainings-Daten.
Unter der Haube: Der Tech-Stack
Das System läuft komplett Serverless. Es basiert auf Google Gemini (2.5-flash) als "Gehirn", gekoppelt mit Upstash Redis (als Kurzzeitgedächtnis und News-Cache) und Upstash Vector (für RAG). Ein tägliches RSS-Briefing liefert zusätzlich aktuelle Branchennews.
Wie macht man ein Large Language Model (LLM) zu einer zuverlässigen Agentur-Mitarbeiterin? Hier sind die vier technischen Säulen:
1. RAG (Retrieval-Augmented Generation)
Damit Evita keine Fakten über meine Dienstleistungen erfindet ("Halluzinationen"), nutzt sie eine Vektordatenbank – gespeist aus zwei Quellen. Das Prinzip der Maschinenlesbarkeit ist dabei entscheidend:
- Die Pipeline: Jede Nacht laufen zwei Cron-Jobs. Um 3:00 Uhr baut der erste die gesamte Website in eine strukturierte knowledge.json um. Um 3:10 Uhr nimmt der zweite diese Datei, zerlegt sie in Sektionen, wandelt jede über die Gemini Embedding API in Vektoren um und speichert sie in Upstash Vector.
- Die Knowledge-Base: Über ein Dashboard kann ich eigenes Wissen hinterlegen – Fakten, die auf keiner Seite stehen (z.B. Architektur-Details, interne Infos). Diese Chunks werden beim nächsten Vektor-Rebuild automatisch mit eingebettet.
- Die Abfrage: Stellt der Nutzer eine Frage, wandelt Evita diese ebenfalls in einen Vektor um, sucht in Millisekunden die ähnlichsten Textbausteine aus der Datenbank und nutzt diese als "Kontext" für ihre Antwort.
- Der Vorteil: Ändere ich heute einen Blogartikel oder ein neues Service auf meiner Website, weiß Evita morgen früh automatisch davon, ohne dass ich den Bot neu programmieren muss!
2. Native Function Calling (Tools)
Evita ist nicht auf Textausgabe beschränkt. Ich habe ihr über die Gemini API Werkzeuge (Tools) in die Hand gegeben:
remember_user_name: Ein Tool, das im Hintergrund anspringt, sobald ein Nutzer sich vorstellt. Es speichert den Vornamen in Redis.suggest_chips: Ein Tool, das die KI anweist, thematisch passende Link-Vorschläge als klickbare Chips unter der Antwort anzuzeigen. Nur URLs, die im RAG-Kontext auftauchen, werden vorgeschlagen.compose_email: Nimmt Empfänger, Betreff und Inhalt entgegen, prüft die Adresse gegen eine Empfänger-Whitelist und baut einen versandfertigen Payload auf.
3. Context-Aware System Prompting
Damit Evita menschlich wirkt, wird ihr initialer "System Prompt" bei jedem Seitenaufruf dynamisch zusammengebaut:
- Sie weiß, wie spät es in Wien ist. Um 23:00 Uhr begrüßt sie dich mit "Na, noch wach?" statt "Guten Morgen" – und dieser Ton zieht sich nur durch die erste Nachricht, danach antwortet sie direkt.
- Sie kennt die aktuelle URL. Bist du gerade auf der SEO-Seite, wird sie dir diesen Link nicht mehr als Chip vorschlagen.
- Sie kennt deine Historie. Warst du schon mehrfach im Chat, begrüßt sie dich beim Namen und steigt direkt locker ein, statt nach deinem Anliegen zu fragen.
4. RSS News-Pipeline
Ein LLM kennt nur das, was in seinen Trainingsdaten steckt – und die sind immer veraltet. Damit Evita auch über aktuelle Branchenentwicklungen Bescheid weiß, habe ich eine tägliche News-Pipeline gebaut:
- RSS-Feeds: Ein Cron-Job liest täglich kuratierte Feeds aus den Bereichen SEO, GEO, KI-Technologie und Webentwicklung. Die Quellen sind manuell ausgewählt, kein Scraped-Rauschen.
- KI-Zusammenfassung: Die gesammelten Artikel werden per Gemini API in ein kompaktes Briefing verdichtet – kurz genug für den System-Prompt, informativ genug für fundierte Antworten.
- Redis-Cache: Das fertige Briefing wird in Upstash Redis zwischengespeichert (TTL: 28 Stunden). Beim nächsten Chat-Start prüft der
news-service, ob ein aktuelles Briefing vorliegt und injiziert es in den System-Prompt. - Der Effekt: Frag Evita nach dem neuesten Google-Update oder einem KI-Trend – sie antwortet mit tagesaktuellem Wissen, nicht mit veralteten Trainingsdaten. Und wenn das Briefing älter als 26 Stunden ist, wird es automatisch verworfen, damit sie nichts Falsches erzählt.
Warum klassische Chatbots nicht mehr zeitgemäß sind
Der Unterschied zwischen einem traditionellen Regel-Bot (If-Then-Else) und einer RAG-gestützten KI ist gewaltig:
| Klassischer Chatbot | Evita (KI Agent) |
|---|---|
| Versteht nur exakte Keywords | Versteht Kontext, Synonyme und umgangssprachliche Fragen |
| Muss manuell mit FAQ-Bäumen gepflegt werden | Lernt automatisch durch nächtliche Pipeline (RAG) und manuell hinterlegte Knowledge-Base |
| Jeder Chat beginnt bei Null (Amnesie) | Langzeitgedächtnis (Redis) für Namen und vorherige Themen |
| Gibt oft tote Links oder Textwüsten aus | Bietet smarte Aktionen via Function Calling (Kalender, E-Mail-Versand an freigegebene Empfänger) |
| Kennt nur statisch einprogrammierte Inhalte | Liest täglich RSS-Feeds und kann über aktuelle Branchenentwicklungen sprechen |
Häufig gestellte Fragen
An wen kann Evita E-Mails senden?
Aus Datenschutzgründen versendet Evita E-Mails ausschließlich an Adressen, die ich vorab in einer Empfänger-Whitelist im Dashboard freigegeben habe. So ist sichergestellt, dass kein Missbrauch stattfinden kann. Pro Sitzung gilt außerdem ein Limit von maximal 3 E-Mails.
Wie lange merkt sich Evita, wer ich bin?
Dein Name und die Themen, über die ihr gesprochen habt, werden in einer sicheren Redis-Datenbank für 30 Tage nach deinem letzten Besuch gespeichert. Kommst du innerhalb dieses Zeitraums wieder, knüpft sie nahtlos an euer letztes Gespräch an.
Was passiert, wenn die KI etwas Falsches sagt?
Das RAG-System minimiert Halluzinationen drastisch. Bevor sie antwortet, gleicht sie deine Frage als Vektor mit meiner Website-Datenbank und der manuellen Knowledge-Base ab. Findet sie keine Fakten, hat sie die strikte Anweisung im System-Prompt, nichts zu erfinden, sondern ehrlich zu sagen, dass sie sich nicht sicher ist.
Wird mein Chatverlauf mitgelesen?
Das System arbeitet Serverless und speichert deinen Chat-Verlauf kurzzeitig und komplett anonymisiert unter einer kryptischen Session-ID, damit Evita dem roten Faden folgen kann. Persönliche Daten bleiben dort, wo sie hingehören – bei dir.
Was ist die Knowledge-Base im Dashboard?
Die Knowledge-Base erlaubt es mir, Evita Wissen beizubringen, das auf keiner öffentlichen Seite steht – z.B. Architektur-Details, interne Prozesse oder spezielle FAQs. Die Texte werden im Dashboard als Chunks gespeichert und beim nächsten Vektor-Rebuild automatisch in Evitas Gedächtnis übernommen.
Wie kommen neue Texte von der Website in ihr Gedächtnis?
Über zwei Wege: Erstens durchsucht eine zweistufige Cron-Pipeline jede Nacht meine komplette Website – um 3:00 Uhr wird die Wissensbasis gebaut, um 3:10 Uhr werden daraus Vektoren erzeugt und hochgeladen. Zweitens kann ich über ein Dashboard eigene Wissens-Chunks hinterlegen, die beim nächsten Rebuild automatisch mit vektorisiert werden. Am nächsten Morgen ist Evita auf dem aktuellsten Stand.
Woher kennt Evita aktuelle Tech-News?
Ein täglicher Cron-Job liest kuratierte RSS-Feeds aus den Bereichen SEO, GEO und KI-Technologie. Die Artikel werden per Gemini API zu einem kompakten Briefing zusammengefasst und in Redis zwischengespeichert (max. 28 Stunden gültig). Beim nächsten Chat-Start fließt dieses Briefing automatisch in Evitas System-Prompt ein – so kann sie über aktuelle Google-Updates oder KI-Entwicklungen sprechen, ohne zu halluzinieren. Ist das Briefing älter als 26 Stunden, wird es verworfen.
Fazit: Das Web wird interaktiv
Eine Webseite muss heute keine statische Broschüre mehr sein. Mit modernen KI-APIs können wir Interfaces bauen, die sich an den Nutzer anpassen, mit ihm mitdenken und echte Aufgaben abnehmen. Welche konkreten Anwendungsfälle es für KI auf Unternehmenswebseiten gibt, zeige ich im separaten Guide.
Zusammenfassung:
- Gesteigerte UX: Ein charmanter Agent mit proaktiver Begrüßung und tageszeitabhängigem Ton hält Besucher länger auf der Seite.
- Automatisierung: Termine und E-Mails werden direkt im Chat abgewickelt – datenschutzkonform durch eine Empfänger-Whitelist abgesichert.
- Drei Wissensquellen: Die automatische Nacht-Pipeline hält Evita über Website-Änderungen aktuell, die manuelle Knowledge-Base erlaubt Wissen ohne eigene Seite, und das tägliche RSS-Briefing liefert aktuelle Branchennews.
- GEO-Readiness: Das RAG-System basiert auf semantischem Markup und strukturierten Daten – die Grundlage dafür, dass Evita präzise Fakten statt Halluzinationen liefert.
Seit kurzem ist Evitas RAG-Pipeline nicht mehr nur intern verfügbar. Über einen eigenen MCP Server (Model Context Protocol) können auch externe KI-Systeme wie Claude, ChatGPT und Gemini direkt auf die designare.at Knowledge Base zugreifen – dieselbe Vektordatenbank, dieselben Embeddings, dieselben nächtlich synchronisierten Inhalte. Statt auf Crawler zu hoffen, liefere ich den LLMs die Daten strukturiert und aktuell auf dem Silbertablett. Drei neue Dateien, null neue Dependencies.
Probier es einfach selbst aus! Klicke oben im Header auf Evitas Avatar und sag ihr "Hallo" – mal sehen, ob sie sich beim nächsten Mal an dich erinnert.
Willst du deine eigene KI-Assistenz?
Egal ob für deinen Online-Shop, deine Kanzlei oder dein Portfolio. Wenn du einen Bot brauchst, der deine Website auswendig kennt und aktiv für dich und deine Kunden arbeitet, lass uns sprechen.