glamorous-telephone-35069
02/23/2026, 8:47 PMtall-airline-16756
02/23/2026, 8:47 PMtall-airline-16756
02/23/2026, 8:47 PMsignaux_de_reprise, end_call), le modèle Cerebras LLaMA 8B renvoie du JSON/textes d’appel de fonction comme sortie (par ex. {"type":"function", "name":"signaux de reprise", ...}). Je vais vous guider pas à pas pour diagnostiquer et corriger cela.
Ce que vous pouvez vérifier en priorité
• Vérifiez que vos fonctions sont bien exposées en tant qu’outils avec le décorateur @function_tool() et que les noms/paramètres correspondent exactement à ce que le modèle renvoie. Si le nom renvoyé par le modèle diffère (espaces, accents, underscore), l’agent peut seulement afficher le JSON au lieu d’exécuter l’outil.
• Assurez-vous que l’AgentSession est configurée pour autoriser l’utilisation d’outils/plugins (tooling enabled). Parfois des paramètres du LLM (ex : tool_choice, temperature) influencent si le modèle décide d’appeler un outil ou de produire du texte.
• Confirmez que la version de livekit-agents que vous utilisez supporte l’intégration Cerebras + exécution automatique d’outils (certaines versions précédentes peuvent nécessiter un paramétrage supplémentaire).
Étapes concrètes à tester
1. Vérifier la définition des fonctions
◦ Assurez-vous que vos méthodes sont décorées et ont des noms “clean” sans différences de casse/espaces/accents entre la définition et le nom attendu :
from livekit.agents import function_tool, Agent, RunContext
class MyAgent(Agent):
@function_tool()
async def signaux_de_reprise(self, context: RunContext) -> str:
return "Signal de reprise traité"
@function_tool()
async def end_call(self, context: RunContext) -> str:
await context.wait_for_playout()
return "Appel terminé"
• Si le modèle renvoie "name": "signaux de reprise" mais votre fonction s’appelle signaux_de_reprise (underscore vs espace), alignez les noms.
1. Ajuster la configuration du LLM Cerebras
◦ Réduire la température (ex. temperature=0.1) pour diminuer les sorties créatives qui transforment un appel d’outil en texte.
◦ S’assurer que tool_choice="auto" ou équivalent est activé pour permettre au framework d’invoquer automatiquement les fonctions.
1. Journalisation / logs
◦ Activez des logs détaillés autour du routage des messages (input du LLM → décision d’appeler un outil → exécution). Cherchez si le framework reçoit bien la réponse structurée du modèle et si la couche agent tente d’appeler l’outil ou si elle se contente d’émettre le JSON en texte.
1. Clé API et intégration Cerebras
◦ Vérifiez la clé CEREBRAS_API_KEY et que l’intégration Cerebras est bien initialisée via le plugin LiveKit (lorsque vous utilisez openai.LLM.with_cerebras(...)).
Alternative rapide
• Si le problème persiste, essayez temporairement le même agent avec un autre backend LLM pris en charge (ex. via LiveKit Inference) pour confirmer si le problème est spécifique à Cerebras ou à la configuration de l’agent.
Pour que je puisse diagnostiquer plus précisément Merci de partager (au moins un extrait non sensible) :
• Le code complet de définition de l’agent (les fonctions décorées et l’initialisation de AgentSession).
• La version de livekit-agents que vous utilisez.
• Les logs complets autour d’un échange où le modèle renvoie le JSON au lieu d’exécuter la fonction.
• Si possible, la sortie brute renvoyée par Cerebras (avant traitement par l’agent).
Je peux ensuite :
• Vérifier les points précis du code où le nom d’outil est comparé et vous indiquer le correctif exact.
• Proposer un exemple minimal fonctionnel (agent + session) adapté à Cerebras pour reproduire et corriger le comportement.
Dites-moi laquelle de ces informations vous pouvez fournir et je vous aide à avancer pas à pas.
Sources: Cerebras LLM plugin guide | LiveKit Documentation | Tool definition and use | LiveKit Documentation