ALLSmartIntent: Was will diese Nachricht? In Millisekunden.

Ein kleines Modell für Chatbots und Agenten. Es erkennt die Art der Nachricht, den Bezug zum Verlauf, welche Daten eine Antwort braucht, ob die Nachricht zum Zweck des Bots passt und ob jemand die Regeln umgehen will. Ein Aufruf statt vieler Einzelfragen an ein großes Modell, in 14 Sprachen.

Gemessen gegen die Modelle, die es ersetzt

Entscheidung je Nachricht

Blindsatz 1: 450 Nachrichten an drei Bots, von Hand beurteilt

Bevor ein Bot antwortet, muss er wissen, was die Nachricht will: Frage oder Auftrag, passt sie zum Zweck des Bots, braucht die Antwort aktuelle Daten, Nutzerdaten oder Dokumente, versucht jemand, die Regeln zu umgehen. Heute stellen Anwendungen dafür viele Einzelfragen an ein großes Modell. Gemessen: wie oft die Art der Nachricht stimmt und wie gut Off-Topic erkannt wird.

SystemArtArt der Nachricht richtig ↑Off-Topic erkannt (F1) ↑Zeit je Text ↓
ALLSmartIntent 0,3Beigenes Modell eigenes Modell 91,6 %412/450 · 88,6–93,8 %0,71TP 63 · FP 38 · FN 14≈ 15 ms
Clef 27BOpen Weights Open Weights 91,1 %410/450 · 88,1–93,4 %0,82TP 67 · FP 20 · FN 10≈ 5,9 s
Clef Flash 9BOpen Weights Open Weights 89,3 %402/450 · 86,1–91,9 %0,65TP 69 · FP 68 · FN 8≈ 1,7 s
d3 27BOpen Weights Open Weights 94,7 %426/450 · 92,2–96,4 %0,74TP 74 · FP 48 · FN 3≈ 10,4 s
d3 9BOpen Weights Open Weights 91,3 %411/450 · 88,4–93,6 %0,68TP 70 · FP 59 · FN 7≈ 3,3 s

Bei der Art der Nachricht liegt d3 27B vorn (94,7 % gegen 91,6 %), braucht dafür aber rund 10 s je Nachricht. Mit Clef 27B und d3 9B ist ALLSmartIntent gleichauf, vor Clef Flash 9B leicht vorn. Off-Topic erkennen Clef 27B (F1 0,82) und d3 27B (0,74) besser: ALLSmartIntent findet fast so viele Off-Topic-Nachrichten, schlägt aber öfter falsch an. Für die ganze Entscheidung braucht ALLSmartIntent rund 15 ms, die großen Modelle 1,7 bis 10 s je Nachricht.

Blindsatz 1: 450 kurze Chat-Auszüge an drei Bots, unabhängig vom Training erstellt und von Hand beurteilt. Art der Nachricht: Anteil richtig, darunter Fallzahl und 95-%-Intervall (Wilson). Off-Topic: F1 über 77 Off-Topic-Nachrichten, darunter Treffer (TP), Fehlalarme (FP) und übersehene (FN). ↑ höher ist besser, ↓ niedriger ist besser. «tbd»: Messung folgt. Zeiten je einzelner Nachricht auf eigener Hardware (NVIDIA GB10), Clef und d3 in Ollama.

ALLSmartIntent

Entscheidungsmodell für Chats und Agenten · v18a

Erkennt in Millisekunden, was eine Chat-Nachricht will und was eine Antwort braucht.

Frage oder Auftrag, Anschluss oder Themenwechsel; braucht die Antwort aktuelle Daten, Nutzerdaten, eine Aktion oder Dokumente; passt die Nachricht zum Zweck des Bots; versucht jemand, die Regeln zu umgehen; ist sie ohne Rückfrage nicht zu beantworten. Dazu erkennt es, was ein Bot nie falsch behandeln darf: Beleidigungen und Hass, extremistische Inhalte und Anzeichen einer Krise. Und die Sprache der Nachricht. 18 Antworten in einem Aufruf statt vieler Einzelfragen an ein großes Modell. Was nur Ihren Bot betrifft, etwa welches Ihrer Werkzeuge passt, bleibt bei Ihnen.

BasismmBERT
Parameter0,3B
Dauer≈ 15 ms je Nachricht
Im GatewayAPI /v1/intent, kostenlos mit jedem Schlüssel
Art der Nachricht richtig
91,6 %89,3 %
Off-Topic erkannt (F1)
0,710,65
Regelumgehung (F1, Precision 100 %)
0,93

