--- name: agent-supervisor version: 1.0.0 description: Demonstrate a supervisor-worker architecture for intelligent task delegation and real-time decision-making. inputs: - name: OPENAI_API_KEY description: OpenAI API key for language models. - name: TAVILY_API_KEY description: Tavily API key for search functionality. steps: - step: 1 action: Load environment variables. details: Set the OPENAI_API_KEY and TAVILY_API_KEY environment variables. - step: 2 action: Configure LangChain tools. details: Initialize TavilySearchResults and PythonREPLTool. - step: 3 action: Define agent nodes. details: Create functions for the Researcher and Coder agents that process state through their respective tasks. - step: 4 action: Set up supervisor agent. details: Create a supervisor agent function that decides which worker should act next based on user input. - step: 5 action: Build state graph. details: Construct the state graph with nodes for each agent and edges connecting them to the supervisor node. - step: 6 action: Add conditional edges. details: Define conditions for transitioning between agents based on their responses. - step: 7 action: Compile graph. details: Compile the state graph into a runnable workflow. - step: 8 action: Run example queries. details: Stream through the workflow with example inputs to demonstrate its functionality. outputs: - name: 'Example 1: Code Hello World' description: A demonstration of coding a simple hello world program. - name: 'Example 2: Research Report' description: A demonstration of researching and writing a brief report on pikas. tags: [] metadata: source_repo: https://github.com/extrawest/multi_agent_workflow_demo_in_langgraph.git extracted_at: '' confidence: 0.9 --- # agent-supervisor Demonstrate a supervisor-worker architecture for intelligent task delegation and real-time decision-making. ## Steps 1. {'step': 1, 'action': 'Load environment variables.', 'details': 'Set the OPENAI_API_KEY and TAVILY_API_KEY environment variables.'} 2. {'step': 2, 'action': 'Configure LangChain tools.', 'details': 'Initialize TavilySearchResults and PythonREPLTool.'} 3. {'step': 3, 'action': 'Define agent nodes.', 'details': 'Create functions for the Researcher and Coder agents that process state through their respective tasks.'} 4. {'step': 4, 'action': 'Set up supervisor agent.', 'details': 'Create a supervisor agent function that decides which worker should act next based on user input.'} 5. {'step': 5, 'action': 'Build state graph.', 'details': 'Construct the state graph with nodes for each agent and edges connecting them to the supervisor node.'} 6. {'step': 6, 'action': 'Add conditional edges.', 'details': 'Define conditions for transitioning between agents based on their responses.'} 7. {'step': 7, 'action': 'Compile graph.', 'details': 'Compile the state graph into a runnable workflow.'} 8. {'step': 8, 'action': 'Run example queries.', 'details': 'Stream through the workflow with example inputs to demonstrate its functionality.'} ## Inputs - {'name': 'OPENAI_API_KEY', 'description': 'OpenAI API key for language models.'} - {'name': 'TAVILY_API_KEY', 'description': 'Tavily API key for search functionality.'} ## Outputs - {'name': 'Example 1: Code Hello World', 'description': 'A demonstration of coding a simple hello world program.'} - {'name': 'Example 2: Research Report', 'description': 'A demonstration of researching and writing a brief report on pikas.'} ## Failure Modes - {'mode': 'Invalid API keys', 'description': 'The workflow may fail if the provided API keys are invalid or expired.'} - {'mode': 'Insufficient permissions', 'description': 'The workflow may fail if the user does not have sufficient permissions to use the Tavily search functionality.'} ## Source Extracted from: [https://github.com/extrawest/multi_agent_workflow_demo_in_langgraph.git](https://github.com/extrawest/multi_agent_workflow_demo_in_langgraph.git) Confidence: 0.9