Studium przypadku
Asystent klienta Indos.pl
Produkcyjny asystent RAG odpowiadający na pytania produktowe na podstawie wiedzy synchronizowanej z CMS i wykrywający leady sprzedażowe.
Wewnątrz projektu
Kontekst
Użytkownicy Indos.pl często potrzebują szybkiej odpowiedzi na pytania o produkty finansowe, zanim zdecydują się na kontakt z doradcą. Asystent powstał, aby udzielać pomocnych odpowiedzi opartych na zatwierdzonych źródłach bezpośrednio na stronie, a jednocześnie pozostawić wiedzę pod kontrolą zespołu treściowego.
Rola
Zaprojektowałem i wdrożyłem kompletne rozwiązanie: przebieg rozmowy, pipeline wyszukiwania, integrację z Payload CMS, synchronizację wiedzy, rate limiting, renderowanie odpowiedzi oraz mechanizm powiadamiania o leadach. Umożliwiłem też edycję promptu systemowego z poziomu CMS.
Ograniczenia
Odpowiedzi musiały bazować na zatwierdzonych materiałach firmy, a nie na ogólnej wiedzy modelu. Baza wiedzy powinna pozostawać zsynchronizowana z treściami CMS, a publiczny endpoint wymagał ochrony przed nadużyciami. System miał również rozpoznawać dane kontaktowe bez przerywania naturalnego przebiegu rozmowy.
Podejście
Proces RAG składa się z trzech etapów. Najpierw model analizuje ostatnią wiadomość wraz z historią konwersacji i przygotowuje precyzyjne zapytanie. Następnie Gemini Enterprise Agent Platform przeszukuje bazę wiedzy w Discovery Engine. Na końcu wybrane materiały trafiają do modelu odpowiedzialnego za sformułowanie odpowiedzi dla klienta. Dedykowana integracja synchronizuje treści Payload CMS z dokumentami Google, Upstash Redis ogranicza ruch, a react-markdown prezentuje odpowiedzi w czytelnej formie.
Rezultat
Asystent obsługuje typowe pytania produktowe na głównej stronie i daje zespołowi kontrolę zarówno nad wiedzą, jak i zachowaniem systemu. Gdy użytkownik poda adres e-mail lub numer telefonu, mechanizm wykrywa lead i wysyła powiadomienie do pracownika, zamieniając rozmowę pomocową w konkretną możliwość kontaktu bez dokładania kolejnego formularza.
Wnioski
Jakość produkcyjnego asystenta zależy w podobnym stopniu od modelu, jak i od procesu zarządzania treścią. Rozdzielenie analizy intencji, wyszukiwania i generowania odpowiedzi ułatwiło obserwację oraz rozwój systemu, a synchronizacja i prompty zarządzane z CMS dały firmie praktyczny sposób utrzymywania aktualnych odpowiedzi.