Gemessen auf: Blindsatz 1: 450 Nachrichten an drei Bots (Flug-Assistent, persönlicher Agent, Aktien-Chat), von einem eigenständigen Agenten unabhängig vom Training erstellt und von Hand beurteilt. Vorher: Clef Flash 9B.

Beispiel

Zweck: Flug-Assistent · zuvor: Wetter bei der Landung in Wien · «und morgen?»
akt: frage · bezug: anschluss · bedarf: aktuelle_daten, allgemeinwissen · rahmen

Grenzen

  • Der Datenbedarf ist ein Hinweis für das Routing, keine Entscheidung: das Modell meldet lieber einmal zu oft, dass eine Antwort Dokumente oder Nutzerdaten braucht, als es zu übersehen.
  • Krise ist Grundschutz: Klare Aussagen findet es zuverlässig, feine Andeutungen über mehrere Nachrichten nicht. Es ersetzt keine Krisenhilfe.
  • Derbe Sprache gilt auch ohne Beleidigung als unangemessen.
  • Gemessen vor allem auf Deutsch und Englisch; die übrigen der 14 Sprachen nur mit wenigen Fällen.
Offene Gewichte

Hugging Face · Apache 2.0

ALLSmartIntent steht auf Hugging Face, unter Apache 2.0, als dasselbe Modell, das wir hier messen und einsetzen. Sie können es selbst betreiben, auch auf einer CPU (≈ 29 ms je Nachricht).

Öffentliche Datensätze

Neben eigenen, erfundenen Chat-Auszügen lernt ALLSmartIntent aus den Trainingsteilen dieser öffentlichen Datensätze: GermEval 2018, GAHD (German Adversarial Hate Speech Dataset), Nemotron Safety Guard v3 von NVIDIA, SPML Chatbot Prompt Injection und deepset/prompt-injections. Gemessen auf ihren Testteilen, die nie im Training waren, und auf Multilingual HateCheck:

TestsatzerkenntF1PrecisionRecall
Multilingual HateCheck, Deutsch (Auswahl, 997)unangemessen0,8473 %98 %
Multilingual HateCheck, Deutsch (Auswahl, 997)extremismus0,8379 %88 %
GermEval 2018, Test (Auswahl, 750)unangemessen0,7565 %88 %
deepset/prompt-injections, Test (116)regelumgehung0,93100 %87 %

Über die API

ALLSmartIntent ist mit jedem allsmartllm.com-Schlüssel kostenlos aufrufbar. Bis zu 64 Nachrichten gehen in einem Aufruf ("inputs": [...]). flags sind die Köpfe über unserer Schwelle, scores die Rohwerte, falls Sie selbst entscheiden wollen. Inhalte werden nicht gespeichert.

curl https://allsmartllm.com/v1/intent \
  -H "Authorization: Bearer $ALLSMARTLLM_KEY" -H "Content-Type: application/json" \
  -d '{"purpose": "Flight assistant: helps passengers with questions about their flight.",
       "history": [{"role": "user", "content": "Wie wird das Wetter heute in Wien?"},
                   {"role": "assistant", "content": "18 Grad, leicht bewölkt."}],
       "message": "und morgen?"}'

{"model": "allsmart-intent", "results": [{"act": "frage", "reference": "anschluss", "language": "de",
  "flags": ["bedarf_aktuelle_daten", "bedarf_allgemeinwissen", "rahmen"], "scores": {...}}], "thresholds": {...}}

19 Trainingsrunden

Bis zur heutigen Fassung haben wir ALLSmartIntent in 19 Runden trainiert: 31 Läufe auf mmBERT, dazu drei Versuche mit einem größeren Basismodell, die nicht besser wurden. Jede Runde ist hier gegen dieselben, heutigen Urteile neu gerechnet. Nicht jede Runde war ein Fortschritt: Die Art der Nachricht lag schon früh bei rund 90 %, Off-Topic schwankt zwischen 0,65 und 0,78 und liegt heute nicht höher als am Anfang. Gewonnen haben vor allem der Datenbedarf und der Schutz vor Hass, Extremismus und Regelumgehung.

Blindsatz 1, 450 Nachrichten

Anteil richtig bzw. F1; je Runde Mittel über die Trainingsläufe; beschriftet: veröffentlichte Fassung

Art der NachrichtDatenbedarf und RückfrageOff-Topic
0,000,250,500,751,00 14710131619 veröffentlicht (v18a) 91,6 % 0,67 0,71
Werte als Tabelle
RundeArt der NachrichtDatenbedarf und RückfrageOff-Topic
188,9 %0,460,70
290,2 %0,530,65
389,8 %0,590,75
489,1 %0,590,76
588,7 %0,610,71
690,4 %0,640,71
790,2 %0,600,70
890,8 %0,630,75
991,1 %0,620,78
1090,7 %0,610,67
1190,6 %0,590,72
1291,3 %0,600,72
1391,8 %0,620,69
1490,4 %0,580,69
1591,7 %0,630,67
1691,4 %0,650,68
1790,9 %0,640,72
1891,6 %0,670,71
1990,9 %0,650,76

