在 Discourse AI 摘要功能中,使用 Gemini API 时遇到 400 错误的临时解决方案

如果遇到这个问题:

DiscourseAi::Completions::Endpoints::Gemini: status: 400 - body: {
  "error": {
    "code": 400,
    "message": "Invalid value at 'generation_config.response_schema.type' (type.googleapis.com/google.ai.generativelanguage.v1beta.Type), \"json_schema\"\nInvalid JSON payload received. Unknown name \"json_schema\" at 'generation_config.response_schema': Cannot find field.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "generation_config.response_schema.type",
            "description": "Invalid value at 'generation_config.response_schema.type' (type.googleapis.com/google.ai.generativelanguage.v1beta.Type), \"json_schema\""
          },
          {
            "field": "generation_config.response_schema",
            "description": "Invalid JSON payload received. Unknown name \"json_schema\" at 'generation_config.response_schema': Cannot find field."
          }
        ]
      }
    ]
  }
}

需要按照如下修改来解决此问题:

Screen-20250522103749@2x.webp

提供程序修改为 OpenAI,并将托管模型的服务的 URL 修改为

https://generativelanguage.googleapis.com/v1beta/chat/completions

这个问题将临时解决。

不过官网已经修复次 bug,更新至最新版 Discourse 也可以解决此问题。