Les appels API de Coze, qui fonctionnent clairement sur la page web, échouent en Python, ce qui est une situation courante dans la communauté. Ce n’est généralement pas « la page web est plus forte », mais le côté web et le côté script n’utilisent pas exactement la même méthode de requête. Surtout quand on a affaire à des retours de streaming, SSE ne gère pas bien ça, et le résultat ressemble à « l’interface est cassée ».
Jetons un œil aux zones les plus sujettes aux erreurs
La première est que l’adresse est mal écrite. L’adresse « 0.0.0.0 » est uniquement adaptée à l’écoute locale, et non à la demande d’un client. La seconde est que la réponse en streaming n’est pas traitée selon SSE, et que le script attend simplement le JSON normal. Troisièmement, bien que les champs de requête soient similaires, les paramètres « bot_id », « user_id » et « additional_messages » ne sont pas exactement les mêmes que le contexte du côté page.
Pourquoi des pages web peuvent-elles fonctionner, mais pas les scripts ?
Les pages web vous aident généralement à encapsuler l’authentification, les conversations, les événements en streaming et les messages de suivi. Les scripts Python exigent que vous détectiez ces processus vous-même. Quelqu’un dans le problème public a rencontré ce problème : tout semble normal sur la page web, mais le côté script reçoit un flux d’événements SSE, et comme il n’est pas analysé ligne par ligne, il pense finalement que l’interface a échoué.
Une approche plus stable
- Si vous ne voulez pas gérer les événements de streaming, mettez d’abord « stream » sur désactivé.
- Si vous voulez utiliser le streaming, analysez-le ligne par ligne sous le format « text/event-stream », et n’utilisez pas simplement « response.text » comme réponse finale.
- Demandez d’abord avec une vraie IP ou un nom de domaine, et n’utilisez pas '0.0.0.0' comme adresse d’accès.
De plus, les « suggestions de suivi » envoyées par les côtés Python et web peuvent être différentes. Ce n’est pas une anomalie, c’est un message supplémentaire normal dans le déroulement de la conversation. Séparez d’abord la réponse principale de la suite, et le dépannage sera beaucoup plus clair.
Conclusion d’une phrase
Quand la page API de Coze fonctionne mais que Python échoue, ce n’est généralement pas que l’interface elle-même soit défaillante, mais que l’adresse soit mal écrite, que le SSE ne soit pas résolu, ou que le contexte de requête ne soit pas aligné. En alignant ces trois éléments, le problème peut généralement être localisé.