mlflow.langchain.autolog() raises ParentCommand Error when supervisor is about to handoff to subagent #4971
Unanswered
honghu-xue-ce
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Dear community,
I encounter a problem when the supervisor agent is about to handoff to its sub-agent. It raises an Parent Command Error (not sure whether it is an exception or an error). In my code, I set as follows:
mlflow.set_tracking_uri(MLFLOW_TRACKING_URI)
mlflow.set_experiment(EXPERIMENT_NAME)
mlflow.autolog(disable=True)
mlflow.langchain.autolog()
mlflow>=2.20.3
langgraph>=0.2.73
langchain>=0.3.19
langgraph-supervisor>=0.0.15
The error message is below. How to fix that error/exception?
The exception.message is shown as:
"Command(graph='parent', update={'messages': [HumanMessage(content='[]', additional_kwargs={}, response_metadata={}, id='856fbf56-ca9a-41fb-b8f0-cdb3cacb6c99'), AIMessage(content='', additional_kwargs={'tool_calls': [{'id': 'call_ TY0rtMbrfZesrWQd9GwM9', 'function': {'arguments': '{}', 'name': 'transfer_to_sub_agent'}, 'type': 'function'}], 'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 14, 'prompt_tokens': 1968, 'total_tokens': 1982, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_name': 'gpt-4o-2024-11-20', 'system_fingerprint': '…’, 'finish_reason': 'tool_calls', 'logprobs': None, 'content_filter_results': {}}, name='supervisor', id=’…', tool_calls=[{'name': 'transfer_to_sub_agent', 'args': {}, 'id': 'call_ TY0rtMbrfZesrWQd9GwM9', 'type': 'tool_call'}], usage_metadata={'input_tokens': 1968, 'output_tokens': 14, 'total_tokens': 1982, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}}), ToolMessage(content='Successfully transferred to sub_agent', name='transfer_to_sub_agent', tool_call_id='call_ TY0rtMbrfZesrWQd9GwM9')]}, goto='sub_agent')"
The exception.stacktrace is shown as:
"Traceback (most recent call last):\n File "/app/.venv/lib/python3.11/site-packages/langgraph/utils/runnable.py", line 608, in invoke\n input = step.invoke(input, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/utils/autologging_utils/safety.py", line 483, in safe_patch_function\n patch_function(call_original, *args, **kwargs)\n File "/app/.venv/lib/python3.11/site-packages/mlflow/langchain/_langchain_autolog.py", line 74, in patched_inference\n result = _invoke(self, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/langchain/_langchain_autolog.py", line 66, in _invoke\n return original(self, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/utils/autologging_utils/safety.py", line 474, in call_original\n return call_original_fn_with_event_logging(_original_fn, og_args, og_kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/utils/autologging_utils/safety.py", line 425, in call_original_fn_with_event_logging\n original_fn_result = original_fn(og_args, **og_kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/utils/autologging_utils/safety.py", line 471, in _original_fn\n original_result = original(_og_args, **_og_kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/langgraph/utils/runnable.py", line 371, in invoke\n ret = context.run(self.func, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/langgraph/graph/branch.py", line 167, in _route\n result = self.path.invoke(value, config)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/utils/autologging_utils/safety.py", line 483, in safe_patch_function\n patch_function(call_original, *args, **kwargs)\n File "/app/.venv/lib/python3.11/site-packages/mlflow/langchain/_langchain_autolog.py", line 74, in patched_inference\n result = _invoke(self, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/langchain/_langchain_autolog.py", line 66, in _invoke\n return original(self, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/utils/autologging_utils/safety.py", line 474, in call_original\n return call_original_fn_with_event_logging(_original_fn, og_args, og_kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/utils/autologging_utils/safety.py", line 425, in call_original_fn_with_event_logging\n original_fn_result = original_fn(og_args, **og_kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/mlflow/utils/autologging_utils/safety.py", line 471, in _original_fn\n original_result = original(_og_args, **_og_kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/langgraph/utils/runnable.py", line 371, in invoke\n ret = context.run(self.func, *args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/app/.venv/lib/python3.11/site-packages/langgraph/graph/state.py", line 1084, in control_branch\n raise ParentCommand(command)\nlanggraph.errors.ParentCommand: Command(graph='parent', update={'messages': [HumanMessage(content='[….]', additional_kwargs={}, response_metadata={}, id='…'), AIMessage(content='', additional_kwargs={'tool_calls': [{'id': …', 'function': {'arguments': '{}', 'name': 'transfer_to_subagent'}, 'type': 'function'}], 'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 14, 'prompt_tokens': 1968, 'total_tokens': 1982, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_name': '…', 'system_fingerprint': '…, ', 'finish_reason': 'tool_calls', 'logprobs': None, 'content_filter_results': {}}, name='supervisor', id='…’, tool_calls=[{'name': 'transfer_to_sub_agent', 'args': {}, 'id': 'call_TY0rtMbrfZesrWQd9GwM9', 'type': 'tool_call'}], usage_metadata={'input_tokens': 1968, 'output_tokens': 14, 'total_tokens': 1982, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}}), ToolMessage(content='Successfully transferred to sub_agent', name='transfer_to_sub_agent', tool_call_id='call TY0rtMbrfZesrWQd9GwM9')]}, goto='sub_agent')"
Beta Was this translation helpful? Give feedback.
All reactions