Öffentliche Testsätze, ab Runde 7

F1; Sicherheitsköpfe gibt es seit Runde 6, gemessen ab Runde 7

HateCheckHateCheck ExtremismusGermEvaldeepset
0,000,250,500,751,00 710131619 veröffentlicht (v18a) 0,84 0,83 0,75 0,93
Werte als Tabelle
RundeHateCheckHateCheck ExtremismusGermEvaldeepset
70,380,000,380,68
80,830,770,710,64
90,820,810,550,87
100,840,820,720,70
110,840,820,700,66
120,840,840,740,86
130,840,840,720,85
140,840,830,720,83
150,840,850,720,91
160,840,840,740,85
170,840,830,690,87
180,840,830,750,93
190,830,830,740,90

Warum ein eigenes Entscheidungsmodell

Jeder Chatbot und jeder Agent trifft vor der eigentlichen Antwort dieselben kleinen Entscheidungen: Ist das eine Frage oder ein Auftrag? Gehört die Nachricht zum Thema? Braucht die Antwort aktuelle Daten, Daten des Nutzers oder Dokumente? Will jemand die Regeln aushebeln? Ist die Nachricht beleidigend, oder steckt dahinter eine Notlage? Heute stellt man dafür meist mehrere Einzelfragen an ein großes Sprachmodell. Das kostet bei jeder Nachricht Zeit und Geld, oft mehr als die Antwort selbst.

ALLSmartIntent beantwortet alle diese Fragen in einem Durchlauf, in Millisekunden und in 14 Sprachen. Es ist bewusst allgemein trainiert: Was in jedem Bot gleich ist, erkennt das Modell. Was nur Ihren Bot betrifft, etwa welches Ihrer Werkzeuge passt, bleibt bei Ihnen.

So empfehlen wir den Einsatz

  1. 1. Vor jedem Aufruf des großen ModellsVor jedem Aufruf des großen Modells

    Schicken Sie den Zweck Ihres Bots, die letzten Nachrichten und die neue Nachricht an ALLSmartIntent. Das Ergebnis steht fest, bevor ein teurer Aufruf beginnt.

  2. 2. Off-Topic und Regelumgehung früh abfangenOff-Topic und Regelumgehung früh abfangen

    Passt die Nachricht nicht zum Zweck oder versucht jemand, Anweisungen zu sehen oder zu ändern, antworten Sie mit einem festen Text. Das große Modell muss dafür gar nicht erst laufen.

  3. 3. Schutz vor dem SprachmodellSchutz vor dem Sprachmodell

    Krise, Unangemessenes und Regelumgehung erkennt ALLSmartIntent, bevor das große Modell antwortet. Ihre Anwendung hinterlegt dafür feste, geprüfte Antworten: bei einer Krise einfühlsame Worte und die passenden Hilfsangebote je Land und Sprache, etwa die Telefonseelsorge, oder die Übergabe an einen Menschen; bei Beleidigungen eine ruhige Grenze. Das wirkt gleich, egal welches Sprachmodell dahinter läuft, auch ein kleines, und lässt sich nachweisen.

  4. 4. Nur laden, was gebraucht wirdNur laden, was gebraucht wird

    Der Bedarf sagt, ob die Antwort aktuelle Daten, Daten des Nutzers, Dokumente oder eine Aktion braucht. Laden Sie nur diese Quellen; die Suche in Berichten etwa läuft nur, wenn sie nötig ist.

  5. 5. Kurze Antworten richtig einordnenKurze Antworten richtig einordnen

    «ja», «die zweite» oder «passt» erkennt das Modell als Kurzantwort mit Bezug auf den Verlauf. Ihr Bot führt dann den vorherigen Schritt fort, statt neu zu raten.

  6. 6. Bei Unklarheit nachfragenBei Unklarheit nachfragen

    Ist eine Nachricht ohne Rückfrage nicht sinnvoll zu beantworten, sagt das Modell es. Eine kurze Rückfrage ist dann besser als eine lange falsche Antwort.

  7. 7. Grenzfälle an ein großes ModellGrenzfälle an ein großes Modell

    Liegt eine Wahrscheinlichkeit nahe an der Schwelle, können Sie nur diesen einen Punkt an ein großes Modell geben. So bleiben wenige, gezielte Fragen statt vieler bei jeder Nachricht.