langroid 0.6.4__tar.gz → 0.6.6__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 (140) hide show
  1. {langroid-0.6.4 → langroid-0.6.6}/PKG-INFO +1 -1
  2. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/neo4j/neo4j_chat_agent.py +10 -3
  3. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/neo4j/utils/system_message.py +2 -1
  4. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/parse_json.py +8 -0
  5. {langroid-0.6.4 → langroid-0.6.6}/pyproject.toml +1 -1
  6. {langroid-0.6.4 → langroid-0.6.6}/LICENSE +0 -0
  7. {langroid-0.6.4 → langroid-0.6.6}/README.md +0 -0
  8. {langroid-0.6.4 → langroid-0.6.6}/langroid/__init__.py +0 -0
  9. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/__init__.py +0 -0
  10. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/base.py +0 -0
  11. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/batch.py +0 -0
  12. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/callbacks/__init__.py +0 -0
  13. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/callbacks/chainlit.py +0 -0
  14. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/chat_agent.py +0 -0
  15. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/chat_document.py +0 -0
  16. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/helpers.py +0 -0
  17. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/junk +0 -0
  18. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/openai_assistant.py +0 -0
  19. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/__init__.py +0 -0
  20. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/doc_chat_agent.py +0 -0
  21. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_doc_chat_agent.py +0 -0
  22. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_rag/__init__.py +0 -0
  23. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_rag/critic_agent.py +0 -0
  24. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_rag/lance_rag_task.py +0 -0
  25. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_rag/query_planner_agent.py +0 -0
  26. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_rag_new/__init__.py +0 -0
  27. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_rag_new/critic_agent.py +0 -0
  28. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_rag_new/lance_rag_task.py +0 -0
  29. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_rag_new/query_planner_agent.py +0 -0
  30. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/lance_tools.py +0 -0
  31. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/neo4j/__init__.py +0 -0
  32. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/neo4j/csv_kg_chat.py +0 -0
  33. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/neo4j/utils/__init__.py +0 -0
  34. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/relevance_extractor_agent.py +0 -0
  35. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/retriever_agent.py +0 -0
  36. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/sql/__init__.py +0 -0
  37. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/sql/sql_chat_agent.py +0 -0
  38. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/sql/utils/__init__.py +0 -0
  39. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/sql/utils/description_extractors.py +0 -0
  40. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/sql/utils/populate_metadata.py +0 -0
  41. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/sql/utils/system_message.py +0 -0
  42. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/sql/utils/tools.py +0 -0
  43. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/special/table_chat_agent.py +0 -0
  44. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/task.py +0 -0
  45. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/team.py +0 -0
  46. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tool_message.py +0 -0
  47. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/__init__.py +0 -0
  48. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/duckduckgo_search_tool.py +0 -0
  49. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/extract_tool.py +0 -0
  50. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/generator_tool.py +0 -0
  51. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/google_search_tool.py +0 -0
  52. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/metaphor_search_tool.py +0 -0
  53. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/note_tool.py +0 -0
  54. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/recipient_tool.py +0 -0
  55. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/retrieval_tool.py +0 -0
  56. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/rewind_tool.py +0 -0
  57. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/run_python_code.py +0 -0
  58. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent/tools/segment_extract_tool.py +0 -0
  59. {langroid-0.6.4 → langroid-0.6.6}/langroid/agent_config.py +0 -0
  60. {langroid-0.6.4 → langroid-0.6.6}/langroid/cachedb/__init__.py +0 -0
  61. {langroid-0.6.4 → langroid-0.6.6}/langroid/cachedb/base.py +0 -0
  62. {langroid-0.6.4 → langroid-0.6.6}/langroid/cachedb/momento_cachedb.py +0 -0
  63. {langroid-0.6.4 → langroid-0.6.6}/langroid/cachedb/redis_cachedb.py +0 -0
  64. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/__init__.py +0 -0
  65. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/base.py +0 -0
  66. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/clustering.py +0 -0
  67. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/models.py +0 -0
  68. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/protoc/__init__.py +0 -0
  69. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/protoc/embeddings.proto +0 -0
  70. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/protoc/embeddings_pb2.py +0 -0
  71. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/protoc/embeddings_pb2.pyi +0 -0
  72. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/protoc/embeddings_pb2_grpc.py +0 -0
  73. {langroid-0.6.4 → langroid-0.6.6}/langroid/embedding_models/remote_embeds.py +0 -0
  74. {langroid-0.6.4 → langroid-0.6.6}/langroid/exceptions.py +0 -0
  75. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/__init__.py +0 -0
  76. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/azure_openai.py +0 -0
  77. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/base.py +0 -0
  78. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/config.py +0 -0
  79. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/mock_lm.py +0 -0
  80. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/openai_gpt.py +0 -0
  81. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/prompt_formatter/__init__.py +0 -0
  82. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/prompt_formatter/base.py +0 -0
  83. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/prompt_formatter/hf_formatter.py +0 -0
  84. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/prompt_formatter/llama2_formatter.py +0 -0
  85. {langroid-0.6.4 → langroid-0.6.6}/langroid/language_models/utils.py +0 -0
  86. {langroid-0.6.4 → langroid-0.6.6}/langroid/mytypes.py +0 -0
  87. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/__init__.py +0 -0
  88. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/agent_chats.py +0 -0
  89. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/code-parsing.md +0 -0
  90. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/code_parser.py +0 -0
  91. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/config.py +0 -0
  92. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/document_parser.py +0 -0
  93. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/image_text.py +0 -0
  94. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/para_sentence_split.py +0 -0
  95. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/parser.py +0 -0
  96. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/repo_loader.py +0 -0
  97. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/routing.py +0 -0
  98. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/search.py +0 -0
  99. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/spider.py +0 -0
  100. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/table_loader.py +0 -0
  101. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/url_loader.py +0 -0
  102. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/url_loader_cookies.py +0 -0
  103. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/urls.py +0 -0
  104. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/utils.py +0 -0
  105. {langroid-0.6.4 → langroid-0.6.6}/langroid/parsing/web_search.py +0 -0
  106. {langroid-0.6.4 → langroid-0.6.6}/langroid/prompts/__init__.py +0 -0
  107. {langroid-0.6.4 → langroid-0.6.6}/langroid/prompts/chat-gpt4-system-prompt.md +0 -0
  108. {langroid-0.6.4 → langroid-0.6.6}/langroid/prompts/dialog.py +0 -0
  109. {langroid-0.6.4 → langroid-0.6.6}/langroid/prompts/prompts_config.py +0 -0
  110. {langroid-0.6.4 → langroid-0.6.6}/langroid/prompts/templates.py +0 -0
  111. {langroid-0.6.4 → langroid-0.6.6}/langroid/pydantic_v1/__init__.py +0 -0
  112. {langroid-0.6.4 → langroid-0.6.6}/langroid/pydantic_v1/main.py +0 -0
  113. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/__init__.py +0 -0
  114. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/algorithms/__init__.py +0 -0
  115. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/algorithms/graph.py +0 -0
  116. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/configuration.py +0 -0
  117. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/constants.py +0 -0
  118. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/docker.py +0 -0
  119. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/globals.py +0 -0
  120. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/llms/__init__.py +0 -0
  121. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/llms/strings.py +0 -0
  122. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/logging.py +0 -0
  123. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/object_registry.py +0 -0
  124. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/output/__init__.py +0 -0
  125. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/output/citations.py +0 -0
  126. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/output/printing.py +0 -0
  127. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/output/status.py +0 -0
  128. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/pandas_utils.py +0 -0
  129. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/pydantic_utils.py +0 -0
  130. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/system.py +0 -0
  131. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/web/__init__.py +0 -0
  132. {langroid-0.6.4 → langroid-0.6.6}/langroid/utils/web/login.py +0 -0
  133. {langroid-0.6.4 → langroid-0.6.6}/langroid/vector_store/__init__.py +0 -0
  134. {langroid-0.6.4 → langroid-0.6.6}/langroid/vector_store/base.py +0 -0
  135. {langroid-0.6.4 → langroid-0.6.6}/langroid/vector_store/chromadb.py +0 -0
  136. {langroid-0.6.4 → langroid-0.6.6}/langroid/vector_store/lancedb.py +0 -0
  137. {langroid-0.6.4 → langroid-0.6.6}/langroid/vector_store/meilisearch.py +0 -0
  138. {langroid-0.6.4 → langroid-0.6.6}/langroid/vector_store/momento.py +0 -0
  139. {langroid-0.6.4 → langroid-0.6.6}/langroid/vector_store/qdrant_cloud.py +0 -0
  140. {langroid-0.6.4 → langroid-0.6.6}/langroid/vector_store/qdrantdb.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langroid
