langroid 0.41.3__tar.gz → 0.41.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 (135) hide show
  1. {langroid-0.41.3 → langroid-0.41.4}/PKG-INFO +7 -5
  2. {langroid-0.41.3 → langroid-0.41.4}/README.md +2 -2
  3. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/models.py +17 -16
  4. {langroid-0.41.3 → langroid-0.41.4}/pyproject.toml +7 -3
  5. {langroid-0.41.3 → langroid-0.41.4}/.gitignore +0 -0
  6. {langroid-0.41.3 → langroid-0.41.4}/LICENSE +0 -0
  7. {langroid-0.41.3 → langroid-0.41.4}/langroid/__init__.py +0 -0
  8. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/__init__.py +0 -0
  9. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/base.py +0 -0
  10. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/batch.py +0 -0
  11. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/callbacks/__init__.py +0 -0
  12. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/callbacks/chainlit.py +0 -0
  13. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/chat_agent.py +0 -0
  14. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/chat_document.py +0 -0
  15. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/openai_assistant.py +0 -0
  16. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/__init__.py +0 -0
  17. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/arangodb/__init__.py +0 -0
  18. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/arangodb/arangodb_agent.py +0 -0
  19. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/arangodb/system_messages.py +0 -0
  20. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/arangodb/tools.py +0 -0
  21. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/arangodb/utils.py +0 -0
  22. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/doc_chat_agent.py +0 -0
  23. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/lance_doc_chat_agent.py +0 -0
  24. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/lance_rag/__init__.py +0 -0
  25. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/lance_rag/critic_agent.py +0 -0
  26. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/lance_rag/lance_rag_task.py +0 -0
  27. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/lance_rag/query_planner_agent.py +0 -0
  28. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/lance_tools.py +0 -0
  29. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/neo4j/__init__.py +0 -0
  30. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/neo4j/csv_kg_chat.py +0 -0
  31. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/neo4j/neo4j_chat_agent.py +0 -0
  32. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/neo4j/system_messages.py +0 -0
  33. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/neo4j/tools.py +0 -0
  34. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/relevance_extractor_agent.py +0 -0
  35. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/retriever_agent.py +0 -0
  36. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/sql/__init__.py +0 -0
  37. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/sql/sql_chat_agent.py +0 -0
  38. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/sql/utils/__init__.py +0 -0
  39. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/sql/utils/description_extractors.py +0 -0
  40. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/sql/utils/populate_metadata.py +0 -0
  41. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/sql/utils/system_message.py +0 -0
  42. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/sql/utils/tools.py +0 -0
  43. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/special/table_chat_agent.py +0 -0
  44. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/task.py +0 -0
  45. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tool_message.py +0 -0
  46. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/__init__.py +0 -0
  47. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/duckduckgo_search_tool.py +0 -0
  48. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/exa_search_tool.py +0 -0
  49. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/file_tools.py +0 -0
  50. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/google_search_tool.py +0 -0
  51. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/metaphor_search_tool.py +0 -0
  52. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/orchestration.py +0 -0
  53. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/recipient_tool.py +0 -0
  54. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/retrieval_tool.py +0 -0
  55. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/rewind_tool.py +0 -0
  56. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/segment_extract_tool.py +0 -0
  57. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/tools/tavily_search_tool.py +0 -0
  58. {langroid-0.41.3 → langroid-0.41.4}/langroid/agent/xml_tool_message.py +0 -0
  59. {langroid-0.41.3 → langroid-0.41.4}/langroid/cachedb/__init__.py +0 -0
  60. {langroid-0.41.3 → langroid-0.41.4}/langroid/cachedb/base.py +0 -0
  61. {langroid-0.41.3 → langroid-0.41.4}/langroid/cachedb/momento_cachedb.py +0 -0
  62. {langroid-0.41.3 → langroid-0.41.4}/langroid/cachedb/redis_cachedb.py +0 -0
  63. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/__init__.py +0 -0
  64. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/base.py +0 -0
  65. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/protoc/__init__.py +0 -0
  66. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/protoc/embeddings.proto +0 -0
  67. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/protoc/embeddings_pb2.py +0 -0
  68. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/protoc/embeddings_pb2.pyi +0 -0
  69. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/protoc/embeddings_pb2_grpc.py +0 -0
  70. {langroid-0.41.3 → langroid-0.41.4}/langroid/embedding_models/remote_embeds.py +0 -0
  71. {langroid-0.41.3 → langroid-0.41.4}/langroid/exceptions.py +0 -0
  72. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/__init__.py +0 -0
  73. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/azure_openai.py +0 -0
  74. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/base.py +0 -0
  75. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/config.py +0 -0
  76. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/mock_lm.py +0 -0
  77. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/model_info.py +0 -0
  78. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/openai_gpt.py +0 -0
  79. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/prompt_formatter/__init__.py +0 -0
  80. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/prompt_formatter/base.py +0 -0
  81. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/prompt_formatter/hf_formatter.py +0 -0
  82. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/prompt_formatter/llama2_formatter.py +0 -0
  83. {langroid-0.41.3 → langroid-0.41.4}/langroid/language_models/utils.py +0 -0
  84. {langroid-0.41.3 → langroid-0.41.4}/langroid/mytypes.py +0 -0
  85. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/__init__.py +0 -0
  86. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/agent_chats.py +0 -0
  87. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/code_parser.py +0 -0
  88. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/document_parser.py +0 -0
  89. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/para_sentence_split.py +0 -0
  90. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/parse_json.py +0 -0
  91. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/parser.py +0 -0
  92. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/pdf_utils.py +0 -0
  93. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/repo_loader.py +0 -0
  94. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/routing.py +0 -0
  95. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/search.py +0 -0
  96. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/spider.py +0 -0
  97. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/table_loader.py +0 -0
  98. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/url_loader.py +0 -0
  99. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/urls.py +0 -0
  100. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/utils.py +0 -0
  101. {langroid-0.41.3 → langroid-0.41.4}/langroid/parsing/web_search.py +0 -0
  102. {langroid-0.41.3 → langroid-0.41.4}/langroid/prompts/__init__.py +0 -0
  103. {langroid-0.41.3 → langroid-0.41.4}/langroid/prompts/dialog.py +0 -0
  104. {langroid-0.41.3 → langroid-0.41.4}/langroid/prompts/prompts_config.py +0 -0
  105. {langroid-0.41.3 → langroid-0.41.4}/langroid/prompts/templates.py +0 -0
  106. {langroid-0.41.3 → langroid-0.41.4}/langroid/py.typed +0 -0
  107. {langroid-0.41.3 → langroid-0.41.4}/langroid/pydantic_v1/__init__.py +0 -0
  108. {langroid-0.41.3 → langroid-0.41.4}/langroid/pydantic_v1/main.py +0 -0
  109. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/__init__.py +0 -0
  110. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/algorithms/__init__.py +0 -0
  111. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/algorithms/graph.py +0 -0
  112. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/configuration.py +0 -0
  113. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/constants.py +0 -0
  114. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/git_utils.py +0 -0
  115. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/globals.py +0 -0
  116. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/logging.py +0 -0
  117. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/object_registry.py +0 -0
  118. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/output/__init__.py +0 -0
  119. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/output/citations.py +0 -0
  120. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/output/printing.py +0 -0
  121. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/output/status.py +0 -0
  122. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/pandas_utils.py +0 -0
  123. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/pydantic_utils.py +0 -0
  124. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/system.py +0 -0
  125. {langroid-0.41.3 → langroid-0.41.4}/langroid/utils/types.py +0 -0
  126. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/__init__.py +0 -0
  127. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/base.py +0 -0
  128. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/chromadb.py +0 -0
  129. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/lancedb.py +0 -0
  130. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/meilisearch.py +0 -0
  131. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/momento.py +0 -0
  132. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/pineconedb.py +0 -0
  133. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/postgres.py +0 -0
  134. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/qdrantdb.py +0 -0
  135. {langroid-0.41.3 → langroid-0.41.4}/langroid/vector_store/weaviatedb.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langroid
