Interpréteur de code
L'interpréteur de code ajoute la capacité d'exécuter du code en toute sécurité dans un conteneur isolé. Cet outil intégré permet aux agents d'exécuter du code à tout moment sur demande, ce qui est pratique pour tracer des graphiques, analyser des données, effectuer des opérations mathématiques, valider du code et bien plus encore.

code_interpreter fonctionne avec l'API Conversations (/v1/conversations) et l'API Agents. Il n'est pas pris en charge dans l'API Chat Completions (/v1/chat/completions). Pour l'utiliser avec un agent, créez l'agent avec code_interpreter, puis démarrez la conversation avec /v1/conversations.
Pour utiliser l'interpréteur de code, créez un agent avec l'outil interpréteur de code. Démarrez ensuite une conversation avec l'agent. Il exécute le code sur demande pour répondre à vos questions.
Créer un agent avec interpréteur de code
Vous pouvez créer un agent avec accès à notre interpréteur de code en le fournissant comme l'un des outils. Notez que vous pouvez toujours ajouter d'autres outils à l'agent, le modèle est libre d'exécuter du code ou non selon les besoins.
code_agent = client.beta.agents.create(
model="mistral-medium-latest",
name="Coding Agent",
description="Agent used to execute code using the interpreter tool.",
instructions="Use the code interpreter tool when you have to run code.",
tools=[{"type": "code_interpreter"}],
completion_args={
"temperature": 0.3,
"top_p": 0.95,
}
)Comme pour les autres agents, lors de la création vous recevez un identifiant d'agent correspondant à l'agent créé que vous pouvez utiliser pour démarrer une conversation.
Fonctionnement
Maintenant que notre agent de code est prêt, nous pouvons à tout moment l'utiliser pour exécuter du code.
Conversations avec l'interpréteur de code
Pour démarrer une conversation avec notre agent d'interpréteur de code, nous pouvons utiliser le code suivant :
response = client.beta.conversations.start(
agent_id=code_agent.id,
inputs="Run a fibonacci function for the first 20 values."
)Explication de la sortie
Ci-dessous, nous expliquons les différentes sorties de la réponse de l'exemple de code précédent :
-
message.output: cette entrée correspond à la réponse initiale de l'assistant, indiquant qu'il peut générer les 20 premiers nombres de Fibonacci. -
tool.execution: cette entrée correspond à l'exécution de l'outil interpréteur de code. Elle inclut des métadonnées sur l'exécution, telles que :name: le nom de l'outil, qui dans ce cas estcode_interpreter.object: le type d'objet, qui estentry.type: le type d'entrée, qui esttool.execution.created_atetcompleted_at: horodatages indiquant quand l'exécution de l'outil a commencé et s'est terminée.id: un identifiant unique pour l'exécution de l'outil.info: cette section contient des informations supplémentaires spécifiques à l'exécution de l'outil. Pour l'outilcode_interpreter, la sectioninfoinclut :code: le code réel qui a été exécuté. Dans cet exemple, il contient une fonction Pythonfibonacci(n)qui génère lesnpremiers nombres de la suite de Fibonacci et un appel à cette fonction pour obtenir les 20 premiers nombres de Fibonacci.code_output: la sortie du code exécuté, qui est la liste des 20 premiers nombres de Fibonacci.
-
message.output: cette entrée correspond à la réponse finale de l'assistant, fournissant les 20 premières valeurs de la suite de Fibonacci.
