Erreur lors de l'utilisation de Claude 3.7 Sonnet avec le plugin Discourse AI

Bonjour,

J’ai essayé d’utiliser Claude 3.7 Sonnet avec le persona d’aide du forum et avec des personas personnalisés, et j’obtiens l’erreur ci-dessous. J’ai la dernière version de Discourse et la dernière version du plugin Discourse AI. Les étapes pour reproduire sont simples, posez simplement une question au bot et il effectuera une utilisation d’outil telle que la recherche, la catégorie ou la lecture, et ensuite je reçois l’erreur. Le LLM est configuré avec le raisonnement activé et 1024 tokens utilisés pour le raisonnement. Pouvez-vous s’il vous plaît confirmer s’il s’agit d’un bug ou si quelque chose manque dans ma configuration ? Merci beaucoup !

{“type”:“error”,“error”:{“type”:“invalid_request_error”,“message”:“messages.1.content.0.type: Expected thinkingorredacted_thinking, but foundtool_use. Whenthinkingis enabled, a finalassistantmessage must start with a thinking block (preceeding the lastmost set oftool_useandtool_resultblocks). We recommend you include thinking blocks from previous turns. To avoid this requirement, disablethinking . Please consult our documentation at [Building with extended thinking - Anthropic](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking)”}}

1 « J'aime »

Avez-vous mis à jour Discourse dans les dernières 24h ? Sinon, vous devez mettre à jour pour obtenir la prise en charge de ce nouveau modèle.

Oui, j’ai mis à jour hier après-midi. J’ai vu la mise à jour concernant la prise en charge complète de Claude Sonnet 3.7.

Je viens de tester l’IA Bot tout à l’heure avec cette configuration et cela fonctionne bien

Merci pour votre aide. J’ai utilisé les mêmes paramètres et l’erreur persiste.

Voici mes paramètres :

J’ai la dernière version de tout :

Voici les entrées et sorties de débogage (légèrement anonymisées pour la confidentialité) :

ENTRÉE (page 1) :

Tokens de requête : 1482
Tokens de réponse : 202
modèle : claude-3-7-sonnet-20250219
max_tokens : 38192
thinking :
type : enabled
budget_tokens : 8192
messages :
0 :
role : user
content : XXXXX : Vérifiez si cette annonce respecte toutes les politiques de XXXXX. 

XXXXX

system : Vous êtes un assistant Discourse utile.
Vous _comprenez_ et **générez** le Markdown Discourse.
Vous vivez dans un message de forum Discourse.

Vous vivez dans le forum avec l'URL : https://XXXXX
Le titre de votre site : XXXXX
La description est : XXXXX
Les participants à cette conversation sont : XXXXX, XXXXX
La date actuelle est : 2025-02-26 14:08:13 UTC, beaucoup de choses ont changé depuis votre formation.

