Danil Sidorov
RU EN DE
Telegram

KI-Berater über eine Wissensbasis: Website-Widget und Telegram-Bot

Beantwortet Kundenfragen aus Preisliste und FAQ, zeigt die Quelle jeder Antwort, sagt ehrlich „weiß ich nicht“ und gibt die Frage an einen Manager weiter

AI / Чат-боты Stack: Python, FastAPI, PostgreSQL, pgvector, ONNX Runtime, transformers.js, aiogram, GigaChat ⚡ 10 из 10 вопросов FAQ с верным источником, 3 из 3 вне базы — «не знаю» Sicherer Perimeter (NDA): Produktionslogik mit Testdaten

Interaktiver Live-Demostand

Exakte Kopie der Projektoberfläche und Geschäftslogik mit Demodaten. Alle Aktionen laufen in Echtzeit.

💡 Was im Demostand getestet werden kann:
  1. 1 Спросите про доставку или торт и раскройте источник под ответом
  2. 2 Задайте вопрос не по теме и включите «Как ищется ответ», чтобы увидеть, почему он отказался
  3. 3 Позовите менеджера и посмотрите, какое сообщение он получил бы в Telegram
kolosok.example/
Live Stand
Schlüsselfertige Umsetzung

Benötigen Sie ein ähnliches System für Ihre Geschäftsprozesse?

Ich entwickle die Architektur, ein ausfallsicheres Backend und eine schnelle Oberfläche. Geschützt durch NDA, sauberer übertragbarer Code und transparente Meilensteine.

  • Kostenlose Zeit- und Budgeteinschätzung innerhalb eines Tages
  • Stack: Python, FastAPI, PostgreSQL, pgvector, ONNX Runtime, transformers.js, aiogram, GigaChat
  • Garantie und Support nach dem Launch
Projekt auf Telegram besprechen Anfrage auf der Website senden Ich antworte persönlich, ohne aufdringliche Verkaufsgespräche

Aufgabe

Unternehmen wollen einen Berater, der Kunden auf der Website und in Telegram aus der eigenen Preisliste und den FAQ antwortet. Er darf keine Preise oder Bedingungen erfinden, muss die Quelle einer Antwort zeigen und bei Fragen außerhalb der Basis ehrlich einen Manager rufen. Kundendaten bleiben beim Unternehmen, die Demo öffnet ohne Registrierung und kostet nichts.

Lösung

Ein Embedding-Modell, multilingual-e5-small in int8, läuft auf dem Server über onnxruntime und im Browser über transformers.js, deshalb finden beide Modi dieselben Fragmente. Die Antwort ist das Fragment selbst oder ein Modelltext, der nur daraus geschrieben wird. Besteht das beste Fragment die Schwelle nach Sinn oder nach Wörtern nicht, lehnt der Berater ab und bietet einen Manager an. Eine Anfrage wird zuerst in der Datenbank gespeichert und dann an Telegram gesendet, ein Ausfall von Telegram verliert sie nicht.

Umgesetzte Aufgaben

  • Hybride Suche gebaut: ein lokales e5-Modell in PostgreSQL mit pgvector plus Wortüberdeckung nach Seltenheit
  • Die „weiß nicht“-Schwellen an 21 Fragen abgestimmt: aus den FAQ, themenfremd und grenzwertig
  • GigaChat und OpenAI-kompatible Modelle hinter einer Schnittstelle angebunden, Antworten nur aus Fragmenten
  • Übergabe an einen Manager gebaut: Name, Telefon, Frage und der ganze Dialog kommen in Telegram an
  • Besucher können eigenen Text oder ein PDF hochladen und dazu fragen, die Datei lebt nur in der Sitzung
  • Die Demo begrenzt: 10 Fragen am Tag pro Besucher, ein Tagesbudget an Tokens und eine Warteschlange
  • Ein Widget gebaut, das mit einer Zeile auf eine Website kommt, und einen Telegram-Bot mit derselben Engine
  • Einen Browsermodus mit transformers.js und demselben Modell gebaut: die Suche kann auf dem Gerät des Besuchers laufen
  • Einen Demomodus gebaut: das Formular läuft bis zum Ende, die Anfrage wird aber nur gezeigt, Namen und Telefonnummern bleiben nicht gespeichert

Ergebnis

Der Abnahmetest mit dem echten Modell: 10 von 10 FAQ-Fragen finden ihr Fragment, 3 von 3 themenfremden Fragen bekommen „weiß nicht“. Das Projekt startet mit docker compose up, und die Demo auf dieser Website ist derselbe Container im Demomodus: er antwortet sofort und zeigt die Anfrage, statt sie zu senden.

Anmerkung des Entwicklers

Danil Sidorov
Danil Sidorov Entwickler des Projekts

Was schwierig war

Am schwierigsten war es, ihm das Ablehnen beizubringen. Die e5-Ähnlichkeit allein trennte fremde Fragen nicht: „Was kostet die Honigtorte?“ kam auf 0,802, „Was kostet eine iPhone-15-Reparatur?“ auf 0,812. Eine zweite Bewertung nach Wörtern, gewichtet nach Seltenheit, löste es.

Was leicht fiel

Die Übergabe an einen Manager ging leicht: ein kurzes Formular mit Telefonprüfung und eine Telegram-Nachricht mit dem ganzen Dialog.

Technologien

PythonFastAPIPostgreSQLpgvectorONNX Runtimemultilingual-e5transformers.jsaiogramGigaChatDocker

Quellen

Die Links belegen die Zahlen in diesem Projekt

Erzählen Sie von Ihrer Aufgabe

Telegram