3
- Version: 0.6.4
3
+ Version: 0.6.6
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  License: MIT
6
6
  Author: Prasad Chalasani
@@ -6,6 +6,7 @@ from rich import print
6
6
  from rich.console import Console
7
7
 
8
8
  from langroid.agent import ToolMessage
9
+ from langroid.parsing.parse_json import datetime_to_json
9
10
  from langroid.pydantic_v1 import BaseModel, BaseSettings
10
11
 
11
12
  if TYPE_CHECKING:
@@ -279,11 +280,17 @@ class Neo4jChatAgent(ChatAgent):
279
280
  response = self.read_query(query)
280
281
  if isinstance(response.data, list) and len(response.data) == 0:
281
282
  return """
282
- No results found; perhaps try an approximate or case-insensitive match,
283
- or the other RETRY-SUGGESTIONS in your instructions.
283
+ No results found; check if your query used the right label names --
284
+ remember these are case sensitive, so you have to use the exact label
285
+ names you found in the schema.
286
+ Or retry using one of the RETRY-SUGGESTIONS in your instructions.
284
287
  """
285
288
  if response.success:
286
- return json.dumps(response.data)
289
+ try:
290
+ json_str = json.dumps(response.data, default=datetime_to_json)
291
+ return json_str
292
+ except TypeError:
293
+ return str(response.data)
287
294
  else:
288
295
  return str(response.data)
289
296
 
@@ -41,7 +41,8 @@ If you receive a null or other unexpected result,
41
41
  (a) make sure you use the available TOOLs correctly,
42
42
  (b) USE `get_schema` tool/function-call to get all the node labels, relationship
43
43
  types, and property keys available in your Neo4j database.
44
- (c) LABELS may be CASE-SENSITIVE, so try using CASE-INSENSITIVE MATCHES,
44
+ (c) LABELS are CASE-SENSITIVE -- make sure you adhere to the exact label name
45
+ you found in the schema.
45
46
  (d) see if you have made an assumption in your Neo4j query, and try another way,
46
47
  or use `retrieval_query` to explore the database contents before submitting your
47
48
  final query.
@@ -1,5 +1,6 @@
1
1
  import ast
2
2
  import json
3
+ from datetime import datetime
3
4
  from typing import Any, Dict, Iterator, List, Union
4
5
 
5
6
  import yaml
@@ -167,3 +168,10 @@ def top_level_json_field(s: str, f: str) -> Any:
167
168
  return json_data[f]
168
169
 
169
170
  return ""
171
+
172
+
173
+ def datetime_to_json(obj: Any) -> Any:
174
+ if isinstance(obj, datetime):
175
+ return obj.isoformat()
176
+ # Let json.dumps() handle the raising of TypeError for non-serializable objects
177
+ return obj
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "langroid"
3
- version = "0.6.4"
3
+ version = "0.6.6"
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
File without changes
File without changes
File without changes