3
- Version: 0.41.3
3
+ Version: 0.41.4
4
4
  Summary: Harness LLMs with Multi-Agent Programming
5
5
  Author-email: Prasad Chalasani <pchalasani@gmail.com>
6
6
  License: MIT
@@ -21,7 +21,7 @@ Requires-Dist: fakeredis<3.0.0,>=2.12.1
21
21
  Requires-Dist: fire<1.0.0,>=0.5.0
22
22
  Requires-Dist: gitpython<4.0.0,>=3.1.43
23
23
  Requires-Dist: google-api-python-client<3.0.0,>=2.95.0
24
- Requires-Dist: google-generativeai<1.0.0,>=0.5.2
24
+ Requires-Dist: google-genai>=1.0.0
25
25
  Requires-Dist: groq<1.0.0,>=0.13.0
26
26
  Requires-Dist: grpcio<2.0.0,>=1.62.1
27
27
  Requires-Dist: halo<1.0.0,>=0.0.31
@@ -112,8 +112,10 @@ Provides-Extra: exa
112
112
  Requires-Dist: exa-py>=1.8.7; extra == 'exa'
113
113
  Provides-Extra: fastembed
114
114
  Requires-Dist: fastembed<0.4.0,>=0.3.1; extra == 'fastembed'
115
+ Provides-Extra: google-genai
116
+ Requires-Dist: google-genai>=1.0.0; extra == 'google-genai'
115
117
  Provides-Extra: google-generativeai
