langroid 0.22.7__tar.gz → 0.23.1__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.22.7 → langroid-0.23.1}/PKG-INFO +3 -1
  2. {langroid-0.22.7 → langroid-0.23.1}/README.md +2 -0
  3. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/base.py +17 -13
  4. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/doc_chat_agent.py +10 -10
  5. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tool_message.py +2 -1
  6. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/openai_gpt.py +6 -0
  7. {langroid-0.22.7 → langroid-0.23.1}/pyproject.toml +1 -1
  8. {langroid-0.22.7 → langroid-0.23.1}/LICENSE +0 -0
  9. {langroid-0.22.7 → langroid-0.23.1}/langroid/__init__.py +0 -0
  10. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/__init__.py +0 -0
  11. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/batch.py +0 -0
  12. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/callbacks/__init__.py +0 -0
  13. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/callbacks/chainlit.py +0 -0
  14. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/chat_agent.py +0 -0
  15. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/chat_document.py +0 -0
  16. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/helpers.py +0 -0
  17. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/junk +0 -0
  18. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/openai_assistant.py +0 -0
  19. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/__init__.py +0 -0
  20. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/arangodb/__init__.py +0 -0
  21. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/arangodb/arangodb_agent.py +0 -0
  22. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/arangodb/system_messages.py +0 -0
  23. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/arangodb/tools.py +0 -0
  24. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/arangodb/utils.py +0 -0
  25. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/lance_doc_chat_agent.py +0 -0
  26. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/lance_rag/__init__.py +0 -0
  27. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/lance_rag/critic_agent.py +0 -0
  28. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/lance_rag/lance_rag_task.py +0 -0
  29. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/lance_rag/query_planner_agent.py +0 -0
  30. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/lance_tools.py +0 -0
  31. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/neo4j/__init__.py +0 -0
  32. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/neo4j/csv_kg_chat.py +0 -0
  33. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/neo4j/neo4j_chat_agent.py +0 -0
  34. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/neo4j/system_messages.py +0 -0
  35. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/neo4j/tools.py +0 -0
  36. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/relevance_extractor_agent.py +0 -0
  37. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/retriever_agent.py +0 -0
  38. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/sql/__init__.py +0 -0
  39. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/sql/sql_chat_agent.py +0 -0
  40. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/sql/utils/__init__.py +0 -0
  41. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/sql/utils/description_extractors.py +0 -0
  42. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/sql/utils/populate_metadata.py +0 -0
  43. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/sql/utils/system_message.py +0 -0
  44. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/sql/utils/tools.py +0 -0
  45. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/special/table_chat_agent.py +0 -0
  46. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/structured_message.py +0 -0
  47. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/task.py +0 -0
  48. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/__init__.py +0 -0
  49. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/duckduckgo_search_tool.py +0 -0
  50. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/file_tools.py +0 -0
  51. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/google_search_tool.py +0 -0
  52. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/metaphor_search_tool.py +0 -0
  53. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/orchestration.py +0 -0
  54. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/recipient_tool.py +0 -0
  55. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/retrieval_tool.py +0 -0
  56. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/rewind_tool.py +0 -0
  57. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/tools/segment_extract_tool.py +0 -0
  58. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/typed_task.py +0 -0
  59. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent/xml_tool_message.py +0 -0
  60. {langroid-0.22.7 → langroid-0.23.1}/langroid/agent_config.py +0 -0
  61. {langroid-0.22.7 → langroid-0.23.1}/langroid/cachedb/__init__.py +0 -0
  62. {langroid-0.22.7 → langroid-0.23.1}/langroid/cachedb/base.py +0 -0
  63. {langroid-0.22.7 → langroid-0.23.1}/langroid/cachedb/momento_cachedb.py +0 -0
  64. {langroid-0.22.7 → langroid-0.23.1}/langroid/cachedb/redis_cachedb.py +0 -0
  65. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/__init__.py +0 -0
  66. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/base.py +0 -0
  67. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/clustering.py +0 -0
  68. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/models.py +0 -0
  69. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/protoc/__init__.py +0 -0
  70. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/protoc/embeddings.proto +0 -0
  71. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/protoc/embeddings_pb2.py +0 -0
  72. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/protoc/embeddings_pb2.pyi +0 -0
  73. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/protoc/embeddings_pb2_grpc.py +0 -0
  74. {langroid-0.22.7 → langroid-0.23.1}/langroid/embedding_models/remote_embeds.py +0 -0
  75. {langroid-0.22.7 → langroid-0.23.1}/langroid/exceptions.py +0 -0
  76. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/.chainlit/config.toml +0 -0
  77. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/.chainlit/translations/en-US.json +0 -0
  78. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/__init__.py +0 -0
  79. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/azure_openai.py +0 -0
  80. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/base.py +0 -0
  81. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/config.py +0 -0
  82. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/mock_lm.py +0 -0
  83. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/prompt_formatter/__init__.py +0 -0
  84. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/prompt_formatter/base.py +0 -0
  85. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/prompt_formatter/hf_formatter.py +0 -0
  86. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/prompt_formatter/llama2_formatter.py +0 -0
  87. {langroid-0.22.7 → langroid-0.23.1}/langroid/language_models/utils.py +0 -0
  88. {langroid-0.22.7 → langroid-0.23.1}/langroid/mytypes.py +0 -0
  89. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/__init__.py +0 -0
  90. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/agent_chats.py +0 -0
  91. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/code-parsing.md +0 -0
  92. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/code_parser.py +0 -0
  93. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/config.py +0 -0
  94. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/document_parser.py +0 -0
  95. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/image_text.py +0 -0
  96. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/para_sentence_split.py +0 -0
  97. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/parse_json.py +0 -0
  98. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/parser.py +0 -0
  99. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/repo_loader.py +0 -0
  100. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/routing.py +0 -0
  101. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/search.py +0 -0
  102. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/spider.py +0 -0
  103. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/table_loader.py +0 -0
  104. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/url_loader.py +0 -0
  105. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/url_loader_cookies.py +0 -0
  106. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/urls.py +0 -0
  107. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/utils.py +0 -0
  108. {langroid-0.22.7 → langroid-0.23.1}/langroid/parsing/web_search.py +0 -0
  109. {langroid-0.22.7 → langroid-0.23.1}/langroid/prompts/__init__.py +0 -0
  110. {langroid-0.22.7 → langroid-0.23.1}/langroid/prompts/chat-gpt4-system-prompt.md +0 -0
  111. {langroid-0.22.7 → langroid-0.23.1}/langroid/prompts/dialog.py +0 -0
  112. {langroid-0.22.7 → langroid-0.23.1}/langroid/prompts/prompts_config.py +0 -0
  113. {langroid-0.22.7 → langroid-0.23.1}/langroid/prompts/templates.py +0 -0
  114. {langroid-0.22.7 → langroid-0.23.1}/langroid/py.typed +0 -0
  115. {langroid-0.22.7 → langroid-0.23.1}/langroid/pydantic_v1/__init__.py +0 -0
  116. {langroid-0.22.7 → langroid-0.23.1}/langroid/pydantic_v1/main.py +0 -0
  117. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/.chainlit/config.toml +0 -0
  118. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/.chainlit/translations/en-US.json +0 -0
  119. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/__init__.py +0 -0
  120. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/algorithms/__init__.py +0 -0
  121. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/algorithms/graph.py +0 -0
  122. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/configuration.py +0 -0
  123. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/constants.py +0 -0
  124. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/docker.py +0 -0
  125. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/git_utils.py +0 -0
  126. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/globals.py +0 -0
  127. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/llms/__init__.py +0 -0
  128. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/llms/strings.py +0 -0
  129. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/logging.py +0 -0
  130. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/object_registry.py +0 -0
  131. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/output/__init__.py +0 -0
  132. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/output/citations.py +0 -0
  133. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/output/printing.py +0 -0
  134. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/output/status.py +0 -0
  135. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/pandas_utils.py +0 -0
  136. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/pydantic_utils.py +0 -0
  137. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/system.py +0 -0
  138. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/types.py +0 -0
  139. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/web/__init__.py +0 -0
  140. {langroid-0.22.7 → langroid-0.23.1}/langroid/utils/web/login.py +0 -0
  141. {langroid-0.22.7 → langroid-0.23.1}/langroid/vector_store/__init__.py +0 -0
  142. {langroid-0.22.7 → langroid-0.23.1}/langroid/vector_store/base.py +0 -0
  143. {langroid-0.22.7 → langroid-0.23.1}/langroid/vector_store/chromadb.py +0 -0
  144. {langroid-0.22.7 → langroid-0.23.1}/langroid/vector_store/lancedb.py +0 -0
  145. {langroid-0.22.7 → langroid-0.23.1}/langroid/vector_store/meilisearch.py +0 -0
  146. {langroid-0.22.7 → langroid-0.23.1}/langroid/vector_store/momento.py +0 -0
  147. {langroid-0.22.7 → langroid-0.23.1}/langroid/vector_store/qdrant_cloud.py +0 -0
  148. {langroid-0.22.7 → langroid-0.23.1}/langroid/vector_store/qdrantdb.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langroid
