langroid 0.27.2__tar.gz → 0.27.4__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 (148) hide show
  1. {langroid-0.27.2 → langroid-0.27.4}/PKG-INFO +2 -2
  2. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/base.py +5 -1
  3. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/base.py +12 -3
  4. {langroid-0.27.2 → langroid-0.27.4}/pyproject.toml +2 -2
  5. {langroid-0.27.2 → langroid-0.27.4}/LICENSE +0 -0
  6. {langroid-0.27.2 → langroid-0.27.4}/README.md +0 -0
  7. {langroid-0.27.2 → langroid-0.27.4}/langroid/__init__.py +0 -0
  8. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/__init__.py +0 -0
  9. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/batch.py +0 -0
  10. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/callbacks/__init__.py +0 -0
  11. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/callbacks/chainlit.py +0 -0
  12. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/chat_agent.py +0 -0
  13. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/chat_document.py +0 -0
  14. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/helpers.py +0 -0
  15. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/junk +0 -0
  16. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/openai_assistant.py +0 -0
  17. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/__init__.py +0 -0
  18. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/arangodb/__init__.py +0 -0
  19. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/arangodb/arangodb_agent.py +0 -0
  20. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/arangodb/system_messages.py +0 -0
  21. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/arangodb/tools.py +0 -0
  22. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/arangodb/utils.py +0 -0
  23. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/doc_chat_agent.py +0 -0
  24. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/lance_doc_chat_agent.py +0 -0
  25. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/lance_rag/__init__.py +0 -0
  26. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/lance_rag/critic_agent.py +0 -0
  27. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/lance_rag/lance_rag_task.py +0 -0
  28. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/lance_rag/query_planner_agent.py +0 -0
  29. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/lance_tools.py +0 -0
  30. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/neo4j/__init__.py +0 -0
  31. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/neo4j/csv_kg_chat.py +0 -0
  32. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/neo4j/neo4j_chat_agent.py +0 -0
  33. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/neo4j/system_messages.py +0 -0
  34. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/neo4j/tools.py +0 -0
  35. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/relevance_extractor_agent.py +0 -0
  36. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/retriever_agent.py +0 -0
  37. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/sql/__init__.py +0 -0
  38. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/sql/sql_chat_agent.py +0 -0
  39. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/sql/utils/__init__.py +0 -0
  40. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/sql/utils/description_extractors.py +0 -0
  41. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/sql/utils/populate_metadata.py +0 -0
  42. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/sql/utils/system_message.py +0 -0
  43. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/sql/utils/tools.py +0 -0
  44. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/special/table_chat_agent.py +0 -0
  45. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/structured_message.py +0 -0
  46. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/task.py +0 -0
  47. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tool_message.py +0 -0
  48. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/__init__.py +0 -0
  49. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/duckduckgo_search_tool.py +0 -0
  50. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/file_tools.py +0 -0
  51. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/google_search_tool.py +0 -0
  52. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/metaphor_search_tool.py +0 -0
  53. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/orchestration.py +0 -0
  54. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/recipient_tool.py +0 -0
  55. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/retrieval_tool.py +0 -0
  56. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/rewind_tool.py +0 -0
  57. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/tools/segment_extract_tool.py +0 -0
  58. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/typed_task.py +0 -0
  59. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent/xml_tool_message.py +0 -0
  60. {langroid-0.27.2 → langroid-0.27.4}/langroid/agent_config.py +0 -0
  61. {langroid-0.27.2 → langroid-0.27.4}/langroid/cachedb/__init__.py +0 -0
  62. {langroid-0.27.2 → langroid-0.27.4}/langroid/cachedb/base.py +0 -0
  63. {langroid-0.27.2 → langroid-0.27.4}/langroid/cachedb/momento_cachedb.py +0 -0
  64. {langroid-0.27.2 → langroid-0.27.4}/langroid/cachedb/redis_cachedb.py +0 -0
  65. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/__init__.py +0 -0
  66. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/base.py +0 -0
  67. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/clustering.py +0 -0
  68. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/models.py +0 -0
  69. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/protoc/__init__.py +0 -0
  70. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/protoc/embeddings.proto +0 -0
  71. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/protoc/embeddings_pb2.py +0 -0
  72. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/protoc/embeddings_pb2.pyi +0 -0
  73. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/protoc/embeddings_pb2_grpc.py +0 -0
  74. {langroid-0.27.2 → langroid-0.27.4}/langroid/embedding_models/remote_embeds.py +0 -0
  75. {langroid-0.27.2 → langroid-0.27.4}/langroid/exceptions.py +0 -0
  76. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/.chainlit/config.toml +0 -0
  77. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/.chainlit/translations/en-US.json +0 -0
  78. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/__init__.py +0 -0
  79. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/azure_openai.py +0 -0
  80. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/config.py +0 -0
  81. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/mock_lm.py +0 -0
  82. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/openai_gpt.py +0 -0
  83. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/prompt_formatter/__init__.py +0 -0
  84. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/prompt_formatter/base.py +0 -0
  85. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/prompt_formatter/hf_formatter.py +0 -0
  86. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/prompt_formatter/llama2_formatter.py +0 -0
  87. {langroid-0.27.2 → langroid-0.27.4}/langroid/language_models/utils.py +0 -0
  88. {langroid-0.27.2 → langroid-0.27.4}/langroid/mytypes.py +0 -0
  89. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/__init__.py +0 -0
  90. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/agent_chats.py +0 -0
  91. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/code-parsing.md +0 -0
  92. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/code_parser.py +0 -0
  93. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/config.py +0 -0
  94. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/document_parser.py +0 -0
  95. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/image_text.py +0 -0
  96. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/para_sentence_split.py +0 -0
  97. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/parse_json.py +0 -0
  98. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/parser.py +0 -0
  99. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/repo_loader.py +0 -0
  100. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/routing.py +0 -0
  101. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/search.py +0 -0
  102. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/spider.py +0 -0
  103. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/table_loader.py +0 -0
  104. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/url_loader.py +0 -0
  105. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/url_loader_cookies.py +0 -0
  106. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/urls.py +0 -0
  107. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/utils.py +0 -0
  108. {langroid-0.27.2 → langroid-0.27.4}/langroid/parsing/web_search.py +0 -0
  109. {langroid-0.27.2 → langroid-0.27.4}/langroid/prompts/__init__.py +0 -0
  110. {langroid-0.27.2 → langroid-0.27.4}/langroid/prompts/chat-gpt4-system-prompt.md +0 -0
  111. {langroid-0.27.2 → langroid-0.27.4}/langroid/prompts/dialog.py +0 -0
  112. {langroid-0.27.2 → langroid-0.27.4}/langroid/prompts/prompts_config.py +0 -0
  113. {langroid-0.27.2 → langroid-0.27.4}/langroid/prompts/templates.py +0 -0
  114. {langroid-0.27.2 → langroid-0.27.4}/langroid/py.typed +0 -0
  115. {langroid-0.27.2 → langroid-0.27.4}/langroid/pydantic_v1/__init__.py +0 -0
  116. {langroid-0.27.2 → langroid-0.27.4}/langroid/pydantic_v1/main.py +0 -0
  117. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/.chainlit/config.toml +0 -0
  118. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/.chainlit/translations/en-US.json +0 -0
  119. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/__init__.py +0 -0
  120. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/algorithms/__init__.py +0 -0
  121. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/algorithms/graph.py +0 -0
  122. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/configuration.py +0 -0
  123. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/constants.py +0 -0
  124. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/docker.py +0 -0
  125. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/git_utils.py +0 -0
  126. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/globals.py +0 -0
  127. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/llms/__init__.py +0 -0
  128. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/llms/strings.py +0 -0
  129. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/logging.py +0 -0
  130. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/object_registry.py +0 -0
  131. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/output/__init__.py +0 -0
  132. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/output/citations.py +0 -0
  133. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/output/printing.py +0 -0
  134. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/output/status.py +0 -0
  135. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/pandas_utils.py +0 -0
  136. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/pydantic_utils.py +0 -0
  137. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/system.py +0 -0
  138. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/types.py +0 -0
  139. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/web/__init__.py +0 -0
  140. {langroid-0.27.2 → langroid-0.27.4}/langroid/utils/web/login.py +0 -0
  141. {langroid-0.27.2 → langroid-0.27.4}/langroid/vector_store/__init__.py +0 -0
  142. {langroid-0.27.2 → langroid-0.27.4}/langroid/vector_store/base.py +0 -0
  143. {langroid-0.27.2 → langroid-0.27.4}/langroid/vector_store/chromadb.py +0 -0
  144. {langroid-0.27.2 → langroid-0.27.4}/langroid/vector_store/lancedb.py +0 -0
  145. {langroid-0.27.2 → langroid-0.27.4}/langroid/vector_store/meilisearch.py +0 -0
  146. {langroid-0.27.2 → langroid-0.27.4}/langroid/vector_store/momento.py +0 -0
  147. {langroid-0.27.2 → langroid-0.27.4}/langroid/vector_store/qdrant_cloud.py +0 -0
  148. {langroid-0.27.2 → langroid-0.27.4}/langroid/vector_store/qdrantdb.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langroid