116
- Requires-Dist: google-generativeai>=0.8.4; extra == 'google-generativeai'
118
+ Requires-Dist: google-genai>=1.0.0; extra == 'google-generativeai'
117
119
  Provides-Extra: hf-embeddings
118
120
  Requires-Dist: sentence-transformers<3.0.0,>=2.2.2; extra == 'hf-embeddings'
119
121
  Requires-Dist: torch<3.0.0,>=2.0.0; extra == 'hf-embeddings'
@@ -319,7 +321,7 @@ teacher_task.run()
319
321
  - **Jan 2025:**
320
322
  - [0.36.0](https://github.com/langroid/langroid/releases/tag/0.36.0): Weaviate vector-db support (thanks @abab-dev).
321
323
  - [0.35.0](https://github.com/langroid/langroid/releases/tag/0.35.0): Capture/Stream reasoning content from
322
- Reasoning LLMs (e.g. DeepSeek, OpenAI o1) in addition to final answer.
324
+ Reasoning LLMs (e.g. DeepSeek-R1, OpenAI o1) in addition to final answer.
323
325
  - [0.34.0](https://github.com/langroid/langroid/releases/tag/0.34.0): DocChatAgent
324
326
  chunk enrichment to improve retrieval. (collaboration with @dfm88).
325
327
  - [0.33.0](https://github.com/langroid/langroid/releases/tag/0.33.3) Move from Poetry to uv! (thanks @abab-dev).
@@ -627,7 +629,7 @@ For many practical scenarios, you may need additional optional dependencies:
627
629
  - For "chat with databases", use the `db` extra:
628
630
  ```bash
629
631
  pip install "langroid[db]"
630
- ``
632
+ ```
631
633
  - You can specify multiple extras by separating them with commas, e.g.:
632
634
  ```bash
633
635
  pip install "langroid[doc-chat,db]"
@@ -138,7 +138,7 @@ teacher_task.run()
138
138
  - **Jan 2025:**
139
139
  - [0.36.0](https://github.com/langroid/langroid/releases/tag/0.36.0): Weaviate vector-db support (thanks @abab-dev).
140
140
  - [0.35.0](https://github.com/langroid/langroid/releases/tag/0.35.0): Capture/Stream reasoning content from
141
- Reasoning LLMs (e.g. DeepSeek, OpenAI o1) in addition to final answer.
141
+ Reasoning LLMs (e.g. DeepSeek-R1, OpenAI o1) in addition to final answer.
142
142
  - [0.34.0](https://github.com/langroid/langroid/releases/tag/0.34.0): DocChatAgent
143
143
  chunk enrichment to improve retrieval. (collaboration with @dfm88).
144
144
  - [0.33.0](https://github.com/langroid/langroid/releases/tag/0.33.3) Move from Poetry to uv! (thanks @abab-dev).
@@ -446,7 +446,7 @@ For many practical scenarios, you may need additional optional dependencies:
446
446
  - For "chat with databases", use the `db` extra:
447
447
  ```bash
448
448
  pip install "langroid[db]"
449
- ``
449
+ ```
450
450
  - You can specify multiple extras by separating them with commas, e.g.:
451
451
  ```bash
452
452
  pip install "langroid[doc-chat,db]"
@@ -450,9 +450,9 @@ class LlamaCppServerEmbeddings(EmbeddingModel):
450
450
  class GeminiEmbeddings(EmbeddingModel):
451
451
  def __init__(self, config: GeminiEmbeddingsConfig = GeminiEmbeddingsConfig()):
452
452
  try:
453
- import google.generativeai as genai
453
+ from google import genai
454
454
  except ImportError as e:
455
- raise LangroidImportError(extra="google-generativeai", error=str(e))
455
+ raise LangroidImportError(extra="google-genai", error=str(e))
456
456
  super().__init__()
457
457
  self.config = config
458
458
  load_dotenv()
@@ -464,29 +464,30 @@ class GeminiEmbeddings(EmbeddingModel):
464
464
  GEMINI_API_KEY env variable must be set to use GeminiEmbeddings.
465
465
  """
466
466
  )
467
- genai.configure(api_key=self.config.api_key) # type: ignore[attr-defined]
468
- self.client = genai
467
+ self.client = genai.Client(api_key=self.config.api_key)
469
468
 
470
469
  def embedding_fn(self) -> Callable[[List[str]], Embeddings]:
471
470
  return EmbeddingFunctionCallable(self, self.config.batch_size)
472
471
 
473
- def generate_embeddings(self, texts: List[str]) -> Embeddings:
474
- all_embeddings = [] # More precise type hint
472
+ def generate_embeddings(self, texts: List[str]) -> List[List[float]]:
473
+ """Generates embeddings for a list of input texts."""
474
+ all_embeddings: List[List[float]] = []
475
+
475
476
  for batch in batched(texts, self.config.batch_size):
476
- result = self.client.embed_content( # type: ignore[attr-defined]
477
+ result = self.client.models.embed_content( # type: ignore[attr-defined]
477
478
  model=self.config.model_name,
478
- content=batch,
479
- task_type="RETRIEVAL_DOCUMENT",
479
+ contents=batch,
480
480
  )
481
481
 
482
- embeddings = result["embedding"]
483
- if not isinstance(embeddings, list):
484
- raise ValueError("Unexpected format for embeddings: not a list")
482
+ if not hasattr(result, "embeddings") or not isinstance(
483
+ result.embeddings, list
484
+ ):
485
+ raise ValueError(
486
+ "Unexpected format for embeddings: missing or incorrect type"
487
+ )
485
488
 
486
- if embeddings and isinstance(embeddings[0], list):
487
- all_embeddings.extend(embeddings)
488
- else:
489
- all_embeddings.append(embeddings)
489
+ # Extract .values from ContentEmbedding objects
490
+ all_embeddings.extend([emb.values for emb in result.embeddings])
490
491
 
491
492
  return all_embeddings
492
493
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "langroid"
3
- version = "0.41.3"
3
+ version = "0.41.4"
4
4
  authors = [
5
5
  {name = "Prasad Chalasani", email = "pchalasani@gmail.com"},
6
6
  ]
@@ -24,7 +24,7 @@ dependencies = [
24
24
  "fire<1.0.0,>=0.5.0",
25
25
  "gitpython<4.0.0,>=3.1.43",
26
26
  "google-api-python-client<3.0.0,>=2.95.0",
27
- "google-generativeai<1.0.0,>=0.5.2",
27
+ "google-genai>=1.0.0",
28
28
  "groq<1.0.0,>=0.13.0",
29
29
  "grpcio<2.0.0,>=1.62.1",
30
30
  "halo<1.0.0,>=0.0.31",
@@ -236,8 +236,12 @@ momento = [
236
236
  fastembed = [
237
237
  "fastembed<0.4.0,>=0.3.1",
238
238
  ]
239
+ google-genai = [
240
+ "google-genai>=1.0.0",
241
+ ]
242
+
239
243
  google-generativeai = [
240
- "google-generativeai>=0.8.4",
244
+ "google-genai>=1.0.0",
241
245
  ]
242
246
 
243
247
  pinecone = [
File without changes
File without changes
File without changes
File without changes