KI im Editmode benutzen#
Ein Prompt wird definiert (oder aus dem Lieferumfang verwendet), eine Processing-Instruction (PI) im Edittemplate löst ihn aus, und eine JavaScript-Callbackfunktion schreibt das Ergebnis in Metafelder.
Beispiel A – Einfach: „Zusammenfassung“ ohne Parameter#
Dieses Beispiel nutzt den mitgelieferten Prompt Summary. Er benötigt keine {P[n]}-Parameter, sondern liest die Seiten-Vorschau über <!--CODEINCLUDE:preview.pl--> ein
Ziel: Zusammenfassung erzeugen und in ein Eingabefeld schreiben.
Edittemplate (Ausschnitt):
<label for="IMPERIA:summary">Zusammenfassung</label>
<textarea name="IMPERIA:summary" id="summary" rows="4"></textarea>
<?imperia aiprompt
id: summarize_btn
prompt: Summary
linktext: Zusammenfassung erzeugen
_done_copy_summary: summary
js: I.prompt.utils.copyResult
?>
Was passiert?
- Die PI ruft den Prompt
Summaryauf. - Der Callback
copyResulterwartet im JSON einen Schlüsselsummaryund schreibt dessen Wert in das Metafeldsummary.
Beispiel B – Parametrisiert: „Einfaches Deutsch“ mit {P[n]}#
Jetzt eine parametrisierte Variante mit Platzhalter: simplify_de (eingebauter Default-Prompt).
Der Prompt enthält {P[0]} – dort soll der Inhalt aus dem Dokument landen.
Ziel: Freitext vereinfachen, Ergebnis direkt ins gleiche Feld zurückschreiben.
Edittemplate (Ausschnitt):
<label for="IMPERIA:complex">Eingabetext</label>
<textarea name="IMPERIA:complex" id="complex" rows="6"><!--XX-TEXT:complex--></textarea>
<?imperia aiprompt
id: simplify_btn
prompt: simplify_de
linktext: Text vereinfachen
_value_0: complex
_done_copy_simplified_de: complex
js: I.prompt.utils.copyResult
?>
Erläuterungen zur PI:
_value_0: complex→ PositionsslotP[0]wird mit dem Wert des Metafeldscomplexbefüllt.- Der Prompt verwendet
{P[0]}imtemplate(Usernachricht). _done_copy_simplified_de: complex→ der Callback schreibt in das Feldcomplex.
Beispiel C – Vorschlagslisten: „Tags/Teaser/Titel“#
Das Sample Vorschläge / Suggestions liefert Arrays (z. B. tags_de, teaser_50_de). Der passende Callback ist I.prompt.utils.suggestResult. Er rendert Vorschlagslinks in ein *_suggestions-Element und schreibt den geklickten Wert in das zugehörige Feld.
Edittemplate (Ausschnitt):
<label for="IMPERIA:tags">Tags</label>
<textarea name="IMPERIA:tags" id="tags" rows="2"></textarea>
<div id="tags_suggestions"></div>
<label for="IMPERIA:teaser">Teaser (kurz)</label>
<input name="IMPERIA:teaser" id="teaser" type="text">
<div id="teaser_suggestions"></div>
<?imperia aiprompt
id: suggest_de
prompt: Vorschläge
linktext: Vorschläge erzeugen lassen
_done_suggest_tags_de: tags
_done_suggest_teaser_50_de: teaser
js: I.prompt.utils.suggestResult
?>
Verhalten:
suggestResulterwartet Schlüssel mit Präfixsuggest_….- Für jedes Array-Feld baut der Callback Links in den entsprechenden
*_suggestions-Container. - Ein Klick füllt das konfigurierte Ziel-Formularfeld.