Entwickler YAML-API

Text-Generieren-Buttons für beliebige Textfelder

Als Entwickler kannst du mit NEOSidekick für beliebigen Textfeldern einen "Mit Sidekick generieren"-Button hinzufügen und diesen mit deinem individuellen Prompt konfigurieren. 

Ein typisches Beispiel ist die Meta-Beschreibung. Redakteure können eine Beschreibung auf der Grundlage des Inhalts der aktuellen Seite mit nur einem Mausklick erstellen.

Als Anwendungsbeispiel zeige ich in dem Tutorial, wie wir dies für die Seiten-Meta-Beschreibung gemacht haben.

Die NEOSidekick YAML API

'Neos.Seo:SeoMetaTagsMixin':
properties:
metaDescription:
ui:
inspector:
editor: 'NEOSidekick.AiAssistant/Inspector/Editors/MagicTextAreaEditor'
editorOptions:
placeholder: 'Neos.Seo:NodeTypes.SeoMetaTagsMixin:properties.metaDescription.textAreaEditor.placeholder'
module: 'meta_description'
arguments:
title: 'SidekickClientEval:documentTitle'
content: 'SidekickClientEval:documentContent'

 

Mit diesen paar Zeilen Code wurde das Feature implementiert. Wir ersetzen für das Meta-Beschreibungsfeld den TextAreaEditor durch den MagicTextAreaEditor und nutzen das NEOSidekick-Modul meta_description und dann geben wir noch den Seitentitel und Inhalt mit. Dafür haben wir das normale ClientEval erweitert, und unterstützen zusätzlich documentTitle, documentContent und einen Funktion AssetUri. So einfach wars, und Meta-Beschreibungen können automatisch erstellt werden.

Auch das Generieren eines Alternativ-Textes für Bilder macht oft wenig Spaß, und möchten wir automatisieren. Dafür gibts ein eigenes NEOSidekick-Modul alt_tag_generator.

Und würdest du in der ersten Version einen besseren Alternativ-Text schreiben können? Also ich finde dies schon sehr hilfreich.

Die NEOSidekick YAML API

Mit diesen paar Zeilen kannst du deinen eigenen NodeType mit Bild und Alternativ-Text umsetzen:

'Vendor.Site:Content.Image':
superTypes:
'Neos.Neos:Content': true
ui:
label: Image
properties:
image:
type: Neos\Media\Domain\Model\ImageInterface
ui:
label: 'Image'
reloadIfChanged: true
showInCreationDialog: true
inspector:
group: general
position: 50
alternativeText:
type: string
ui:
label: 'Alternative Text'
reloadIfChanged: false
inspector:
hidden: 'ClientEval:node.properties.image ? false : true'
group: general
position: 100
editor: 'NEOSidekick.AiAssistant/Inspector/Editors/MagicTextFieldEditor'
editorOptions:
module: 'alt_tag_generator'
arguments:
url: 'SidekickClientEval: AssetUri(node.properties.image)'

 

Wir erstellen einen NodeType mit Bild und Alternativtext. Beim Alternativtext verwenden wir den MagicTextAreaEditor und konfigurieren das Modul alt_tag_generator, als Argument schicken wir einen Link zum Bild welches analysiert werden soll.

Die NEOSidekick YAML API

Brauchst du einen API-Key?

Da GPT-4 mit doch erheblichen Kosten verbunden ist, können wir die Schnittstelle nicht ungeschützt im Internet veröffentlichen. Du kannst eine 14-tägige Testversion über unseren Shop kaufen, oder uns über support@neosidekick.com, dann können wir die einen API-Key zum Testen und für Demos erstellen.

Was steckt noch in der API?

Verfügbare Editoren:

  • NEOSidekick.AiAssistant/Inspector/Editors/MagicTextAreaEditor
  • NEOSidekick.AiAssistant/Inspector/Editors/MagicTextFieldEditor


Module für die Inspector-Property-Text-Generierung:

  • alt_tag_generator
    Argumente: url (string, required)
    Generiere einen Alternativ-Text von einem Bild.
  • free_conversation
    Argumente: content (string, required)
    Beschreibe in einem eigenen Prompt, welcher Inhalt erstellt werden soll.
  • meta_description
    Argumente: title (string, required), content (string, required)
    Generiere eine Meta-Beschreibung, basierend auf dem title und content


Verfügbare Schreibstile:

  • academically_complex
  • concise_descriptions
  • extreme_motivation
  • literary_masterpiece
  • marketing_genius
  • storytelling_genius
  • tech_advocate
  • visionary_marketing

 

Die free_conversation kannst du mit deinen eigenen Prompts füttern, dazu findest du auf der Seite Inline Text-Generierung beim Erstellen des Inhaltselements sehr gute Beispiele.

Lass deiner Kreativität freien Lauf! Gestaltet und konfiguriert eure eigenen Buttons, wir sind gespannt welche Anwendungsfälle ihr findet.

 

Bitte gib uns Feedback!

Ist die Namensgebung konsistent und klar? Sind die Anwendungsfälle für dich verständlich? Was würdest du gerne damit entwickeln?

Oder auf Slack #neos-general und erwähne @rolandschuetz