langroid 0.56.2__py3-none-any.whl → 0.56.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,7 @@ TaskTool: A tool that allows agents to delegate a task to a sub-agent with
3
3
  specific tools enabled.
4
4
  """
5
5
 
6
+ import uuid
6
7
  from typing import List, Optional
7
8
 
8
9
  import langroid.language_models as lm
@@ -17,6 +18,10 @@ from langroid.pydantic_v1 import Field
17
18
  class TaskTool(ToolMessage):
18
19
  """
19
20
  Tool that spawns a sub-agent with specified tools to handle a task.
21
+
22
+ The sub-agent can be given a custom name for identification in logs.
23
+ If no name is provided, a random unique name starting with 'agent'
24
+ will be generated.
20
25
  """
21
26
 
22
27
  request: str = "task_tool"
@@ -24,11 +29,7 @@ class TaskTool(ToolMessage):
24
29
  <HowToUse>
25
30
  Use this tool to delegate a task to a sub-agent with specific tools enabled.
26
31
  The sub-agent will be created with the specified tools and will run the task
27
- non-interactively. Here is how to set the fields:
28
-
29
- - `system_message`:
30
-
31
-
32
+ non-interactively.
32
33
  """
33
34
 
34
35
  # Parameters for the agent tool
@@ -87,6 +88,14 @@ class TaskTool(ToolMessage):
87
88
  default=None,
88
89
  description="Optional max iterations for the sub-agent to run the task",
89
90
  )
91
+ agent_name: Optional[str] = Field(
92
+ default=None,
93
+ description="""
94
+ Optional name for the sub-agent. This will be used as the agent's name
95
+ in logs and for identification purposes. If not provided, a random unique
96
+ name starting with 'agent' will be generated.
97
+ """,
98
+ )
90
99
 
91
100
  def _set_up_task(self, agent: ChatAgent) -> Task:
92
101
  """
@@ -95,6 +104,9 @@ class TaskTool(ToolMessage):
95
104
  Args:
96
105
  agent: The parent ChatAgent that is handling this tool
97
106
  """
107
+ # Generate a random name if not provided
108
+ agent_name = self.agent_name or f"agent-{str(uuid.uuid4())[:8]}"
109
+
98
110
  # Create chat agent config with system message if provided
99
111
  # TODO: Maybe we just copy the parent agent's config and override chat_model?
100
112
  # -- but what if parent agent has a MockLMConfig?
@@ -102,6 +114,7 @@ class TaskTool(ToolMessage):
102
114
  chat_model=self.model or "gpt-4.1-mini", # Default model if not specified
103
115
  )
104
116
  config = ChatAgentConfig(
117
+ name=agent_name,
105
118
  llm=llm_config,
106
119
  system_message=f"""
107
120
  {self.system_message}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langroid
3
- Version: 0.56.2
3
+ Version: 0.56.3
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  Author-email: Prasad Chalasani <pchalasani@gmail.com>
6
6
  License: MIT
@@ -54,7 +54,7 @@ langroid/agent/tools/recipient_tool.py,sha256=dr0yTxgNEIoxUYxH6TtaExC4G_8WdJ0xGo
54
54
  langroid/agent/tools/retrieval_tool.py,sha256=zcAV20PP_6VzSd-UE-IJcabaBseFL_QNz59Bnig8-lE,946
55
55
  langroid/agent/tools/rewind_tool.py,sha256=XAXL3BpNhCmBGYq_qi_sZfHJuIw7NY2jp4wnojJ7WRs,5606
56
56
  langroid/agent/tools/segment_extract_tool.py,sha256=__srZ_VGYLVOdPrITUM8S0HpmX4q7r5FHWMDdHdEv8w,1440
57
- langroid/agent/tools/task_tool.py,sha256=O-3-tALocGuwfxXikBzRWFenFKZWIlOoRVvnZ5mf7io,6514
57
+ langroid/agent/tools/task_tool.py,sha256=VOHWv8uFPRczf6qp8YZPpUirkCqE6YVhN6jgXCvdpe0,7102
58
58
  langroid/agent/tools/tavily_search_tool.py,sha256=soI-j0HdgVQLf09wRQScaEK4b5RpAX9C4cwOivRFWWI,1903
59
59
  langroid/agent/tools/mcp/__init__.py,sha256=DJNM0VeFnFS3pJKCyFGggT8JVjVu0rBzrGzasT1HaSM,387
60
60
  langroid/agent/tools/mcp/decorators.py,sha256=h7dterhsmvWJ8q4mp_OopmuG2DF71ty8cZwOyzdDZuk,1127
@@ -137,7 +137,7 @@ langroid/vector_store/pineconedb.py,sha256=otxXZNaBKb9f_H75HTaU3lMHiaR2NUp5MqwLZ
137
137
  langroid/vector_store/postgres.py,sha256=wHPtIi2qM4fhO4pMQr95pz1ZCe7dTb2hxl4VYspGZoA,16104
138
138
  langroid/vector_store/qdrantdb.py,sha256=O6dSBoDZ0jzfeVBd7LLvsXu083xs2fxXtPa9gGX3JX4,18443
139
139
  langroid/vector_store/weaviatedb.py,sha256=Yn8pg139gOy3zkaPfoTbMXEEBCiLiYa1MU5d_3UA1K4,11847
140
- langroid-0.56.2.dist-info/METADATA,sha256=xViaD-RgD0cPpfoT2q50ORTwar8EgXJjRVWuifS7dKw,65744
141
- langroid-0.56.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
142
- langroid-0.56.2.dist-info/licenses/LICENSE,sha256=EgVbvA6VSYgUlvC3RvPKehSg7MFaxWDsFuzLOsPPfJg,1065
143
- langroid-0.56.2.dist-info/RECORD,,
140
+ langroid-0.56.3.dist-info/METADATA,sha256=P1MyFhTAmuXHUsTO6qPMUPs4GRhAMCAVReMNBHJYkZU,65744
141
+ langroid-0.56.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
142
+ langroid-0.56.3.dist-info/licenses/LICENSE,sha256=EgVbvA6VSYgUlvC3RvPKehSg7MFaxWDsFuzLOsPPfJg,1065
143
+ langroid-0.56.3.dist-info/RECORD,,