Referenz
Wichtige Eigenschaften & Methoden
Die Member, die Sie am häufigsten verwenden.
Human in the Loop
Der Prompt wird im Popover eingegeben, die Antwort wird darin angezeigt, und nur Accept meldet die Antwort über OnAIAccept an Ihre Anwendung. Discard schließt das Popover und verwirft die Antwort. Die Komponente schreibt nie in ein Dataset, ein Feld oder die Seite: Ihre Anwendung entscheidet, was mit dem Zurückgelieferten geschieht. Modelltext wird über die Node-Schicht geschrieben, sodass er maskiert wird und nie zu Markup werden kann.
Methoden
Open öffnet das Popover, ohne dass ein Prompt eingegeben ist. ProcessPrompt(aPrompt) fragt zuerst OnAIPrompt und, wenn dieses Ereignis ihn nicht beantwortet hat, den Assistenten über Context und lässt das Popover mit der Antwort in ResultText geöffnet. Accept meldet ResultText über OnAIAccept und schließt das Popover; ohne Antwort meldet es nichts. Discard schließt es.
Ereignisse
Mit OnAIPrompt(Sender, aPrompt, aResult, aHandled) kann Ihre Anwendung selbst antworten: Setzen Sie aResult und aHandled. Lassen Sie aHandled auf False, wird stattdessen der Assistent gefragt. OnAIAccept(Sender, aValue) wird ausgelöst, wenn eine Person auf Übernehmen drückt, und aValue ist die Antwort, die auf dem Bildschirm stand.
Der Assistent und Context
Weisen Sie einen TsgcHTMLAIAssistant der Eigenschaft AIAssistant zu, siehe AIAssistant. Das Popover ruft dessen SuggestColumnValues über Context auf, eine TStringList mit einer Zeile je Datenzeile. Das sind Zeilendaten: Solange beim Assistenten AllowRowDataToProvider auf False steht, wird nichts gesendet, und wenn Context leer ist und OnAIPrompt nicht geantwortet hat, wird überhaupt nichts gefragt.
Eigenschaften
PromptID (Standard sgcInlineAI) ist die ID des Popovers und der im Feld prompt gesendete Wert. TargetName benennt das Steuerelement, zu dem die übernommene Antwort gehört, und wird im Feld target gesendet, sodass Sie sie weiterleiten können. Title, Placeholder und ButtonText legen die Texte fest, IsOpen zeigt das Panel an, und PromptText und ResultText enthalten, was gefragt und geantwortet wurde.
Aktionen, die sie sendet
Es gibt keine HTTP-Route. Jedes Steuerelement ist ein data-sgc-ws-send-Formular: inlineAIOpen (Felder prompt, target), inlineAIAsk (zusätzlich text), inlineAIAccept und inlineAIDiscard. Verzweigen Sie anhand von action, prüfen Sie prompt, um zu wissen, welches Popover sie gesendet hat, und schicken Sie die neu gerenderte Komponente zurück. Ein Host, der eine Antwort streamt, rendert die Komponente mit jeweils mehr ResultText neu.
Ausgabe
Der Trigger wird immer gerendert. Ist IsOpen aktiviert, wird daneben eine Karte gerendert, mit dem Titel, dem Prompt-Feld, der Schaltfläche zum Fragen und, sobald es eine Antwort gibt, der Antwort mit den Steuerelementen Übernehmen und Verwerfen. Die Texte stammen aus den lokalisierten Zeichenfolgen AIAsk, AIAccept und AIDiscard.
Ein Benutzer pro Instanz
Die Komponente hält die Frage und die ausstehende Antwort zwischen zwei Nachrichten, daher entspricht eine Instanz einem Benutzer: In einer Mehrbenutzeranwendung halten Sie pro Sitzung eine eigene Instanz vor. Nachrichten werden nicht auf CSRF geprüft, wie jede andere htmx-WebSocket-Nachricht, daher sollten Sie die Autorisierung dessen, was OnAIAccept tut, auf dem Server halten.
Die Unit kompiliert, wenn SGC_HTML definiert ist, was sgcVer.inc für Android und iOS nicht tut. Ein Provider benötigt die KI-Units der Enterprise- oder All-Access-Edition oder das sgcAI-Paket, und diese gibt es nur für Windows. Diese Komponente hat keinen regelbasierten Fallback, daher antworten Sie auf anderen Plattformen oder ohne Provider selbst in OnAIPrompt.