langroid 0.59.6__tar.gz → 0.59.8__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 (146) hide show
  1. {langroid-0.59.6 → langroid-0.59.8}/PKG-INFO +1 -1
  2. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/chat_agent.py +34 -30
  3. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/model_info.py +5 -6
  4. {langroid-0.59.6 → langroid-0.59.8}/pyproject.toml +1 -1
  5. {langroid-0.59.6 → langroid-0.59.8}/.gitignore +0 -0
  6. {langroid-0.59.6 → langroid-0.59.8}/LICENSE +0 -0
  7. {langroid-0.59.6 → langroid-0.59.8}/README.md +0 -0
  8. {langroid-0.59.6 → langroid-0.59.8}/langroid/__init__.py +0 -0
  9. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/__init__.py +0 -0
  10. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/base.py +0 -0
  11. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/batch.py +0 -0
  12. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/callbacks/__init__.py +0 -0
  13. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/callbacks/chainlit.py +0 -0
  14. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/chat_document.py +0 -0
  15. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/done_sequence_parser.py +0 -0
  16. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/openai_assistant.py +0 -0
  17. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/__init__.py +0 -0
  18. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/arangodb/__init__.py +0 -0
  19. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/arangodb/arangodb_agent.py +0 -0
  20. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/arangodb/system_messages.py +0 -0
  21. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/arangodb/tools.py +0 -0
  22. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/arangodb/utils.py +0 -0
  23. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/doc_chat_agent.py +0 -0
  24. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/doc_chat_task.py +0 -0
  25. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/lance_doc_chat_agent.py +0 -0
  26. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/lance_rag/__init__.py +0 -0
  27. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/lance_rag/critic_agent.py +0 -0
  28. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/lance_rag/lance_rag_task.py +0 -0
  29. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/lance_rag/query_planner_agent.py +0 -0
  30. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/lance_tools.py +0 -0
  31. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/neo4j/__init__.py +0 -0
  32. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/neo4j/csv_kg_chat.py +0 -0
  33. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/neo4j/neo4j_chat_agent.py +0 -0
  34. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/neo4j/system_messages.py +0 -0
  35. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/neo4j/tools.py +0 -0
  36. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/relevance_extractor_agent.py +0 -0
  37. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/retriever_agent.py +0 -0
  38. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/sql/__init__.py +0 -0
  39. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/sql/sql_chat_agent.py +0 -0
  40. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/sql/utils/__init__.py +0 -0
  41. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/sql/utils/description_extractors.py +0 -0
  42. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/sql/utils/populate_metadata.py +0 -0
  43. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/sql/utils/system_message.py +0 -0
  44. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/sql/utils/tools.py +0 -0
  45. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/special/table_chat_agent.py +0 -0
  46. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/task.py +0 -0
  47. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tool_message.py +0 -0
  48. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/__init__.py +0 -0
  49. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/duckduckgo_search_tool.py +0 -0
  50. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/exa_search_tool.py +0 -0
  51. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/file_tools.py +0 -0
  52. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/google_search_tool.py +0 -0
  53. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/mcp/__init__.py +0 -0
  54. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/mcp/decorators.py +0 -0
  55. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/mcp/fastmcp_client.py +0 -0
  56. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/metaphor_search_tool.py +0 -0
  57. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/orchestration.py +0 -0
  58. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/recipient_tool.py +0 -0
  59. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/retrieval_tool.py +0 -0
  60. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/rewind_tool.py +0 -0
  61. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/segment_extract_tool.py +0 -0
  62. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/task_tool.py +0 -0
  63. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/tools/tavily_search_tool.py +0 -0
  64. {langroid-0.59.6 → langroid-0.59.8}/langroid/agent/xml_tool_message.py +0 -0
  65. {langroid-0.59.6 → langroid-0.59.8}/langroid/cachedb/__init__.py +0 -0
  66. {langroid-0.59.6 → langroid-0.59.8}/langroid/cachedb/base.py +0 -0
  67. {langroid-0.59.6 → langroid-0.59.8}/langroid/cachedb/redis_cachedb.py +0 -0
  68. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/__init__.py +0 -0
  69. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/base.py +0 -0
  70. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/models.py +0 -0
  71. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/protoc/__init__.py +0 -0
  72. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/protoc/embeddings.proto +0 -0
  73. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/protoc/embeddings_pb2.py +0 -0
  74. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/protoc/embeddings_pb2.pyi +0 -0
  75. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/protoc/embeddings_pb2_grpc.py +0 -0
  76. {langroid-0.59.6 → langroid-0.59.8}/langroid/embedding_models/remote_embeds.py +0 -0
  77. {langroid-0.59.6 → langroid-0.59.8}/langroid/exceptions.py +0 -0
  78. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/__init__.py +0 -0
  79. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/azure_openai.py +0 -0
  80. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/base.py +0 -0
  81. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/client_cache.py +0 -0
  82. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/config.py +0 -0
  83. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/mock_lm.py +0 -0
  84. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/openai_gpt.py +0 -0
  85. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/prompt_formatter/__init__.py +0 -0
  86. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/prompt_formatter/base.py +0 -0
  87. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/prompt_formatter/hf_formatter.py +0 -0
  88. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/prompt_formatter/llama2_formatter.py +0 -0
  89. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/provider_params.py +0 -0
  90. {langroid-0.59.6 → langroid-0.59.8}/langroid/language_models/utils.py +0 -0
  91. {langroid-0.59.6 → langroid-0.59.8}/langroid/mcp/__init__.py +0 -0
  92. {langroid-0.59.6 → langroid-0.59.8}/langroid/mcp/server/__init__.py +0 -0
  93. {langroid-0.59.6 → langroid-0.59.8}/langroid/mytypes.py +0 -0
  94. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/__init__.py +0 -0
  95. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/agent_chats.py +0 -0
  96. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/code_parser.py +0 -0
  97. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/document_parser.py +0 -0
  98. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/file_attachment.py +0 -0
  99. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/md_parser.py +0 -0
  100. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/para_sentence_split.py +0 -0
  101. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/parse_json.py +0 -0
  102. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/parser.py +0 -0
  103. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/pdf_utils.py +0 -0
  104. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/repo_loader.py +0 -0
  105. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/routing.py +0 -0
  106. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/search.py +0 -0
  107. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/spider.py +0 -0
  108. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/table_loader.py +0 -0
  109. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/url_loader.py +0 -0
  110. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/urls.py +0 -0
  111. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/utils.py +0 -0
  112. {langroid-0.59.6 → langroid-0.59.8}/langroid/parsing/web_search.py +0 -0
  113. {langroid-0.59.6 → langroid-0.59.8}/langroid/prompts/__init__.py +0 -0
  114. {langroid-0.59.6 → langroid-0.59.8}/langroid/prompts/dialog.py +0 -0
  115. {langroid-0.59.6 → langroid-0.59.8}/langroid/prompts/prompts_config.py +0 -0
  116. {langroid-0.59.6 → langroid-0.59.8}/langroid/prompts/templates.py +0 -0
  117. {langroid-0.59.6 → langroid-0.59.8}/langroid/py.typed +0 -0
  118. {langroid-0.59.6 → langroid-0.59.8}/langroid/pydantic_v1/__init__.py +0 -0
  119. {langroid-0.59.6 → langroid-0.59.8}/langroid/pydantic_v1/main.py +0 -0
  120. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/__init__.py +0 -0
  121. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/algorithms/__init__.py +0 -0
  122. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/algorithms/graph.py +0 -0
  123. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/configuration.py +0 -0
  124. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/constants.py +0 -0
  125. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/git_utils.py +0 -0
  126. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/globals.py +0 -0
  127. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/html_logger.py +0 -0
  128. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/logging.py +0 -0
  129. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/object_registry.py +0 -0
  130. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/output/__init__.py +0 -0
  131. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/output/citations.py +0 -0
  132. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/output/printing.py +0 -0
  133. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/output/status.py +0 -0
  134. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/pandas_utils.py +0 -0
  135. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/pydantic_utils.py +0 -0
  136. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/system.py +0 -0
  137. {langroid-0.59.6 → langroid-0.59.8}/langroid/utils/types.py +0 -0
  138. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/__init__.py +0 -0
  139. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/base.py +0 -0
  140. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/chromadb.py +0 -0
  141. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/lancedb.py +0 -0
  142. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/meilisearch.py +0 -0
  143. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/pineconedb.py +0 -0
  144. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/postgres.py +0 -0
  145. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/qdrantdb.py +0 -0
  146. {langroid-0.59.6 → langroid-0.59.8}/langroid/vector_store/weaviatedb.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langroid
