Discourse AI: Necesito eliminar la respuesta JSON para que Anthropic Sonnet 5 funcione, p. ej., en búsqueda semántica

Es posible que esté completamente equivocado aquí y que esto sea conocimiento común para todos menos para mí… Si es así, lo siento. Pero he tenido algunos errores extraños en mi instalación, como:

DiscourseAi::Completions::Endpoints::Anthropic: status: 400 - body: 
{
“type”:“error”,
“error”:{“type”:“invalid_request_error”,
“message”:“Este modelo no admite la prefijación de mensajes del asistente. La conversación debe terminar con un mensaje del usuario.”},“request_id”:“req_011CcqMN6eswEfRHPmQmPLC4”
}

Lo cual era extraño, ya que la mayoría de las demás funciones relacionadas con la IA funcionaban correctamente. Esto ocurrió principalmente con mi resumidor y con la búsqueda, como en:

https://..../forum/discourse-ai/embeddings/semantic-search?q=término_de_búsqueda

Lo que daba un ERROR 500.

Cuando revisé los registros, obtuve:

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "Este modelo no admite la prefijación de mensajes del asistente. La conversación debe terminar con un mensaje del usuario."
  },
  "request_id": "req_011CcqQvXPAHSfvoUeu92gf9"
}

Rastree esto hasta la configuración de “Crear contenido-persona”

Y el error parece estar en esta parte:

porque cuando lo eliminé (lo cual no fue posible en esta persona específica) haciendo una copia y estableciendo esta configuración en mi copia

La búsqueda semántica comenzó a funcionar. Necesité hacer algo similar, por ejemplo, en mi resumidor.

¿Han experimentado ustedes algo similar?

¿Podrías mostrar cómo está configurado Sonnet 5 en tu instancia?

¿Tienes activada la opción «Desactivar la salida estructurada nativa (usar relleno previo de mensajes del asistente en su lugar, necesario para Claude 3.x y versiones anteriores)» por casualidad?

El foro en cuestión está ejecutando la versión 2026.1.5 ESR, y esta opción se añadió después de la versión 2026.1, así que supongo que allí falta mucha lógica específica de Claude.

¡Oh, gracias por compartir!

Intentar usar un modelo nuevo con una versión antigua de Discourse no es una estrategia ganadora :smiley:.

Los proveedores siguen cambiando los formatos de API, los parámetros, etc. Hacemos lo mejor posible para mantener la compatibilidad con miles de modelos, pero eso requiere actualizaciones constantes para mantenerse al día, especialmente si quieres estar al tanto de los modelos lanzados hace medio año (siglos en años de IA) en comparación con la versión de Discourse.