“Automation”插件的“使用AI进行分类”脚本总是在请求中包含图像数据

优先级/严重性:

中等

平台:

Discourse b66fca70d0e3d12ef930398289fac5269cd240c7

描述:

官方 自动化”插件 包含一个“使用 AI 分类帖子”脚本。该脚本将帖子内容提供给 LLM,然后根据结果执行可配置的分类操作。

为了将 LLM 的使用量控制在 Discourse 托管计划 提供的信用额度范围内(当使用 CDCK 托管的 LLM 时),或在 使用第三方 LLM 提供商 时控制在预算范围内,管理每次查询所需的 token 数量至关重要。“使用 AI 分类帖子”脚本提供了一个“最大帖子 Token 数”设置,允许设置包含在请求中的帖子内容量的上限。

:bug: 如果帖子附有图片,大量的图片数据总是会被包含在请求中,即使这导致超过了通过“最大帖子 Token 数”设置为自动化设定的帖子 token 限制。

即使在自动化使用的 AI 角色 配置中禁用了“启用视觉”选项,此问题仍然会发生。

这导致 token 消耗失控。

在许多用例中,人们只关心帖子的文本数据,在这种情况下,导致 token 使用量激增的图片数据甚至没有价值。

可复现的步骤:

  1. 如果您还没有合适的自定义 AI 角色,请创建一个。
  2. 在角色的设置中禁用“启用视觉”选项。
  3. 如果尚未启用,请启用内置的“自动化”插件。
  4. 导航到插件的“自动化”页面(/admin/plugins/automation/automation)。
  5. 点击“+ 添加自动化”按钮。
    选择脚本”页面将打开。
  6. 选择“使用 AI 分类帖子”脚本。
    自动化配置页面将打开。
  7. 根据需要配置自动化以进行简单测试。自动化不需要执行任何操作,只需生成 LLM 查询即可。
  8. 在自动化配置的 脚本选项 > 角色 菜单中,选择您在第 1 步中创建的 AI 角色。
  9. 在自动化配置中,将 脚本选项 > 最大帖子 Token 数 设置为 20
  10. 点击自动化配置页面底部的“更新自动化”按钮。
    您将返回到“自动化”页面。
  11. 将新创建自动化的“启用自动化”开关切换到“开”位置。
  12. 撰写将触发自动化的帖子或私信。向帖子中添加一张图片。
  13. 发布帖子或消息。
  14. 导航到“数据浏览器”插件的管理页面(/admin/plugins/explorer)。
  15. 点击页面上的“+”按钮。
    将出现一个“查询名称…”字段。
  16. 在“查询名称…”字段中输入 Get AI Audit Logs
  17. 点击“+ 新建”按钮。
    将创建一个新的 数据浏览器 查询。
  18. 点击“编辑”按钮。
    将打开查询代码编辑字段。
  19. 用以下内容替换占位符查询代码的内容:
    SELECT request_tokens, raw_request_payload
    FROM ai_api_audit_logs
    WHERE feature_name = 'llm_triage'
    
  20. 点击“运行”按钮。
    :bug:数据浏览器的查询结果中,由您的帖子触发的自动化生成的请求的 request_tokens 字段值,远远超过了根据 AI 角色配置中的“系统提示”以及自动化配置中施加的 20 个 token 的帖子文本上下文限制所预期的数量。
  21. 点击数据浏览器查询结果中 raw_request_payload 字段值右侧的 ●●● 按钮。
    将打开一个对话框,显示该字段的完整值。

:bug: 附加到帖子的图片数据通过请求数据中的 messages[*].image_url 键包含在内。

示例:

{
  "model": "Qwen/Qwen3-VL-30B-A3B-Instruct",
  "max_tokens": 16384,
  "messages": [
    {
      "role": "system",
      "content": "你将获得一段文本,你的任务是检测该文本的语言区域"
1 个赞

感谢您的报告 @per1234 :+1:

此问题将通过以下链接修复:

2 个赞

此主题在 2 天后自动关闭。不再允许回复。