Discourse AI: necessario rimuovere la risposta JSON per far funzionare Anthropic Sonnet 5, ad es. nella ricerca semantica

Potrei sbagliarmi completamente e questa è una conoscenza comune a tutti tranne me… Se è così, mi scuso. Ma ho avuto alcuni errori strani nella mia installazione, come:

DiscourseAi::Completions::Endpoints::Anthropic: status: 400 - body: 
{
“type”:“error”,
“error”:{“type”:“invalid_request_error”,
“message”:“Questo modello non supporta il prefill dei messaggi dell'assistente. La conversazione deve terminare con un messaggio dell'utente.”},“request_id”:“req_011CcqMN6eswEfRHPmQmPLC4”
}

Il che era strano visto che la maggior parte delle altre funzionalità relative all’IA funzionava. Questo accadeva principalmente con il mio riassuntivo e con la ricerca, come in:

https://..../forum/discourse-ai/embeddings/semantic-search?q=search_term

Che dava un ERRORE 500.

Quando ho controllato i log, ho ottenuto:

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "Questo modello non supporta il prefill dei messaggi dell'assistente. La conversazione deve terminare con un messaggio dell'utente."
  },
  "request_id": "req_011CcqQvXPAHSfvoUeu92gf9"
}

Ho rintracciato il problema fino alla persona “Content Create”

E l’errore sembra essere questa parte:

perché quando l’ho rimossa (cosa non possibile con questa specifica persona) clonandola e impostando questa opzione sulla mia clonazione

La ricerca semantica ha iniziato a funzionare. Ho dovuto fare una cosa simile, ad esempio, con il mio riassuntivo.

Avete anche voi riscontrato questo problema?

Puoi mostrare come Sonnet 5 è configurato sulla tua istanza?

Per caso hai attivato Disabilita output strutturato nativo (usa invece il prefilling dei messaggi dell'assistente, necessario per Claude 3.x e versioni precedenti)?

Il forum in questione esegue la versione 2026.1.5 ESR, e questa opzione è stata aggiunta dopo la 2026.1, quindi immagino che lì manchi molta della logica specifica di Claude.

Oh, grazie per averlo condiviso!

Provare a utilizzare un nuovo modello con una vecchia versione di Discourse non è una strategia vincente :smiley:.

I fornitori continuano a cambiare i formati delle API, i parametri, ecc. Ci impegniamo al massimo per mantenere la compatibilità con migliaia di modelli, ma questo richiede aggiornamenti costanti per tenersi aggiornati, specialmente se si vuole stare al passo con i modelli lanciati mezzo anno fa (secoli negli anni dell’IA) rispetto alla versione di Discourse.