现在可以用 Discourse AI 实现这样的自动化吗?

我们今天有一项任务,我使用 n8n 自动化这项任务取得了很大进展,但我想知道是否可以使用 Discourse 原生功能实现。

我们有一个草稿类别,产品营销经理在此撰写产品公告。当他们创建草稿时,我们会查看产品名称、版本,以及它是主版本/次版本/补丁版本发布。我们还会使用 LLM 总结他们公告内容的正文,生成一个 4-7 个词的内容描述。

然后,我们用它来创建 Adobe 中的公告横幅,如下所示:

我认为这可以通过 LLM 和一些传统逻辑来实现:

  • 背景是每个公告类型只有一种色调,每种颜色有四种变化——我们只是随机选择一种。
  • 产品名称和版本输入到顶部的框中。
  • 描述在中间的身体部分。
  • 我们使用 https://storyset.com/ 来快速制作插图放在右侧。

我认为我有一个很好的方法可以使用 n8n 来实现这一点,但我想知道是否可以使用 Discourse AI 和其他工具原生实现?

3 个赞

Designer 角色使用出色的新 GPT Image 1 模型,能够完成类似这样的工作:

我认为你可以使用自定义角色和正确的工具来完成这一切,当然。

4 个赞

自定义工具使用说明,只要有合适的 REST API,您就可以轻松集成,例如,这是我与 flux 图像生成集成的方式:

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;
}

您可以在示例中看到 HTTP post 请求以及 base 64 图像的解析。

5 个赞

如果给定一个帖子正文,将该正文中的内容转换为有效参数的负担是否落在 Discourse AI 上,由其读取内容然后创建请求对象?还是应该将原始内容传递给工具,由 LLM 在那里解析必要的数据以构建其 API 调用的正确输入?

1 个赞

是的,在这种情况下,该工具已经有一个用于读取帖子的API,因此你只需传递一个ID即可

2 个赞

你能帮我指一下这个的文档吗?

抱歉这么晚才回复,这确实有点棘手,我们的文档正在不断完善,API 表面每周都在扩展。

这种技术可以提供一些准确的最新里程数据,但我认为我们需要等待一段时间,直到所有 API 稳定下来,然后再把事情确定下来:

2 个赞