3
- Version: 0.27.2
3
+ Version: 0.27.4
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  License: MIT
6
6
  Author: Prasad Chalasani
@@ -77,7 +77,7 @@ Requires-Dist: pdfplumber (>=0.10.2,<0.11.0) ; extra == "doc-chat" or extra == "
77
77
  Requires-Dist: prettytable (>=3.8.0,<4.0.0)
78
78
  Requires-Dist: psycopg2 (>=2.9.7,<3.0.0) ; extra == "db" or extra == "all" or extra == "postgres" or extra == "sql"
79
79
  Requires-Dist: pyarrow (==15.0.0) ; extra == "vecdbs" or extra == "lancedb"
80
- Requires-Dist: pydantic (>=1,<3)
80
+ Requires-Dist: pydantic (>=1,<2.10.2)
81
81
  Requires-Dist: pygithub (>=1.58.1,<2.0.0)
82
82
  Requires-Dist: pygments (>=2.15.1,<3.0.0)
83
83
  Requires-Dist: pymupdf (>=1.23.3,<2.0.0) ; extra == "doc-chat" or extra == "all" or extra == "pdf-parsers"
@@ -116,6 +116,10 @@ async def async_noop_fn(*args: List[Any], **kwargs: Dict[str, Any]) -> None:
116
116
  pass