3
- Version: 0.59.6
3
+ Version: 0.59.8
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  Author-email: Prasad Chalasani <pchalasani@gmail.com>
6
6
  License: MIT
@@ -363,26 +363,30 @@ class ChatAgent(Agent):
363
363
  if tool_call.id in self.oai_tool_id2call:
364
364
  del self.oai_tool_id2call[tool_call.id]
365
365
 
366
- def clear_history(self, start: int = -2) -> None:
366
+ def clear_history(self, start: int = -2, end: int = -1) -> None:
367
367
  """
368
- Clear the message history, starting at the index `start`
368
+ Clear the message history, deleting messages from index `start`,
369
+ up to index `end`.
369
370
 
370
371
  Args:
371
372
  start (int): index of first message to delete; default = -2
372
373
  (i.e. delete last 2 messages, typically these
373
374
  are the last user and assistant messages)
375
+ end (int): index of last message to delete; Default = -1
376
+ (i.e. delete all messages up to the last one)
374
377
  """
378
+ n = len(self.message_history)
375
379
  if start < 0:
376
- n = len(self.message_history)
377
380
  start = max(0, n + start)
378
- dropped = self.message_history[start:]
381
+ end_ = n if end == -1 else end + 1
382
+ dropped = self.message_history[start:end_]
379
383
  # consider the dropped msgs in REVERSE order, so we are
