


AI agents are designed to act autonomously, solving problems and executing tasks in dynamic environments. A key feature in Autogen, enabling their adaptability is AutoGen’s code executors. This feature along with LLMs enables AI agents to generate, evaluate, and execute code in real-time. This capability bridges the gap between static AI models and actionable intelligence. By automating workflows, performing data analysis, and debugging complex systems, it transforms agents from mere thinkers into effective doers. In this article, we will learn more about code executors in AutoGen and how to implement them.
Table of Contents
- Types of Code Executors in AutoGen
- How to Build AI Agents with Code Executors in AutoGen?
- Pre-requisites
- Building an AI Agent Using Command Line Executor
- Building an ML Model Using Jupyter Code Executor
- Building an AI Agent Using Custom Executor
- Conclusion
- Frequently Asked Questions
Types of Code Executors in AutoGen
AutoGen has three kinds of code executors that can be used for different purposes.
- Command Line Executor: It allows AI agents to run the code in the command line. It will save each code block to a separate file and execute that file. This executor is ideal for automating tasks like file management, script execution, or handling external tools. It provides flexibility and low-level control in a workflow.
- Jupyter Code Executor: It enables agents to execute Python code within a Jupyter-like environment. Here, you can define variables in one code block and reuse them in subsequent blocks. One advantage of this setup is that when an error occurs, only the specific block of code with the error needs to be re-executed, rather than the entire script.
- Custom Code Executor: It gives developers the ability to create specialized code execution logic. For example, the custom code executor can access variables defined in the environment without explicitly providing them to the LLM.
These Code Executors can be run on both the host machine (local) as well as the Docker containers.
Also Read: 4 Steps to Build Multi-Agent Nested Chats with AutoGen
How to Build AI Agents with Code Executors in AutoGen?
Now let’s learn how you can use these different code executors in AutoGen:
Pre-requisites
Before building AI agents, ensure you have the necessary API keys for the required LLMs.
Load the .env file with the API keys needed.
from dotenv import load_dotenv load_dotenv(./env)
Key Libraries Required
autogen-agentchat – 0.2.38
jupyter_kernel_gateway-3.0.1
Building an AI Agent Using Command Line Executor
Let’s build an AI agent to know the offers and discounts available on an e-commerce website using the command line executor. Here are the steps to follow.
1. Import the necessary libraries.
from autogen import ConversableAgent, AssistantAgent, UserProxyAgent from autogen.coding import LocalCommandLineCodeExecutor, DockerCommandLineCodeExecutor
2. Define the agents.
user_proxy = UserProxyAgent( name="User", llm_config=False, is_termination_msg=lambda msg: msg.get("content") is not None and "TERMINATE" in msg["content"], human_input_mode="TERMINATE", code_execution_config=False ) code_writer_agent = ConversableAgent( name="CodeWriter", system_message="""You are a Python developer. You use your coding skill to solve problems. Once the task is done, returns 'TERMINATE'.""", llm_config={"config_list": [{"model": "gpt-4o-mini"}]}, ) local_executor = LocalCommandLineCodeExecutor( timeout=15, work_dir='./code files') local_executor_agent = ConversableAgent( "local_executor_agent", llm_config=False, code_execution_config={"executor": local_executor}, human_input_mode="ALWAYS", )
We are using the ‘local_executor’ in the code_execution_config of the local_executor_agent.
3. Define the messages which are used to initialize the chat.
messages = ["""To check whether there are any offers or discounts available on a given e-commerce website - https://www.flipkart.com/ Follow these steps, 1. download the html page of the given URL 2. we only need html content, so remove any CSS, JavaScript, and Image tags content 3. save the remaining html content. """ , "read the text and list all the offers and discounts available"] # Intialize the chat chat_result = local_executor_agent.initiate_chat( code_writer_agent, message=messages[0], )
It will ask for human input after each message from the codeWriter agent. You just need to press the ‘Enter’ key to execute the code written by the agent. We can also any further instructions if there is any problem with the code.
Here are the questions we have asked and the output at the end.
As we can see, with the mentioned questions, we can get a list of offers and discounts from an e-commerce website.
Also Read: Hands-on Guide to Building Multi-Agent Chatbots with AutoGen
Building an ML Model Using Jupyter Code Executor
By using this, we can access the variables defined in one code block from another code block, unlike the command line executor.
Now, let’s try to build an ML model using this.
1. Import the additional methods.
from autogen.coding.jupyter import LocalJupyterServer, DockerJupyterServer, JupyterCodeExecutor from pathlib import Path
2. Initialize the jupyter server and output directory.
server = LocalJupyterServer() output_dir = Path("coding") output_dir.mkdir()
Note that LocalJupyterServer may not function on Windows due to a bug. In this case, you can use the DockerJupyterServer instead or use the EmbeddedIPythonCodeExecutor.
3. Define the executor agent and writer agent with a custom system message.
jupyter_executor_agent = ConversableAgent( name="jupyter_executor_agent", llm_config=False, code_execution_config={ "executor": JupyterCodeExecutor(server, output_dir=output_dir), }, human_input_mode="ALWAYS", ) code_writer_system_message = """ You have been given coding capability to solve tasks using Python code in a stateful IPython kernel. You are responsible for writing the code, and the user is responsible for executing the code. When you write Python code, put the code in a markdown code block with the language set to Python. For example: ```python x = 3 ``` You can use the variable `x` in subsequent code blocks. ```python print(x) ``` Always use print statements for the output of the code. Write code incrementally and leverage the statefulness of the kernel to avoid repeating code. Import libraries in a separate code block. Define a function or a class in a separate code block. Run code that produces output in a separate code block. Run code that involves expensive operations like download, upload, and call external APIs in a separate code block. When your code produces an output, the output will be returned to you. Because you have limited conversation memory, if your code creates an image, the output will be a path to the image instead of the image itself.""" code_writer_agent = ConversableAgent( "code_writer", system_message=code_writer_system_message, llm_config={"config_list": [{"model": "gpt-4o"}]}, human_input_mode="TERMINATE", )
4. Define the initial message and initialize the chat
message = "read the datasets/user_behavior_dataset.csv and print what the data is about" chat_result = jupyter_executor_agent.initiate_chat( code_writer_agent, message=message, ) # Once the chat is completed we can stop the server. server.stop()
5. Once the chat is completed we can stop the server.
We can print the messages as follows
for chat in chat_result.chat_history[:]: if chat['name'] == 'code_writer' and 'TERMINATE' not in chat['content']: print("--------agent-----------") print(chat['content']) if chat['name'] == 'jupyter_executor_agent' and 'exitcode' not in chat['content']: print("--------user------------") print(chat['content'])
Here’s the sample
As we can see, we can get the code generated by the agent and also the results after executing the code.
Also Read: Building Agentic Chatbots Using AutoGen
Building an AI Agent Using Custom Executor
Now, let’s try to create a custom executor that can run the code in the same jupyter notebook where we are creating this executor. So, we can read a CSV file, and then ask an agent to build an ML model on the already imported file.
Here’s how we’ll do it.
1. Import the necessary libraries.
import pandas as pd from typing import List from IPython import get_ipython from autogen.coding import CodeBlock, CodeExecutor, CodeExtractor, CodeResult, MarkdownCodeExtractor
2. Define the executor that can extract and run the code from jupyter cells.
class NotebookExecutor(CodeExecutor): @property def code_extractor(self) -> CodeExtractor: # Extact code from markdown blocks. return MarkdownCodeExtractor() def __init__(self) -> None: # Get the current IPython instance running in this notebook. self._ipython = get_ipython() def execute_code_blocks(self, code_blocks: List[CodeBlock]) -> CodeResult: log = "" for code_block in code_blocks: result = self._ipython.run_cell("%%capture --no-display cap\n" + code_block.code) log += self._ipython.ev("cap.stdout") log += self._ipython.ev("cap.stderr") if result.result is not None: log += str(result.result) exitcode = 0 if result.success else 1 if result.error_before_exec is not None: log += f"\n{result.error_before_exec}" exitcode = 1 if result.error_in_exec is not None: log += f"\n{result.error_in_exec}" exitcode = 1 if exitcode != 0: break return CodeResult(exit_code=exitcode, output=log)
3. Define the agents.
code_writer_agent = ConversableAgent( name="CodeWriter", system_message="You are a helpful AI assistant.\n" "You use your coding skill to solve problems.\n" "You have access to a IPython kernel to execute Python code.\n" "You can suggest Python code in Markdown blocks, each block is a cell.\n" "The code blocks will be executed in the IPython kernel in the order you suggest them.\n" "All necessary libraries have already been installed.\n" "Add return or print statements to the code to get the output\n" "Once the task is done, returns 'TERMINATE'.", llm_config={"config_list": [{"model": "gpt-4o-mini"}]}, ) code_executor_agent = ConversableAgent( name="CodeExecutor", llm_config=False, code_execution_config={"executor": NotebookExecutor()}, is_termination_msg=lambda msg: "TERMINATE" in msg.get("content", "").strip().upper(), human_input_mode="ALWAYS" )
4. Read the file and initiate the chat with the file.
df = pd.read_csv('datasets/mountains_vs_beaches_preferences.csv') chat_result = code_executor_agent.initiate_chat( code_writer_agent, message="What are the column names in the dataframe defined above as df?", )
5. We can print the chat history as follows:
for chat in chat_result.chat_history[:]: if chat['name'] == 'CodeWriter' and 'TERMINATE' not in chat['content']: print("--------agent-----------") print(chat['content']) if chat['name'] == 'CodeExecutor' and 'exitcode' not in chat['content']: print("--------user------------") print(chat['content'])
As we can see again, we can get the code generated by the agent and also the results after executing the code.
Conclusion
AutoGen’s code executors provide flexibility and functionality for AI agents to perform real-world tasks. The command line executor enables script execution, while the Jupyter code executor supports iterative development. Custom executors, on the other hand, allow developers to create tailored workflows.
These tools empower AI agents to transition from problem solvers to solution implementers. Developers can use these features to build intelligent systems that deliver actionable insights and automate complex processes.
Frequently Asked Questions
Q1. What is the primary purpose of Code Executors in AutoGen?A. Code Executors in AutoGen allow AI agents to generate, execute, and evaluate code in real time. This enables agents to automate tasks, perform data analysis, debug systems, and implement dynamic workflows.
Q2. What are the differences between Command Line and Jupyter Code Executors?A. The Command Line Executor saves and executes code as separate files, ideal for tasks like file management and script execution. The Jupyter Code Executor operates in a stateful environment, allowing reuse of variables and selective re-execution of code blocks, making it more suitable for iterative coding tasks like building ML models.
Q3. Can Code Executors be used with Docker containers?A. Yes, both the Command Line Executor and Jupyter Code Executor can be configured to run on Docker containers, providing a flexible environment for execution.
Q4. What is the advantage of using a Custom Code Executor?A. Custom Code Executors allow developers to define specialized execution logic, such as running code within the same Jupyter notebook. This is useful for tasks requiring a high level of integration or customization.
Q5. What are the prerequisites for using Code Executors in AutoGen?A. Before using Code Executors, ensure you have the necessary API keys for your preferred LLMs. You should also have the required libraries, such as `autogen-agentchat` and `jupyter_kernel_gateway`, installed in your environment.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
![Impossible d'utiliser Chatgpt! Expliquer les causes et les solutions qui peuvent être testées immédiatement [dernier 2025]](https://img.php.cn/upload/article/001/242/473/174717025174979.jpg?x-oss-process=image/resize,p_40)
Chatgpt n'est pas accessible? Cet article fournit une variété de solutions pratiques! De nombreux utilisateurs peuvent rencontrer des problèmes tels que l'inaccessibilité ou la réponse lente lors de l'utilisation quotidiennement du chatppt. Cet article vous guidera pour résoudre ces problèmes étape par étape en fonction de différentes situations. Causes de l'inaccessibilité de Chatgpt et du dépannage préliminaire Tout d'abord, nous devons déterminer si le problème est du côté du serveur OpenAI, ou les problèmes de réseau ou d'appareils de l'utilisateur. Veuillez suivre les étapes ci-dessous pour dépanner: Étape 1: Vérifiez le statut officiel d'OpenAI Visitez la page d'état OpenAI (status.openai.com) pour voir si le service Chatgpt s'exécute normalement. Si une alarme rouge ou jaune s'affiche, cela signifie ouvert

Le 10 mai 2025, le physicien du MIT Max Tegmark a déclaré au Guardian que les laboratoires AI devraient imiter le calcul de la trinité-test d'Oppenheimer avant de publier une super-intelligence artificielle. «Mon évaluation est que la« constante Compton », la probabilité qu'une race

La technologie de création de musique AI change chaque jour qui passe. Cet article utilisera des modèles d'IA tels que Chatgpt comme exemple pour expliquer en détail comment utiliser l'IA pour aider la création de la musique et l'expliquer avec des cas réels. Nous présenterons comment créer de la musique via Sunoai, Ai Jukebox sur les câlins et la bibliothèque Music21 de Python. Avec ces technologies, tout le monde peut facilement créer de la musique originale. Cependant, il convient de noter que le problème des droits d'auteur du contenu généré par l'IA ne peut pas être ignoré, et vous devez être prudent lorsque vous l'utilisez. Explorons ensemble les possibilités infinies de l'IA dans le domaine de la musique! Le dernier agent d'IA d'OpenAI "Openai Deep Research" présente: [Chatgpt] OPE

L'émergence de ChatGPT-4 a considérablement élargi la possibilité de demandes d'IA. Par rapport à GPT-3.5, le chatppt-4 s'est considérablement amélioré. Il a de puissantes capacités de compréhension du contexte et peut également reconnaître et générer des images. C'est un assistant d'IA universel. Il a montré un grand potentiel dans de nombreux domaines tels que l'amélioration de l'efficacité commerciale et l'assistance à la création. Cependant, en même temps, nous devons également prêter attention aux précautions dans son utilisation. Cet article expliquera en détail les caractéristiques de ChatGPT-4 et introduira des méthodes d'utilisation efficaces pour différents scénarios. L'article contient des compétences pour utiliser pleinement les dernières technologies d'IA, veuillez y faire référence. Le dernier agent d'IA d'OpenAI, veuillez cliquer sur le lien ci-dessous pour plus de détails sur "Openai Deep Research"

Application Chatgpt: lâchez votre créativité avec l'assistant AI! Guide du débutant L'application Chatgpt est un assistant AI innovant qui gère un large éventail de tâches, y compris l'écriture, la traduction et la réponse aux questions. Il s'agit d'un outil avec des possibilités infinies qui est utile pour les activités créatives et la collecte d'informations. Dans cet article, nous expliquerons de manière facile à comprendre pour les débutants, de la façon d'installer l'application Smartphone ChatGpt, aux fonctionnalités propres aux applications telles que les fonctions d'entrée vocale et les plugins, ainsi que les points à garder à l'esprit lors de l'utilisation de l'application. Nous allons également examiner de plus près les restrictions du plugin et la synchronisation de la configuration de l'appareil à périphérique

Version chinoise de Chatgpt: déverrouiller une nouvelle expérience du dialogue d'IA chinois Chatgpt est populaire partout dans le monde, saviez-vous qu'il offre également une version chinoise? Cet outil d'IA puissant supporte non seulement les conversations quotidiennes, mais gère également le contenu professionnel et est compatible avec des chinois simplifiés et traditionnels. Qu'il s'agisse d'un utilisateur en Chine ou d'un ami qui apprend le chinois, vous pouvez en bénéficier. Cet article introduira en détail comment utiliser la version chinoise Chatgpt, y compris les paramètres de compte, la saisie des mots invites chinois, l'utilisation du filtre et la sélection de différents packages, et analyser les risques et stratégies de réponse potentiels. De plus, nous comparerons également la version chinoise de Chatgpt avec d'autres outils d'IA chinois pour vous aider à mieux comprendre ses avantages et ses scénarios d'application. La dernière intelligence de l'IA d'Openai

Ceux-ci peuvent être considérés comme le prochain bond en avant dans le domaine de l'IA génératif, qui nous a donné le chatppt et d'autres chatbots de modèle à grande langue. Plutôt que de simplement répondre aux questions ou générer des informations, ils peuvent prendre des mesures en notre nom, inter

Techniques efficaces de gestion des comptes à l'aide de chatppt | Une explication approfondie de la façon d'utiliser la vie commerciale et privée! Chatgpt est utilisé dans une variété de situations, mais certaines personnes peuvent s'inquiéter de gérer plusieurs comptes. Cet article expliquera en détail comment créer plusieurs comptes pour Chatgpt, que faire lors de l'utilisation et comment le faire fonctionner en toute sécurité et efficacement. Nous couvrons également des points importants tels que la différence dans les entreprises et l'utilisation privée, et nous nous conformons aux conditions d'utilisation d'OpenAI, et fournissons un guide pour vous aider à utiliser plusieurs comptes. Openai


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Version Mac de WebStorm
Outils de développement JavaScript utiles