117
117
 
118
118
 
119
+ async def async_lambda_noop_fn() -> Callable[..., Coroutine[Any, Any, None]]:
120
+ return async_noop_fn
121
+
122
+
119
123
  class Agent(ABC):
120
124
  """
121
125
  An Agent is an abstraction that encapsulates mainly two components:
@@ -169,7 +173,7 @@ class Agent(ABC):
169
173
 
170
174
  self.callbacks = SimpleNamespace(
171
175
  start_llm_stream=lambda: noop_fn,
172
- start_llm_stream_async=async_noop_fn,
176
+ start_llm_stream_async=async_lambda_noop_fn,
173
177
  cancel_llm_stream=noop_fn,
174
178
  finish_llm_stream=noop_fn,
175
179
  show_llm_response=noop_fn,
@@ -1,4 +1,3 @@
1
- import ast
2
1
  import json
3
2
  import logging
4
3
  from abc import ABC, abstractmethod
@@ -21,7 +20,7 @@ from typing import (
21
20
  from langroid.cachedb.base import CacheDBConfig
22
21
  from langroid.cachedb.redis_cachedb import RedisCacheConfig
23
22
  from langroid.parsing.agent_chats import parse_message
24
- from langroid.parsing.parse_json import top_level_json_field
23
+ from langroid.parsing.parse_json import parse_imperfect_json, top_level_json_field
25
24
  from langroid.prompts.dialog import collate_chat_history
26
25
  from langroid.pydantic_v1 import BaseModel, BaseSettings, Field
27
26
  from langroid.utils.configuration import settings
@@ -97,7 +96,17 @@ class LLMFunctionCall(BaseModel):
97
96
  # so we try to be safe by removing newlines.
98
97
  if fun_args_str is not None:
99
98
  fun_args_str = fun_args_str.replace("\n", "").strip()
100
- fun_args = ast.literal_eval(fun_args_str)
99
+ dict_or_list = parse_imperfect_json(fun_args_str)
100
+
101
+ if not isinstance(dict_or_list, dict):
102
+ raise ValueError(
103
+ f"""
104
+ Invalid function args: {fun_args_str}
105
+ parsed as {dict_or_list},
106
+ which is not a valid dict.
107
+ """
108
+ )
109
+ fun_args = dict_or_list
101
110
  else:
102
111
  fun_args = None
103
112
  fun_call.arguments = fun_args
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "langroid"
3
- version = "0.27.2"
3
+ version = "0.27.4"
4
4
  description = "Harness LLMs with Multi-Agent Programming"
5
5
  authors = ["Prasad Chalasani <pchalasani@gmail.com>"]
6
6
  readme = "README.md"
@@ -64,7 +64,7 @@ requests = "^2.31.0"
64
64
  pyparsing = "^3.0.9"
65
65
  nltk = "^3.8.2"
66
66
  qdrant-client = "^1.8.0"
67
- pydantic = ">=1,<3"
67
+ pydantic = ">=1,<2.10.2"
68
68
  pandas = "^2.0.3"
69
69
  prettytable = "^3.8.0"
70
70
 
File without changes
File without changes
File without changes
File without changes
File without changes