3
- Version: 0.22.7
3
+ Version: 0.23.1
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  License: MIT
6
6
  Author: Prasad Chalasani
@@ -249,6 +249,8 @@ teacher_task.run()
249
249
  <summary> <b>Click to expand</b></summary>
250
250
 
251
251
  - **Nov 2024:**
252
+ - **[0.23.0](https://langroid.github.io/langroid/tutorials/local-llm-setup/#local-llms-hosted-on-glhfchat)**:
253
+ support for LLMs (e.g. `Qwen2.5-Coder-32b-Instruct`) hosted on glhf.chat
252
254
  - **[0.22.0](https://langroid.github.io/langroid/notes/large-tool-results/)**:
253
255
  Optional parameters to truncate large tool results.
254
256
  - **[0.21.0](https://langroid.github.io/langroid/notes/gemini/)** Direct support for Gemini models via OpenAI client instead of using LiteLLM.
@@ -136,6 +136,8 @@ teacher_task.run()
136
136
  <summary> <b>Click to expand</b></summary>
137
137
 
138
138
  - **Nov 2024:**
139
+ - **[0.23.0](https://langroid.github.io/langroid/tutorials/local-llm-setup/#local-llms-hosted-on-glhfchat)**:
140
+ support for LLMs (e.g. `Qwen2.5-Coder-32b-Instruct`) hosted on glhf.chat
139
141
  - **[0.22.0](https://langroid.github.io/langroid/notes/large-tool-results/)**:
140
142
  Optional parameters to truncate large tool results.
141
143
  - **[0.21.0](https://langroid.github.io/langroid/notes/gemini/)** Direct support for Gemini models via OpenAI client instead of using LiteLLM.
@@ -756,18 +756,18 @@ class Agent(ABC):
756
756
  @no_type_check
757
757
  async def llm_response_async(
758
758
  self,
759
- msg: Optional[str | ChatDocument] = None,
759
+ message: Optional[str | ChatDocument] = None,
760
760
  ) -> Optional[ChatDocument]:
761
761
  """
762
762
  Asynch version of `llm_response`. See there for details.
763
763
  """
764
- if msg is None or not self.llm_can_respond(msg):
764
+ if message is None or not self.llm_can_respond(message):
765
765
  return None
766
766
 
767
- if isinstance(msg, ChatDocument):
768
- prompt = msg.content
767
+ if isinstance(message, ChatDocument):
768
+ prompt = message.content
769
769
  else:
770
- prompt = msg
770
+ prompt = message
771
771
 
772
772
  output_len = self.config.llm.max_output_tokens
773
773
  if self.num_tokens(prompt) + output_len > self.llm.completion_context_length():
@@ -807,29 +807,31 @@ class Agent(ABC):
807
807
  )
808
808
  cdoc = ChatDocument.from_LLMResponse(response, displayed=True)
809
809
  # Preserve trail of tool_ids for OpenAI Assistant fn-calls
810
- cdoc.metadata.tool_ids = [] if isinstance(msg, str) else msg.metadata.tool_ids
810
+ cdoc.metadata.tool_ids = (
811
+ [] if isinstance(message, str) else message.metadata.tool_ids
812
+ )
811
813
  return cdoc
812
814
 
813
815
  @no_type_check
814
816
  def llm_response(
815
817
  self,
816
- msg: Optional[str | ChatDocument] = None,
818
+ message: Optional[str | ChatDocument] = None,
817
819
  ) -> Optional[ChatDocument]:
818
820
  """
819
821
  LLM response to a prompt.
820
822
  Args:
821
- msg (str|ChatDocument): prompt string, or ChatDocument object
823
+ message (str|ChatDocument): prompt string, or ChatDocument object
822
824
 
823
825
  Returns:
824
826
  Response from LLM, packaged as a ChatDocument
825
827
  """
826
- if msg is None or not self.llm_can_respond(msg):
828
+ if message is None or not self.llm_can_respond(message):
827
829
  return None
828
830
 
829
- if isinstance(msg, ChatDocument):
830
- prompt = msg.content
831
+ if isinstance(message, ChatDocument):
832
+ prompt = message.content
831
833
  else:
832
- prompt = msg
834
+ prompt = message
833
835
 
834
836
  with ExitStack() as stack: # for conditionally using rich spinner
835
837
  if not self.llm.get_stream():
@@ -879,7 +881,9 @@ class Agent(ABC):
879
881
  )
880
882
  cdoc = ChatDocument.from_LLMResponse(response, displayed=True)
881
883
  # Preserve trail of tool_ids for OpenAI Assistant fn-calls
882
- cdoc.metadata.tool_ids = [] if isinstance(msg, str) else msg.metadata.tool_ids
884
+ cdoc.metadata.tool_ids = (
885
+ [] if isinstance(message, str) else message.metadata.tool_ids
886
+ )
883
887
  return cdoc
884
888
 
885
889
  def has_tool_message_attempt(self, msg: str | ChatDocument | None) -> bool:
@@ -663,15 +663,15 @@ class DocChatAgent(ChatAgent):
663
663
 
664
664
  def llm_response(
665
665
  self,
666
- query: None | str | ChatDocument = None,
666
+ message: None | str | ChatDocument = None,
667
667
  ) -> Optional[ChatDocument]:
668
- if not self.llm_can_respond(query):
668
+ if not self.llm_can_respond(message):
669
669
  return None
670
670
  query_str: str | None
671
- if isinstance(query, ChatDocument):
672
- query_str = query.content
671
+ if isinstance(message, ChatDocument):
672
+ query_str = message.content
673
673
  else:
674
- query_str = query
674
+ query_str = message
675
675
  if query_str is None or query_str.startswith("!"):
676
676
  # direct query to LLM
677
677
  query_str = query_str[1:] if query_str is not None else None
@@ -714,16 +714,16 @@ class DocChatAgent(ChatAgent):
714
714
 
715
715
  async def llm_response_async(
716
716
  self,
717
- query: None | str | ChatDocument = None,
717
+ message: None | str | ChatDocument = None,
718
718
  ) -> Optional[ChatDocument]:
719
719
  apply_nest_asyncio()
720
- if not self.llm_can_respond(query):
720
+ if not self.llm_can_respond(message):
721
721
  return None
722
722
  query_str: str | None
723
- if isinstance(query, ChatDocument):
724
- query_str = query.content
723
+ if isinstance(message, ChatDocument):
724
+ query_str = message.content
725
725
  else:
726
- query_str = query
726
+ query_str = message
727
727
  if query_str is None or query_str.startswith("!"):
728
728
  # direct query to LLM
729
729
  query_str = query_str[1:] if query_str is not None else None
@@ -171,7 +171,8 @@ class ToolMessage(ABC, BaseModel):
171
171
 
172
172
  Args:
173
173
  tool: instructions for Langroid-native tool use? (e.g. for non-OpenAI LLM)
174
- (or else it would be for OpenAI Function calls)
174
+ (or else it would be for OpenAI Function calls).
175
+ Ignored in the default implementation, but can be used in subclasses.
175
176
  Returns:
176
177
  str: instructions on how to use the message
177
178
  """
@@ -67,6 +67,7 @@ else:
67
67
  OLLAMA_BASE_URL = "http://localhost:11434/v1"
68
68
 
69
69
  GEMINI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/"
70
+ GLHF_BASE_URL = "https://glhf.chat/api/openai/v1"
70
71
  OLLAMA_API_KEY = "ollama"
71
72
  DUMMY_API_KEY = "xxx"
72
73
 
@@ -513,6 +514,7 @@ class OpenAIGPT(LanguageModel):
513
514
  self.is_groq = self.config.chat_model.startswith("groq/")
514
515
  self.is_cerebras = self.config.chat_model.startswith("cerebras/")
515
516
  self.is_gemini = self.config.chat_model.startswith("gemini/")
517
+ self.is_glhf = self.config.chat_model.startswith("glhf/")
516
518
 
517
519
  if self.is_groq:
518
520
  self.config.chat_model = self.config.chat_model.replace("groq/", "")
@@ -538,6 +540,10 @@ class OpenAIGPT(LanguageModel):
538
540
  self.config.chat_model = self.config.chat_model.replace("gemini/", "")
539
541
  self.api_key = os.getenv("GEMINI_API_KEY", DUMMY_API_KEY)
540
542
  self.api_base = GEMINI_BASE_URL
543
+ elif self.is_glhf:
544
+ self.config.chat_model = self.config.chat_model.replace("glhf/", "")
545
+ self.api_key = os.getenv("GLHF_API_KEY", DUMMY_API_KEY)
546
+ self.api_base = GLHF_BASE_URL
541
547
 
542
548
  self.client = OpenAI(
543
549
  api_key=self.api_key,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "langroid"
3
- version = "0.22.7"
3
+ version = "0.23.1"
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