langroid 0.1.261__tar.gz → 0.1.262__tar.gz

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.
Files changed (132) hide show
  1. {langroid-0.1.261 → langroid-0.1.262}/PKG-INFO +1 -1
  2. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/task.py +21 -4
  3. {langroid-0.1.261 → langroid-0.1.262}/pyproject.toml +1 -1
  4. {langroid-0.1.261 → langroid-0.1.262}/LICENSE +0 -0
  5. {langroid-0.1.261 → langroid-0.1.262}/README.md +0 -0
  6. {langroid-0.1.261 → langroid-0.1.262}/langroid/__init__.py +0 -0
  7. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/__init__.py +0 -0
  8. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/base.py +0 -0
  9. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/batch.py +0 -0
  10. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/callbacks/__init__.py +0 -0
  11. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/callbacks/chainlit.py +0 -0
  12. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/chat_agent.py +0 -0
  13. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/chat_document.py +0 -0
  14. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/helpers.py +0 -0
  15. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/junk +0 -0
  16. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/openai_assistant.py +0 -0
  17. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/__init__.py +0 -0
  18. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/doc_chat_agent.py +0 -0
  19. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/lance_doc_chat_agent.py +0 -0
  20. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/lance_rag/__init__.py +0 -0
  21. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/lance_rag/critic_agent.py +0 -0
  22. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/lance_rag/lance_rag_task.py +0 -0
  23. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/lance_rag/query_planner_agent.py +0 -0
  24. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/lance_tools.py +0 -0
  25. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/neo4j/__init__.py +0 -0
  26. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/neo4j/csv_kg_chat.py +0 -0
  27. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/neo4j/neo4j_chat_agent.py +0 -0
  28. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/neo4j/utils/__init__.py +0 -0
  29. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/neo4j/utils/system_message.py +0 -0
  30. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/relevance_extractor_agent.py +0 -0
  31. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/retriever_agent.py +0 -0
  32. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/sql/__init__.py +0 -0
  33. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/sql/sql_chat_agent.py +0 -0
  34. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/sql/utils/__init__.py +0 -0
  35. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/sql/utils/description_extractors.py +0 -0
  36. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/sql/utils/populate_metadata.py +0 -0
  37. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/sql/utils/system_message.py +0 -0
  38. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/sql/utils/tools.py +0 -0
  39. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/special/table_chat_agent.py +0 -0
  40. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tool_message.py +0 -0
  41. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/__init__.py +0 -0
  42. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/duckduckgo_search_tool.py +0 -0
  43. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/extract_tool.py +0 -0
  44. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/generator_tool.py +0 -0
  45. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/google_search_tool.py +0 -0
  46. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/metaphor_search_tool.py +0 -0
  47. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/recipient_tool.py +0 -0
  48. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/retrieval_tool.py +0 -0
  49. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/run_python_code.py +0 -0
  50. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent/tools/segment_extract_tool.py +0 -0
  51. {langroid-0.1.261 → langroid-0.1.262}/langroid/agent_config.py +0 -0
  52. {langroid-0.1.261 → langroid-0.1.262}/langroid/cachedb/__init__.py +0 -0
  53. {langroid-0.1.261 → langroid-0.1.262}/langroid/cachedb/base.py +0 -0
  54. {langroid-0.1.261 → langroid-0.1.262}/langroid/cachedb/momento_cachedb.py +0 -0
  55. {langroid-0.1.261 → langroid-0.1.262}/langroid/cachedb/redis_cachedb.py +0 -0
  56. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/__init__.py +0 -0
  57. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/base.py +0 -0
  58. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/clustering.py +0 -0
  59. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/models.py +0 -0
  60. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/protoc/__init__.py +0 -0
  61. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/protoc/embeddings.proto +0 -0
  62. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/protoc/embeddings_pb2.py +0 -0
  63. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/protoc/embeddings_pb2.pyi +0 -0
  64. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/protoc/embeddings_pb2_grpc.py +0 -0
  65. {langroid-0.1.261 → langroid-0.1.262}/langroid/embedding_models/remote_embeds.py +0 -0
  66. {langroid-0.1.261 → langroid-0.1.262}/langroid/exceptions.py +0 -0
  67. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/__init__.py +0 -0
  68. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/azure_openai.py +0 -0
  69. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/base.py +0 -0
  70. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/config.py +0 -0
  71. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/openai_assistants.py +0 -0
  72. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/openai_gpt.py +0 -0
  73. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/prompt_formatter/__init__.py +0 -0
  74. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/prompt_formatter/base.py +0 -0
  75. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/prompt_formatter/hf_formatter.py +0 -0
  76. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/prompt_formatter/llama2_formatter.py +0 -0
  77. {langroid-0.1.261 → langroid-0.1.262}/langroid/language_models/utils.py +0 -0
  78. {langroid-0.1.261 → langroid-0.1.262}/langroid/mytypes.py +0 -0
  79. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/__init__.py +0 -0
  80. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/agent_chats.py +0 -0
  81. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/code-parsing.md +0 -0
  82. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/code_parser.py +0 -0
  83. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/config.py +0 -0
  84. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/document_parser.py +0 -0
  85. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/image_text.py +0 -0
  86. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/para_sentence_split.py +0 -0
  87. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/parse_json.py +0 -0
  88. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/parser.py +0 -0
  89. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/parser.pyi +0 -0
  90. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/repo_loader.py +0 -0
  91. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/routing.py +0 -0
  92. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/search.py +0 -0
  93. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/spider.py +0 -0
  94. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/table_loader.py +0 -0
  95. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/url_loader.py +0 -0
  96. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/url_loader_cookies.py +0 -0
  97. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/urls.py +0 -0
  98. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/utils.py +0 -0
  99. {langroid-0.1.261 → langroid-0.1.262}/langroid/parsing/web_search.py +0 -0
  100. {langroid-0.1.261 → langroid-0.1.262}/langroid/prompts/__init__.py +0 -0
  101. {langroid-0.1.261 → langroid-0.1.262}/langroid/prompts/chat-gpt4-system-prompt.md +0 -0
  102. {langroid-0.1.261 → langroid-0.1.262}/langroid/prompts/dialog.py +0 -0
  103. {langroid-0.1.261 → langroid-0.1.262}/langroid/prompts/prompts_config.py +0 -0
  104. {langroid-0.1.261 → langroid-0.1.262}/langroid/prompts/templates.py +0 -0
  105. {langroid-0.1.261 → langroid-0.1.262}/langroid/prompts/transforms.py +0 -0
  106. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/__init__.py +0 -0
  107. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/algorithms/__init__.py +0 -0
  108. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/algorithms/graph.py +0 -0
  109. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/configuration.py +0 -0
  110. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/constants.py +0 -0
  111. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/docker.py +0 -0
  112. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/globals.py +0 -0
  113. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/llms/__init__.py +0 -0
  114. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/llms/strings.py +0 -0
  115. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/logging.py +0 -0
  116. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/output/__init__.py +0 -0
  117. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/output/citations.py +0 -0
  118. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/output/printing.py +0 -0
  119. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/output/status.py +0 -0
  120. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/pandas_utils.py +0 -0
  121. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/pydantic_utils.py +0 -0
  122. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/system.py +0 -0
  123. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/web/__init__.py +0 -0
  124. {langroid-0.1.261 → langroid-0.1.262}/langroid/utils/web/login.py +0 -0
  125. {langroid-0.1.261 → langroid-0.1.262}/langroid/vector_store/__init__.py +0 -0
  126. {langroid-0.1.261 → langroid-0.1.262}/langroid/vector_store/base.py +0 -0
  127. {langroid-0.1.261 → langroid-0.1.262}/langroid/vector_store/chromadb.py +0 -0
  128. {langroid-0.1.261 → langroid-0.1.262}/langroid/vector_store/lancedb.py +0 -0
  129. {langroid-0.1.261 → langroid-0.1.262}/langroid/vector_store/meilisearch.py +0 -0
  130. {langroid-0.1.261 → langroid-0.1.262}/langroid/vector_store/momento.py +0 -0
  131. {langroid-0.1.261 → langroid-0.1.262}/langroid/vector_store/qdrant_cloud.py +0 -0
  132. {langroid-0.1.261 → langroid-0.1.262}/langroid/vector_store/qdrantdb.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langroid
