Ihre Benutzer wollen keine Filterzeile. Sie wollen Betrag größer als 500 sortiert nach Datum absteigend eintippen und sehen, wie sich das Grid ändert. sgcWebSockets 2026.10 fügt sgcHTML den AI Data Pack hinzu: eine Abfrageleiste über dem Grid, der Datentabelle und dem Pivot, die einen Satz in Filter, Sortierungen, eine Gruppierung, Hervorhebungen und ein Limit verwandelt.
Der interessante Teil ist nicht, dass ein Modell aufgerufen wird. Es ist das, was mit der Antwort geschieht, bevor sie Ihre Daten erreicht.
Zwei Zeilen
uses
sgcHTML_AI;
FAssistant := TsgcHTMLAIAssistant.Create(Self);
FAssistant.Provider := aiprOpenAI;
FAssistant.APIKey := ReadSetting('openai.key');
FGrid.AIAssistant := FAssistant;
FGrid.AIQueryEnabled := True;
Das ist die gesamte Verdrahtung. Die Leiste erscheint über dem Grid, die Frage kommt als Chip zurück, der zeigt, was verstanden wurde, und ein Steuerelement löscht sie wieder.
Es funktioniert ganz ohne API-Schlüssel
Lassen Sie den Provider undefiniert, und das Pack antwortet trotzdem. Ein regelbasierter Parser in der Bibliothek versteht die Fragen, die Menschen tatsächlich eintippen:
Betrag größer als 500 sortiert nach Datum absteigend(amount greater than 500 sort by date desc)gruppiert nach LandTop 10zwischen A und B, einschließlich Dezimalkommas- Hervorhebungsanfragen
Derselbe Parser ist das Fallback, wenn ein Provider-Aufruf fehlschlägt, und er ist das, was auf Plattformen ohne die KI-Einheiten läuft. Die Funktion verschlechtert sich also zu etwas Nützlichem statt zu einem Fehler, und Sie können sie an einen Kunden ausliefern, der nicht für Tokens bezahlen wird.
Was die Maschine verlässt
Standardmäßig Ihre Zeilen nicht. Die Anfrage enthält die Spaltennamen, ihre Beschriftungen, ihre Typen und drei Beispielwerte. Sonst nichts:
FAssistant.AllowRowDataToProvider := False; { the default }
FAssistant.MaxRows := 50; { when it is True }
Das ist aus dem offensichtlichen Grund wichtig, und aus einem weniger offensichtlichen: eine kleinere Anfrage ist billiger und schneller.
Validierung ist die Sicherheitsgrenze
Was auch immer zurückkommt, wird gegen Ihre eigenen Spalten geprüft, bevor irgendetwas angewendet wird. Jeder Spaltenname gegen die Positivliste, jeder Operator gegen eine geschlossene Menge, jeder Wert an den Typ seiner Spalte angeglichen, jedes Limit begrenzt. Übersteht nichts, wird der ganze Satz gelöscht, Erklärung inklusive, sodass niemals Modelltext die Seite erreicht.
Die Konsequenz ist es wert, klar ausgesprochen zu werden: Eine Frage, die versucht, Anweisungen einzuschmuggeln, erzeugt nichts. Keine Fehlerseite, keinen Teilfilter, nichts. Wir haben es beim Bau mit Injection-Prompts und Skript-Payloads getestet, und das ist das Verhalten, das die QA-Suite jetzt absichert.
Mehr als die Abfrageleiste
Ein Spaltenassistent. Eine Grid-Spalte kann Vorschläge anfordern, einen pro Zeile, und jeder Vorschlag wird angezeigt, damit eine Person ihn annehmen oder ablehnen kann. Es wird nichts geschrieben, bis ein Mensch zustimmt.
Intelligentes Einfügen in ein Formular. Fügen Sie eine Adresse, eine E-Mail-Signatur oder eine Zeile aus einer Tabelle ein, und das Formular ordnet sie seinen Feldern zu und markiert, was ausgefüllt wurde.
Ein Inline-Prompt. Das neue TsgcHTMLComponent_InlineAIPrompt ist ein kleines Popover neben einem Feld: fragen, die Antwort lesen, annehmen oder verwerfen.
Welcher Provider
Sieben, und es ist eine einzige Eigenschaft: aiprOpenAI, aiprAnthropic, aiprGemini, aiprDeepSeek, aiprOllama, aiprGrok und aiprMistral. Mit aiprOllama und einer BaseUrl läuft das Ganze auf der eigenen Hardware des Kunden, und nichts verlässt das Gebäude.
Darunter liegt die andere Hälfte dieser Version: TsgcAIChat kann jetzt jeden dieser Provider bitten, mit JSON zu antworten, das einem von Ihnen vorgegebenen Schema folgt, über die neue Methode ChatJSON, die die Antwort parst und bei Nichtlesbarkeit noch einmal mit dem angehängten Parse-Fehler nachfragt. Das macht aus einer strukturierten Antwort etwas, mit dem Sie arbeiten können, statt etwas, das Sie herausschaben müssen.
Live an echten Daten sehen
Die neue Demo 18.AIData liefert vier Seiten über rund 26.000 vorbelegte Auftragszeilen aus, läuft ohne API-Schlüssel und gibt aus, welche Engine jede Frage beantwortet hat und wie viele Millisekunden der Server gebraucht hat. Der Datensatz ist SQLite, beim ersten Start erstellt, sodass nichts zu installieren ist.
Aktualisierung
Das Pack ist Teil von sgcHTML und bleibt inaktiv, bis ein Assistent zugewiesen wird: Ein Grid ohne AIAssistant rendert genau das Markup, das es vorher gerendert hat.
Weiterlesen
- Erreichen Sie einen geschlossenen Browser, von Delphi aus
- Führen Sie Ihre Delphi-Anwendung in ChatGPT und Claude aus
- sgcWebSockets 2026.10, alles andere in dieser Version
Video ansehen
Dazu gibt es ein kurzes Video auf dem eSeGeCe-Kanal.
Fragen, Feedback oder Hilfe bei der Migration? Kontaktieren Sie uns — Sie erhalten eine Antwort von den Leuten, die den Code geschrieben haben.
