langroid 0.56.3__py3-none-any.whl → 0.56.4__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.
langroid/agent/base.py CHANGED
@@ -265,8 +265,10 @@ class Agent(ABC):
265
265
  """
266
266
  sig = inspect.signature(handler_method)
267
267
  params = list(sig.parameters.values())
268
- # Remove 'self' parameter
269
- params = [p for p in params if p.name != "self"]
268
+ # Remove the first 'self' parameter
269
+ params = params[1:]
270
+ # Don't use name
271
+ # [p for p in params if p.name != "self"]
270
272
 
271
273
  agent_param = None
272
274
  chat_doc_param = None
@@ -277,18 +279,30 @@ class Agent(ABC):
277
279
  if param.annotation != inspect.Parameter.empty:
278
280
  ann_str = str(param.annotation)
279
281
  # Check for Agent-like types
282
+ print(param, inspect.isclass(param.annotation))
283
+ print(param, issubclass(param.annotation, Agent))
284
+ print(param, param.annotation is ChatDocument)
280
285
  if (
281
- param.annotation == self.__class__
282
- or "Agent" in ann_str
283
- or (
284
- hasattr(param.annotation, "__name__")
285
- and "Agent" in param.annotation.__name__
286
+ inspect.isclass(param.annotation)
287
+ and issubclass(param.annotation, Agent)
288
+ ) or (
289
+ not inspect.isclass(param.annotation)
290
+ and (
291
+ "Agent" in ann_str
292
+ or (
293
+ hasattr(param.annotation, "__name__")
294
+ and "Agent" in param.annotation.__name__
295
+ )
286
296
  )
287
297
  ):
288
298
  agent_param = param.name
289
299
  has_annotations = True
290
300
  # Check for ChatDocument-like types
291
- elif "ChatDocument" in ann_str or "ChatDoc" in ann_str:
301
+ elif (
302
+ param.annotation is ChatDocument
303
+ or "ChatDocument" in ann_str
304
+ or "ChatDoc" in ann_str
305
+ ):
292
306
  chat_doc_param = param.name
293
307
  has_annotations = True
294
308
 
@@ -298,12 +312,12 @@ class Agent(ABC):
298
312
  elif param.name == "chat_doc":
299
313
  chat_doc_param = param.name
300
314
 
315
+ print(has_annotations, agent_param, chat_doc_param)
301
316
  return has_annotations, agent_param, chat_doc_param
302
317
 
303
318
  @no_type_check
304
319
  def _create_handler_wrapper(
305
320
  self,
306
- message_class: Type[ToolMessage],
307
321
  handler_method: Any,
308
322
  is_async: bool = False,
309
323
  ) -> Any:
@@ -320,7 +334,8 @@ class Agent(ABC):
320
334
  """
321
335
  sig = inspect.signature(handler_method)
322
336
  params = list(sig.parameters.values())
323
- params = [p for p in params if p.name != "self"]
337
+ params = params[1:]
338
+ # params = [p for p in params if p.name != "self"]
324
339
 
325
340
  has_annotations, agent_param, chat_doc_param = self._analyze_handler_params(
326
341
  handler_method,
@@ -471,7 +486,6 @@ class Agent(ABC):
471
486
  See `tests/main/test_stateless_tool_messages.py` for an example.
472
487
  """
473
488
  wrapper = self._create_handler_wrapper(
474
- message_class,
475
489
  message_class.handle,
476
490
  is_async=False,
477
491
  )
@@ -521,7 +535,6 @@ class Agent(ABC):
521
535
  and not hasattr(self, async_handler_name)
522
536
  ):
523
537
  wrapper = self._create_handler_wrapper(
524
- message_class,
525
538
  message_class.handle_async,
526
539
  is_async=True,
527
540
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langroid
3
- Version: 0.56.3
3
+ Version: 0.56.4
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  Author-email: Prasad Chalasani <pchalasani@gmail.com>
6
6
  License: MIT
@@ -3,7 +3,7 @@ langroid/exceptions.py,sha256=OPjece_8cwg94DLPcOGA1ddzy5bGh65pxzcHMnssTz8,2995
3
3
  langroid/mytypes.py,sha256=HIcYAqGeA9OK0Hlscym2FI5Oax9QFljDZoVgRlomhRk,4014
4
4
  langroid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  langroid/agent/__init__.py,sha256=ll0Cubd2DZ-fsCMl7e10hf9ZjFGKzphfBco396IKITY,786
6
- langroid/agent/base.py,sha256=a45iqoWet2W60h4wUIOyHDYlotgS0asqIjfbONT4fZQ,85706
6
+ langroid/agent/base.py,sha256=EMZGPVSqd4_optr9_FG1TLRF8-noEAloen8J4c7Ayto,86262
7
7
  langroid/agent/batch.py,sha256=wpE9RqCNDVDhAXkCB7wEqfCIEAi6qKcrhaZ-Zr9T4C0,21375
8
8
  langroid/agent/chat_agent.py,sha256=2HIYzYxkrGkRIS97ioKfIqjaW3RbX89M39LjzBobBEY,88381
9
9
  langroid/agent/chat_document.py,sha256=0e6zYkqIorMIVbCsxOul9ziwAPPOWDsBsRV9E8ux-WI,18055
@@ -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.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,,
140
+ langroid-0.56.4.dist-info/METADATA,sha256=punxDL35bHKw4J-PDHEMYfWvwb7gu3ccpuMlTPmU1GU,65744
141
+ langroid-0.56.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
142
+ langroid-0.56.4.dist-info/licenses/LICENSE,sha256=EgVbvA6VSYgUlvC3RvPKehSg7MFaxWDsFuzLOsPPfJg,1065
143
+ langroid-0.56.4.dist-info/RECORD,,