380
384
  # carefully updating self.oai_tool_calls
381
385
  for msg in reversed(dropped):
382
386
  self._drop_msg_update_tool_calls(msg)
383
387
  # clear out the chat document from the ObjectRegistry
384
388
  ChatDocument.delete_id(msg.chat_document_id)
385
- self.message_history = self.message_history[:start]
389
+ del self.message_history[start:end_]
386
390
 
387
391
  def update_history(self, message: str, response: str) -> None:
388
392
  """
@@ -704,7 +708,7 @@ class ChatAgent(Agent):
704
708
  if request == "":
705
709
  raise ValueError(
706
710
  f"""
707
- ToolMessage class {message_class} must have a non-empty
711
+ ToolMessage class {message_class} must have a non-empty
708
712
  'request' field if it is to be enabled as a tool.
709
713
  """
710
714
  )
@@ -746,10 +750,10 @@ class ChatAgent(Agent):
746
750
  logger.warning(
747
751
  f"""
748
752
  ToolMessage class {tool_class} does not allow LLM use,
749
- because `_allow_llm_use=False` either in the Tool or a
753
+ because `_allow_llm_use=False` either in the Tool or a
750
754
  parent class of this tool;
751
755
  so not enabling LLM use for this tool!
752
- If you intended an LLM to use this tool,
756
+ If you intended an LLM to use this tool,
753
757
  set `_allow_llm_use=True` when you define the tool.
754
758
  """
755
759
  )
@@ -1298,7 +1302,7 @@ class ChatAgent(Agent):
1298
1302
  tool_name = limiting_tool.default_value("request")
1299
1303
  max_tokens: int = max_retained_tokens
1300
1304
  truncation_warning = f"""
1301
- The result of the {tool_name} tool were too large,
1305
+ The result of the {tool_name} tool were too large,
1302
1306
  and has been truncated to {max_tokens} tokens.
1303
1307
  To obtain the full result, the tool needs to be re-used.
1304
1308
  """
@@ -1591,9 +1595,9 @@ class ChatAgent(Agent):
1591
1595
  logger.debug(
1592
1596
  f"""
1593
1597
  Chat Model context length is {self.llm.chat_context_length()},
1594
- but the current message history is {self.chat_num_tokens(hist)}
1595
- tokens long, which does not allow
1596
- {self.config.llm.model_max_output_tokens} output tokens.
1598
+ but the current message history is {self.chat_num_tokens(hist)}
1599
+ tokens long, which does not allow
1600
+ {self.config.llm.model_max_output_tokens} output tokens.
1597
1601
  Therefore we reduced `max_output_tokens` to {output_len} tokens,
1598
1602
  so they can fit within the model's context length
1599
1603
  """
@@ -1625,16 +1629,16 @@ class ChatAgent(Agent):
1625
1629
  # and last message (user msg).
1626
1630
  raise ValueError(
1627
1631
  """
1628
- The (message history + max_output_tokens) is longer than the
1629
- max chat context length of this model, and we have tried
1632
+ The (message history + max_output_tokens) is longer than the
1633
+ max chat context length of this model, and we have tried
1630
1634
  reducing the requested max output tokens, as well as truncating
1631
- early parts of the message history, to accommodate the model
1635
+ early parts of the message history, to accommodate the model
1632
1636
  context length, but we have run out of msgs to drop.
1633
-
1634
- HINT: In the `llm` field of your `ChatAgentConfig` object,
1635
- which is of type `LLMConfig/OpenAIGPTConfig`, try
1636
- - increasing `chat_context_length`
1637
- (if accurate for the model), or
1637
+
1638
+ HINT: In the `llm` field of your `ChatAgentConfig` object,
1639
+ which is of type `LLMConfig/OpenAIGPTConfig`, try
1640
+ - increasing `chat_context_length`
1641
+ (if accurate for the model), or
1638
1642
  - decreasing `max_output_tokens`