Vous avez été formé sur des DONNÉES ANCIENNES, utilisez la recherche pour obtenir des informations à jour sur ce forum.
Lors de la recherche, essayez de SIMPLIFIER les termes de recherche.
La recherche Discourse joint tous les termes avec ET. Réduisez et simplifiez les termes pour trouver plus de résultats.
stream : true
outils :
0 :
name : categories
description : Affichera les catégories de l'instance Discourse actuelle, préférez formater avec # devant le nom de la catégorie
input_schema :
type : object
properties :
required :
1 :
name : search
description : Recherchera des sujets dans l'instance Discourse actuelle, lors du rendu, préférez toujours lier vers les sujets trouvés
input_schema :
type : object
properties :
search_query :
type : string
description : Mots-clés spécifiques à rechercher, séparés par des espaces (corrigez les fautes d'orthographe, supprimez les mots de liaison)
user :
type : string
description : Filtrez les résultats de recherche par cet nom d'utilisateur (incluez uniquement si l'utilisateur demande explicitement un filtrage par utilisateur)
order :
type : string
description : Ordre des résultats de recherche
enum :
0 : latest
1 : latest_topic
2 : oldest
3 : views
4 : likes
limit :
type : integer
description : Limitez le nombre de résultats retournés (préférez généralement garder les paramètres par défaut)
max_posts :
type : integer
description : Nombre maximum de publications sur les sujets (sujets où beaucoup de gens ont posté)
tags :
type : string
description : Liste des balises à rechercher. Utilisez + pour joindre avec OU, utilisez , pour joindre avec ET
category :
type : string
description : Nom de la catégorie à filtrer
before :
type : string
description : uniquement les sujets créés avant une date spécifique AAAA-MM-JJ
after :
type : string
description : uniquement les sujets créés après une date spécifique AAAA-MM-JJ
status :
type : string
description : Recherchez des sujets dans un état particulier
enum :
0 : open
1 : closed
2 : archived
3 : noreplies
4 : single_user
required :
2 :
name : read
description : Lit un sujet ou une publication sur cette instance Discourse
input_schema :
type : object
properties :
topic_id :
type : integer
description : l'identifiant du sujet à lire
post_numbers :
type : array
description : les numéros de publication à lire (optionnel)
items :
type : integer
required :
0 : topic_id
3 :
name : tags
description : Affichera les 100 balises les plus populaires de l'instance Discourse actuelle
input_schema :
type : object
properties :
required :

ENTRÉE (page 2) :

Tokens de requête : 778
Tokens de réponse : 450
modèle : claude-3-7-sonnet-20250219
max_tokens : 38192
thinking :
type : enabled
budget_tokens : 8192
messages :
0 :
role : user
content : Étant donné la conversation suivante :