3
- Version: 0.1.261
3
+ Version: 0.1.262
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  License: MIT
6
6
  Author: Prasad Chalasani
@@ -787,7 +787,7 @@ class Task:
787
787
  # skip trying other responders in this step
788
788
  break
789
789
  if not found_response:
790
- self._process_invalid_step_result()
790
+ self._process_invalid_step_result(parent)
791
791
  self._show_pending_message_if_debug()
792
792
  return self.pending_message
793
793
 
@@ -879,7 +879,7 @@ class Task:
879
879
  # skip trying other responders in this step
880
880
  break
881
881
  if not found_response:
882
- self._process_invalid_step_result()
882
+ self._process_invalid_step_result(parent)
883
883
  self._show_pending_message_if_debug()
884
884
  return self.pending_message
885
885
 
@@ -916,11 +916,28 @@ class Task:
916
916
  self.message_counter.update([hashed_msg])
917
917
  self.history.append(hashed_msg)
918
918
 
919
- def _process_invalid_step_result(self) -> None:
919
+ def _process_invalid_step_result(self, parent: ChatDocument | None) -> None:
920
920
  """
921
- No valid result from any responder => increment stalled counter.
921
+ Since step had no valid result from any responder, decide whether to update the
922
+ self.pending_message to a NO_ANSWER message from the opposite entity,
923
+ or leave it as is.
924
+ Args:
925
+ parent (ChatDocument|None): parent message of the current message
922
926
  """
923
927
  self.n_stalled_steps += 1
928
+ if (not self.task_progress or self.allow_null_result) and not self.is_pass_thru:
929
+ # There has been no progress at all in this task, so we
930
+ # update the pending_message to a dummy NO_ANSWER msg
931
+ # from the entity 'opposite' to the current pending_sender,
932
+ # so we show "progress" and avoid getting stuck in an infinite loop.
933
+ responder = (
934
+ Entity.LLM if self.pending_sender == Entity.USER else Entity.USER
935
+ )
936
+ self.pending_message = ChatDocument(
937
+ content=NO_ANSWER,
938
+ metadata=ChatDocMetaData(sender=responder, parent=parent),
939
+ )
940
+ self.pending_sender = responder
924
941
  self.log_message(self.pending_sender, self.pending_message, mark=True)
925
942
 
926
943
  def _show_pending_message_if_debug(self) -> None:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "langroid"
3
- version = "0.1.261"
3
+ version = "0.1.262"
4
4
  description = "Harness LLMs with Multi-Agent Programming"
5
5
  authors = ["Prasad Chalasani <pchalasani@gmail.com>"]
6
6
  readme = "README.md"
File without changes
File without changes