Comment je peux résoudre le problème que à la plac...
# ask-ai
g
Comment je peux résoudre le problème que à la place d appeler une fonction il écris quand j utilise cerebras llama 8b Allô, 224050 {"type": "function", "name": "signaux de reprise", "parameters": {}} 224056 Oui, c'est moi. 224109 Bonjour, je suis Jean de Formakol. Je vérifie l’éligibilité au financement de formations par votre Hopco. Est-ce que je peux parler à un responsable s’il vous plaît ? 224109 Bonjour, vous êtes bien Mickael ? 224113 Oui, 224114 suis désolé, ne pas intéressé, merci beaucoup, au revoir. 224117 {"type": "function", "name": "end_call", "parameters": {}}
t
Thanks for reaching out, Michael. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Merci — je vois que vous rencontrez le comportement suivant : au lieu d’exécuter les fonctions (
signaux_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 :
Copy code
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