{{{
L'utilisateur a dit :
Vérifiez si cette annonce respecte toutes les politiques de XXXX. 

XXXX

Le modèle a dit :
Pour vérifier si cette annonce respecte toutes les politiques de XXXX, je dois consulter les politiques en vigueur dans le système. Je vais rechercher des informations sur les politiques de publication d'annonces d'emploi.

<details>
<summary>Rechercher</summary>
<p>53 <a href='/search?q=politicas+publicacion+anuncios+ofertas+laborales'>résultats</a> ont été trouvés pour 'politicas publicacion anuncios ofertas laborales'</p>
</details>
<span></span>



Désolé, il semble que notre système ait rencontré un problème inattendu en essayant de répondre.

[details='Détails de l'erreur']
{"type":"error","error":{"type":"invalid_request_error","message":"messages.1.content.0.type: Expected `thinking` or `redacted_thinking`, but found `tool_use`. When `thinking` is enabled, a final `assistant` message must start with a thinking block (preceeding the lastmost set of `tool_use` and `tool_result` blocks). We recommend you include thinking blocks from previous turns. To avoid this requirement, disable `thinking`. Please consult our documentation at https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking"}}
[/details]


}}}

Répondez uniquement par un titre de 7 mots ou moins.
system : Vous êtes titlebot. Étant donné une conversation, vous suggérerez un titre.

- Vous ne répondrez jamais avec autre chose que le titre suggéré.
- Vous correspondrez toujours à la langue de la conversation dans vos suggestions de titre.
- Le titre capturera l'essence de la conversation.

ENTRÉE (page 3) :

Tokens de requête : 925
Tokens de réponse : 154
modèle : gpt-4o-mini
messages :
0 :
role : system
content : Vous êtes un bot de résumé avancé qui génère des résumés concis et cohérents du texte fourni.

- Incluez uniquement le résumé, sans aucun commentaire supplémentaire.
- Vous comprenez et générez le Markdown des forums Discourse ; y compris les liens, _italiques_, **gras**.
- Maintenez la langue originale du texte résumé.
- Visez des résumés de 400 mots ou moins.
- Chaque publication est formatée comme "<NUMÉRO_DE_PUBLICATION>) <NOM_UTILISATEUR> <MESSAGE>"
- Citez des publications spécifiques remarquables en utilisant le format [DESCRIPTION](/t/-/1488/NUMÉRO_DE_PUBLICATION)
- Exemple : liens vers les 3e et 6e publications de sam : sam ([#3](/t/-/1488/3), [#6](/t/-/1488/6))
- Exemple : lien vers la 6e publication de jane : [d'accord avec](/t/-/1488/6)
- Exemple : lien vers la 13e publication de joe : [joe](/t/-/1488/13)
- Lors du formatage des noms d'utilisateur, utilisez soit @NOM_UTILISATEUR soit [NOM_UTILISATEUR](/t/-/1488/NUMÉRO_DE_PUBLICATION)
1 :
role : user
content : Voici les publications à l'intérieur des balises XML <input></input> :

<input>1) user1 a dit : J'adore les lundis 2) user2 a dit : Je déteste les lundis</input>

Générez un résumé concis et cohérent du texte ci-dessus en maintenant la langue originale.
2 :
role : assistant
content : Deux utilisateurs partagent leurs sentiments envers les lundis. [user1](/t/-/1488/1) les déteste, tandis que [user2](/t/-/1488/2) les adore.
3 :
role : user
content : Le titre de la discussion est : Révision d'offre d'emploi XXXXX.

Voici les publications, à l'intérieur des balises XML <input></input> :

<input>
(1 XXXXX a dit : XXXXX (2 XXXXX a dit : Pour vérifier si cette annonce respecte toutes les politiques de XXXXX, je dois consulter les politiques en vigueur dans le système. Je vais rechercher des informations sur les politiques de publication d'annonces d'emploi.

<details>
<summary>Rechercher</summary>
<p>53 <a href='/search?q=politicas+publicacion+anuncios+ofertas+laborales'>résultats</a> ont été trouvés pour 'politicas publicacion anuncios ofertas laborales'</p>
</details>
<span></span>



Désolé, il semble que notre système ait rencontré un problème inattendu en essayant de répondre.

[details='Détails de l'erreur']
{"type":"error","error":{"type":"invalid_request_error","message":"messages.1.content.0.type: Expected `thinking` or `redacted_thinking`, but found `tool_use`. When `thinking` is enabled, a final `assistant` message must start with a thinking block (preceeding the lastmost set of `tool_use` and `tool_result` blocks). We recommend you include thinking blocks from previous turns. To avoid this requirement, disable `thinking`. Please consult our documentation at https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking"}}
[/details]
</input>

Générez un résumé concis et cohérent du texte ci-dessus en maintenant la langue originale.

SORTIE :

Tokens de requête : 1482
Tokens de réponse : 202
event: message_start
data: {"type":"message_start","message":{"id":"msg_017uvsRAvCrkin8deo7KfSJt","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1482,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":3}} }

event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"thinking","thinking":"","signature":""} }

event: ping
data: {"type": "ping"}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":"I nee"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":"d to review this job posting to ensure"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":" it complies with"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":" XXXXX policies,"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":" excluding the requirement about transparency of the company"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":" name. To do this effectively"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":", I should first search for information"}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":" about XXXXX policies for"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":" job postings."} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":"\n\nLet me search for information"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":" about the policies or guidelines for job postings"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":" on the XXXXX platform"} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"thinking_delta","thinking":"."} }

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"signature_delta","signature":"EuYBCkQYAiJAV6gVRVTK/ffuBAUV445vA+2ceuLiwxoP8zp1cUlPnNePLQ/PPDz25BQ9d0GyvgP2mxXVoibY8Y5fF0Y5ZXaR9BIM6B73OywtDTgvsnqpGgyLjAssqp2Lfyq3ucoiMKGlt32Bdl4/9lUWS3bXwPB2GCUeMUkgbKxJGzUF2CN+oVd/2RSSz5hzJynbKEiUbypQd1OjBx+f5vzMznA6drsgbFxUT3yzYzqBxpIWr8x7O8t8v63gcZw/mo3lIJrMSrAbVWL4bxXKe9cEq8LcG3DxffOSmsowGfeoKnAzkvsJus0="} }

