Ist eine Automatisierung wie diese heute mit Discourse AI möglich?

Wir haben heute eine Aufgabe, bei der ich mithilfe von n8n erhebliche Fortschritte bei der Automatisierung erzielen konnte, aber ich frage mich, ob dies nativ mit Discourse möglich ist.

Wir haben eine Entwurfskategorie, in der Produktmarketingmanager Entwürfe für Produktankündigungen erstellen, die für ihre Produkte versendet werden sollen. Wenn sie diesen Entwurf erstellen, betrachten wir den Produktnamen, die Version und ob es sich um eine Haupt-/Neben-/Patch-Version handelt. Wir nehmen auch den Inhalt ihrer Ankündigung und fassen ihn mit einem LLM zu einer Beschreibung von 4-7 Wörtern zusammen.

Dies verwenden wir dann, um das Ankündigungsbanner in Adobe zu erstellen, wie hier gezeigt:

Ich glaube, dass dies mit einem LLM und etwas traditioneller Logik erledigt werden könnte:

  • Der Hintergrund ist nur ein Farbton pro Ankündigungstyp und es gibt vier Variationen jeder Farbe – wir wählen zufällig eine aus.
  • Der Produktname und die Version werden in die oberen Felder eingegeben.
  • Die Beschreibung in der Mitte des Körpers.
  • Wir verwenden https://storyset.com/, um schnell eine Illustration zu erstellen, die auf der rechten Seite platziert wird.

Ich glaube, ich habe einen guten Ansatz, dies mit n8n zu tun, frage mich aber, ob es nativ mit Discourse AI und anderen Tools erledigt werden könnte?

3 „Gefällt mir“

Die Designer-Persona, die das ausgezeichnete neue GPT Image 1-Modell verwendet, kann Dinge wie diese tun:

Ich denke, Sie könnten etwas mit benutzerdefinierten Personas und den richtigen Werkzeugen verdrahten, um vieles davon zu erreichen, ganz sicher.

4 „Gefällt mir“

Hinweis zur Verwendung benutzerdefinierter Tools: Solange es ordnungsgemäße REST-APIs gibt, können Sie diese problemlos integrieren. Hier ist zum Beispiel, wie ich mit der Flux-Bilderzeugung integriere:

const apiKey = "password";
const model = "black-forest-labs/FLUX.1.1-pro";

let prompt;

function invoke(params) {
  let seed = parseInt(params.seed);
  if (!(seed > 0)) {
    seed = Math.floor(Math.random() * 1000000) + 1;
  }

  let height = parseInt(params.height);
  if (!height || height < 256 || height > 1440) {
      height = 768;
  }
  let width = parseInt(params.width);
  if (!width || width < 256 || width > 1440) {
      width = 1024;
  }
  
  width = width - (width % 32);
  height = height - (height %32);

  prompt = params.prompt;
  const negative_prompt = params.negative_prompt || "";
  const body = {
    model: model,
    prompt: prompt,
    width: width,
    height: height,
    steps: 10,
    n: 1,
    seed: seed,
    negative_prompt: negative_prompt,
    response_format: "b64_json",
  };

  const result = http.post("https://api.together.xyz/v1/images/generations", {
    headers: {
      "Authorization": `Bearer ${apiKey}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify(body),
  });
  
  if (result.status !== 200) {
      return { error: true, body: result.body };
  }

  const base64Image = JSON.parse(result.body).data[0].b64_json;
  const image = upload.create("generated_image.png", base64Image);
  const raw = `
![${prompt}](${image.short_url})
`;
  
  if (!params.show_to_user === false) {
     chain.setCustomRaw(raw);
  }

  return { result: "Image generated successfully", prompt: prompt, url: image.url, seed: seed, negative_prompt: negative_prompt };
}

function details() {
  return prompt;
}

Sie können den HTTP-Post und das Parsen des Base64-Bildes im Beispiel sehen.

5 „Gefällt mir“

Wenn ein Post-Body gegeben wird, liegt die Verantwortung dafür, den Inhalt dieses Bodys in gültige Parameter umzuwandeln, bei Discourse AI, die den Inhalt liest und dann das Anfrageobjekt erstellt? Oder sollte der Rohinhalt an das Tool übergeben werden und die Verantwortung dafür, dass eine LLM diesen für die notwendigen Daten parst, um einen ordnungsgemäßen Input für seinen API-Aufruf zu erstellen, dort liegen?

1 „Gefällt mir“

Ja, in diesem Fall hat das Tool bereits eine API zum Lesen von Beiträgen, sodass du einfach eine ID übergeben kannst.

2 „Gefällt mir“

Könnten Sie mir zufällig die Dokumentation dazu zeigen?

Entschuldigen Sie die verspätete Antwort, es ist schwierig, unsere Dokumentation entwickelt sich und die API-Oberfläche wächst wöchentlich.

Diese Art von Technik liefert einige genaue, aktuelle Kilometerstände, aber ich denke, wir müssen etwas warten, bis sich die gesamte API stabilisiert hat, bevor wir Dinge in Stein meißeln:

2 „Gefällt mir“