so16
08/21/2026, 11:24 AMAI Evy
08/21/2026, 11:24 AMAI Evy
08/21/2026, 11:24 AMretell-custom-llm-node-demo contenait un exemple d'intégration du multi-prompt LLM. La réponse de l'équipe Retell AI a été que la fonctionnalité multi-prompt est exclusive au Retell LLM et ne sera pas incluse dans le repo de démo [(1) ]() . Il a aussi été précisé que la connexion à l'URL du Retell LLM est nécessaire pour utiliser la fonctionnalité multi-prompt, plutôt que de connecter son propre modèle .
Il y a également une discussion sur les agents multilingues via Custom LLM, où un utilisateur demandait comment implémenter des appels multilingues sur un même agent sans affecter les autres appels. Une réponse suggérait simplement de dupliquer l'agent pour chaque langue [(2) ]() . Un autre utilisateur a précisé que les agents multilingues natifs ne sont supportés que pour l'espagnol et l'anglais .
Enfin, une discussion aborde comment détecter le moment où l'utilisateur décroche avec un Custom LLM, étant donné que l'événement "call started" survient avant que l'utilisateur ne décroche [(3) ]() .AI Evy
08/21/2026, 11:24 AMAI Evy
08/21/2026, 11:24 AMso16
08/21/2026, 11:26 AMAI Evy
08/21/2026, 11:26 AMAI Evy
08/21/2026, 11:26 AMAI Evy
08/21/2026, 11:26 AMAI Evy
08/21/2026, 11:26 AMso16
08/21/2026, 11:31 AMAI Evy
08/21/2026, 11:31 AMAI Evy
08/21/2026, 11:31 AMresponse_required : répondre avec un response (Retell attend que l'agent parle)
- reminder_required : répondre avec un response (l'appelant est silencieux, Retell veut une relance)
- update_only : rien à faire (transcription et changements de turntaking)
- call_details : rien à faire (objet complet de l'appel, seulement si demandé dans config)
- ping_pong : renvoyer l'écho (keepalive, seulement si auto_reconnect est activé)
Et vous devez taguer tout ce que vous envoyez avec un response_type :
- response : le contenu que l'agent doit dire
- config : envoyé une fois à la connexion pour activer les keepalives, les call details, et les transcriptions d'appels d'outils
- ping_pong : si auto_reconnect est actif
- agent_interrupt : fait parler l'agent immédiatement
- tool_call_invocation / tool_call_result : enregistre vos appels d'outils dans la transcription
- `AI Evy
08/21/2026, 11:31 AMmetadata : transfère des données arbitraires à un frontend d'appel web
Points importants à prendre en compte avant de choisir un Custom LLM [(1) ]() :
- Vous prenez en charge la latence, l'uptime, et la gestion des reconnexions
- Le LLM playground ne peut pas tester un agent Custom LLM, et les tests par simulation/batch les rejettent — seuls les appels web et téléphoniques permettent de tester
- Le transfert d'agent ne peut pas cibler un agent Custom LLM
- Vos propres appels d'outils n'apparaissent dans la transcription que si vous les reportez vous-même ; Retell enregistre automatiquement seulement ses propres actions (end_call, transfer_call, press_digit)
Exemple de message de configuration à envoyer à la connexion [(2) ]() :AI Evy
08/21/2026, 11:31 AMpython
await websocket.send_json(
{
"response_type": "config",
"config": {
"auto_reconnect": True,
"call_details": True,
},
}
)
await websocket.send_json(
{
"response_type": "response",
"response_id": 0,
"content": BEGIN_MESSAGE,
"content_complete": True,
}
)
Notez que auto_reconnect: true vous oblige à échoer les événements ping_pong — si Retell ne reçoit rien après 5 secondes, la connexion est fermée et reconnectée, et après 2 reconnexions l'appel se termine avec error_llm_websocket_lost_connection .AI Evy
08/21/2026, 11:31 AMAI Evy
08/21/2026, 11:31 AMso16
08/21/2026, 11:35 AMAI Evy
08/21/2026, 11:35 AMAI Evy
08/21/2026, 11:35 AMend_call, transfer_call, press_digit)
Points de vigilance opérationnels une fois lancé
- Time to first sentence : Retell commence à parler dès qu'il a votre première phrase complète, donc le temps qui compte est le temps jusqu'au premier token plus le temps pour finir cette première phrase, pasAI Evy
08/21/2026, 11:35 AMmessage aux outils, et limiter le nombre d'outils exposés à un moment donné
- Robustesse face aux pannes : activer auto_reconnect, toujours fermer une réponse avec content_complete: true dans un bloc finally, prévoir un fallback en cas de panne du fournisseur, et rendre les effets de bord idempotents puisque Retell peut redemander une réponse et donc déclencher un outil deux fois pour une même requêteAI Evy
08/21/2026, 11:35 AMAI Evy
08/21/2026, 11:35 AM