1639
1643
  """
1640
1644
  )
@@ -1657,15 +1661,15 @@ class ChatAgent(Agent):
1657
1661
  if output_len < self.config.llm.min_output_tokens:
1658
1662
  raise ValueError(
1659
1663
  f"""
1660
- Tried to shorten prompt history for chat mode
1661
- but even after truncating all messages except system msg and
1662
- last (user) msg,
1664
+ Tried to shorten prompt history for chat mode
1665
+ but even after truncating all messages except system msg and
1666
+ last (user) msg,
1663
1667
  the history token len {self.chat_num_tokens(hist)} is
1664
1668
  too long to accommodate the desired minimum output tokens
1665
- {self.config.llm.min_output_tokens} within the
1669
+ {self.config.llm.min_output_tokens} within the
1666
1670
  model's context length {self.llm.chat_context_length()}.
1667
1671
  Please try shortening the system msg or user prompts,
1668
- or adjust `config.llm.min_output_tokens` to be smaller.
1672
+ or adjust `config.llm.min_output_tokens` to be smaller.
1669
1673
  """
1670
1674
  )
1671
1675
  else:
@@ -1673,13 +1677,13 @@ class ChatAgent(Agent):
1673
1677
  msg_tokens = self.chat_num_tokens()
1674
1678
  logger.warning(
1675
1679
  f"""
1676
- Chat Model context length is {self.llm.chat_context_length()}
1680
+ Chat Model context length is {self.llm.chat_context_length()}
1677
1681
  tokens, but the current message history is {msg_tokens} tokens long,
1678
- which does not allow {self.config.llm.model_max_output_tokens}
1679
- output tokens.
1682
+ which does not allow {self.config.llm.model_max_output_tokens}
1683
+ output tokens.
1680
1684
  Therefore we truncated the first {n_truncated} messages
1681
- in the conversation history so that history token
1682
- length is reduced to {self.chat_num_tokens(hist)}, and
1685
+ in the conversation history so that history token
1686
+ length is reduced to {self.chat_num_tokens(hist)}, and
1683
1687
  we use `max_output_tokens = {output_len}`,
1684
1688
  so they can fit within the model's context length
1685
1689
  of {self.llm.chat_context_length()} tokens.
@@ -90,6 +90,11 @@ class OpenAI_API_ParamInfo(BaseModel):
90
90
  params: Dict[str, List[str]] = dict(
91
91
  reasoning_effort=[
92
92
  OpenAIChatModel.O3_MINI.value,
93
+ OpenAIChatModel.O3.value,
94
+ OpenAIChatModel.O4_MINI.value,
95
+ OpenAIChatModel.GPT5.value,
96
+ OpenAIChatModel.GPT5_MINI.value,
97
+ OpenAIChatModel.GPT5_NANO.value,
93
98
  GeminiModel.GEMINI_2_5_PRO.value,
94
99
  GeminiModel.GEMINI_2_5_FLASH.value,
95
100
  GeminiModel.GEMINI_2_5_FLASH_LITE.value,
@@ -319,8 +324,6 @@ MODEL_INFO: Dict[str, ModelInfo] = {
319
324
  input_cost_per_million=1.25,
320
325
  cached_cost_per_million=0.125,
321
326
  output_cost_per_million=10.00,
322
- allows_streaming=False,
323
- allows_system_message=False,
324
327
  has_structured_output=True,
325
328
  unsupported_params=["temperature"],
326
329
  rename_params={"max_tokens": "max_completion_tokens"},
@@ -335,8 +338,6 @@ MODEL_INFO: Dict[str, ModelInfo] = {
335
338
  input_cost_per_million=0.25,
336
339
  cached_cost_per_million=0.025,
337
340
  output_cost_per_million=2.00,
338
- allows_streaming=False,
339
- allows_system_message=False,
340
341
  has_structured_output=True,
341
342
  unsupported_params=["temperature"],
342
343
  rename_params={"max_tokens": "max_completion_tokens"},
@@ -351,8 +352,6 @@ MODEL_INFO: Dict[str, ModelInfo] = {
351
352
  input_cost_per_million=0.05,
352
353
  cached_cost_per_million=0.005,
353
354
  output_cost_per_million=0.40,
354
- allows_streaming=False,
355
- allows_system_message=False,
356
355
  has_structured_output=True,
357
356
  unsupported_params=["temperature"],
358
357
  rename_params={"max_tokens": "max_completion_tokens"},
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "langroid"
3
- version = "0.59.6"
3
+ version = "0.59.8"
4
4
  authors = [
5
5
  {name = "Prasad Chalasani", email = "pchalasani@gmail.com"},
6
6
  ]
File without changes
File without changes
File without changes
File without changes
File without changes