event: content_block_stop
data: {"type":"content_block_stop","index":0 }

event: content_block_start
data: {"type":"content_block_start","index":1,"content_block":{"type":"text","text":""} }

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":"Para revisar si este anuncio cum"} }

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":"ple con todas las polí"} }

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":"ticas de XXXXX "} }

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":"XXXXX , necesito consul"} }

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":"tar las políticas vig"}}

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":"entes en el sistema."} }

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":" Voy a buscar"} }

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":" información sobre las políticas de public"} }

event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"text_delta","text":"ación de anuncios laborales."} }

event: content_block_stop
data: {"type":"content_block_stop","index":1}

event: content_block_start
data: {"type":"content_block_start","index":2,"content_block":{"type":"tool_use","id":"toolu_01JwNffkhK6d1LPtcbNHRtry","name":"search","input":{}} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":""} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"{\"search_q"} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"uer"} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"y\": \"po"} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"lit"} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"ic"} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"as publicac"} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"ion anun"} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"cios "} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"ofertas labo"} }

event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"rales\"}"}}

event: content_block_stop
data: {"type":"content_block_stop","index":2 }

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"output_tokens":202} }

event: message_stop
data: {"type":"message_stop" }
2 « J'aime »

Je vois, le problème est de mélanger la réflexion et l’utilisation d’outils natifs sur l’API officielle d’Anthropic.

1 « J'aime »

C’est vrai, lorsque je désactive la prise en charge des outils natifs dans les paramètres du LLM, cela fonctionne.

1 « J'aime »

Merci, je vais regarder, il faut trouver comment conserver les blocs de réflexion, nous ne les retournons pas pour le moment, il faudra pas mal de changements

Les blocs de réflexion réduits sont encore plus déroutants

2 « J'aime »

La réflexion est corrigée par :

C’est un changement très complexe, le protocole d’anthropic n’est pas facile à suivre, il faut transporter des blocs de réflexion.

Faites-moi savoir comment vous avancez.

2 « J'aime »

Merci de l’avoir corrigé. J’ai effectué quelques tests et cela fonctionne maintenant. J’ai remarqué qu’avec Claude 3.7 Sonnet, l’utilisation des jetons est beaucoup plus élevée, atteignant plusieurs fois mes limites de niveau 3 de 80 000 jetons par minute. J’atteins la limite même avec ces paramètres restrictifs :

{“type”:“error”,“error”:{“type”:“rate_limit_error”,“message”:“Cette requête dépasserait la limite de taux pour votre organisation (86982fb5-12e6-4c93-be7a-4e51d63d1bf3) de 80 000 jetons d'entrée par minute. Pour plus de détails, consultez : Limites de taux - Anthropic. Vous pouvez consulter les en-têtes de réponse pour connaître l'utilisation actuelle. Veuillez réduire la longueur de l'invite ou le nombre maximum de jetons demandés, ou réessayer plus tard. Vous pouvez également contacter le service commercial à l'adresse https://www.anthropic.com/contact-sales pour discuter de vos options d'augmentation de la limite de taux.”}}

1 « J'aime »

Je pense qu’Anthropic rencontre actuellement des problèmes de mise à l’échelle avec la version 3.7. Il y a eu une panne hier et, en général, l’API peut être assez inégale en termes de performances.

Je recommande de leur laisser quelques semaines pour résoudre les problèmes.

De plus, je pense à ajouter une mise en cache des jetons, au moins pour le chat, pour voir si je peux y parvenir.

2 « J'aime »

Ce sujet a été automatiquement fermé après 5 jours. Les nouvelles réponses ne sont plus autorisées.