langchain-core 1.0.0a6__py3-none-any.whl → 1.0.4__py3-none-any.whl

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 (165) hide show
  1. langchain_core/__init__.py +1 -1
  2. langchain_core/_api/__init__.py +3 -4
  3. langchain_core/_api/beta_decorator.py +23 -26
  4. langchain_core/_api/deprecation.py +51 -64
  5. langchain_core/_api/path.py +3 -6
  6. langchain_core/_import_utils.py +3 -4
  7. langchain_core/agents.py +55 -48
  8. langchain_core/caches.py +65 -66
  9. langchain_core/callbacks/__init__.py +1 -8
  10. langchain_core/callbacks/base.py +321 -336
  11. langchain_core/callbacks/file.py +44 -44
  12. langchain_core/callbacks/manager.py +454 -514
  13. langchain_core/callbacks/stdout.py +29 -30
  14. langchain_core/callbacks/streaming_stdout.py +32 -32
  15. langchain_core/callbacks/usage.py +60 -57
  16. langchain_core/chat_history.py +53 -68
  17. langchain_core/document_loaders/base.py +27 -25
  18. langchain_core/document_loaders/blob_loaders.py +1 -1
  19. langchain_core/document_loaders/langsmith.py +44 -48
  20. langchain_core/documents/__init__.py +23 -3
  21. langchain_core/documents/base.py +102 -94
  22. langchain_core/documents/compressor.py +10 -10
  23. langchain_core/documents/transformers.py +34 -35
  24. langchain_core/embeddings/fake.py +50 -54
  25. langchain_core/example_selectors/length_based.py +2 -2
  26. langchain_core/example_selectors/semantic_similarity.py +28 -32
  27. langchain_core/exceptions.py +21 -20
  28. langchain_core/globals.py +3 -151
  29. langchain_core/indexing/__init__.py +1 -1
  30. langchain_core/indexing/api.py +121 -126
  31. langchain_core/indexing/base.py +73 -75
  32. langchain_core/indexing/in_memory.py +4 -6
  33. langchain_core/language_models/__init__.py +14 -29
  34. langchain_core/language_models/_utils.py +58 -61
  35. langchain_core/language_models/base.py +82 -172
  36. langchain_core/language_models/chat_models.py +329 -402
  37. langchain_core/language_models/fake.py +11 -11
  38. langchain_core/language_models/fake_chat_models.py +42 -36
  39. langchain_core/language_models/llms.py +189 -269
  40. langchain_core/load/dump.py +9 -12
  41. langchain_core/load/load.py +18 -28
  42. langchain_core/load/mapping.py +2 -4
  43. langchain_core/load/serializable.py +42 -40
  44. langchain_core/messages/__init__.py +10 -16
  45. langchain_core/messages/ai.py +148 -148
  46. langchain_core/messages/base.py +53 -51
  47. langchain_core/messages/block_translators/__init__.py +19 -22
  48. langchain_core/messages/block_translators/anthropic.py +6 -6
  49. langchain_core/messages/block_translators/bedrock_converse.py +5 -5
  50. langchain_core/messages/block_translators/google_genai.py +10 -7
  51. langchain_core/messages/block_translators/google_vertexai.py +4 -32
  52. langchain_core/messages/block_translators/groq.py +117 -21
  53. langchain_core/messages/block_translators/langchain_v0.py +5 -5
  54. langchain_core/messages/block_translators/openai.py +11 -11
  55. langchain_core/messages/chat.py +2 -6
  56. langchain_core/messages/content.py +339 -330
  57. langchain_core/messages/function.py +6 -10
  58. langchain_core/messages/human.py +24 -31
  59. langchain_core/messages/modifier.py +2 -2
  60. langchain_core/messages/system.py +19 -29
  61. langchain_core/messages/tool.py +74 -90
  62. langchain_core/messages/utils.py +484 -510
  63. langchain_core/output_parsers/__init__.py +13 -10
  64. langchain_core/output_parsers/base.py +61 -61
  65. langchain_core/output_parsers/format_instructions.py +9 -4
  66. langchain_core/output_parsers/json.py +12 -10
  67. langchain_core/output_parsers/list.py +21 -23
  68. langchain_core/output_parsers/openai_functions.py +49 -47
  69. langchain_core/output_parsers/openai_tools.py +30 -23
  70. langchain_core/output_parsers/pydantic.py +13 -14
  71. langchain_core/output_parsers/string.py +5 -5
  72. langchain_core/output_parsers/transform.py +15 -17
  73. langchain_core/output_parsers/xml.py +35 -34
  74. langchain_core/outputs/__init__.py +1 -1
  75. langchain_core/outputs/chat_generation.py +18 -18
  76. langchain_core/outputs/chat_result.py +1 -3
  77. langchain_core/outputs/generation.py +16 -16
  78. langchain_core/outputs/llm_result.py +10 -10
  79. langchain_core/prompt_values.py +13 -19
  80. langchain_core/prompts/__init__.py +3 -27
  81. langchain_core/prompts/base.py +81 -86
  82. langchain_core/prompts/chat.py +308 -351
  83. langchain_core/prompts/dict.py +6 -6
  84. langchain_core/prompts/few_shot.py +81 -88
  85. langchain_core/prompts/few_shot_with_templates.py +11 -13
  86. langchain_core/prompts/image.py +12 -14
  87. langchain_core/prompts/loading.py +4 -6
  88. langchain_core/prompts/message.py +7 -7
  89. langchain_core/prompts/prompt.py +24 -39
  90. langchain_core/prompts/string.py +26 -10
  91. langchain_core/prompts/structured.py +49 -53
  92. langchain_core/rate_limiters.py +51 -60
  93. langchain_core/retrievers.py +61 -198
  94. langchain_core/runnables/base.py +1551 -1656
  95. langchain_core/runnables/branch.py +68 -70
  96. langchain_core/runnables/config.py +72 -89
  97. langchain_core/runnables/configurable.py +145 -161
  98. langchain_core/runnables/fallbacks.py +102 -96
  99. langchain_core/runnables/graph.py +91 -97
  100. langchain_core/runnables/graph_ascii.py +27 -28
  101. langchain_core/runnables/graph_mermaid.py +42 -51
  102. langchain_core/runnables/graph_png.py +43 -16
  103. langchain_core/runnables/history.py +175 -177
  104. langchain_core/runnables/passthrough.py +151 -167
  105. langchain_core/runnables/retry.py +46 -51
  106. langchain_core/runnables/router.py +30 -35
  107. langchain_core/runnables/schema.py +75 -80
  108. langchain_core/runnables/utils.py +60 -67
  109. langchain_core/stores.py +85 -121
  110. langchain_core/structured_query.py +8 -8
  111. langchain_core/sys_info.py +29 -29
  112. langchain_core/tools/__init__.py +1 -14
  113. langchain_core/tools/base.py +306 -245
  114. langchain_core/tools/convert.py +160 -155
  115. langchain_core/tools/render.py +10 -10
  116. langchain_core/tools/retriever.py +12 -11
  117. langchain_core/tools/simple.py +19 -24
  118. langchain_core/tools/structured.py +32 -39
  119. langchain_core/tracers/__init__.py +1 -9
  120. langchain_core/tracers/base.py +97 -99
  121. langchain_core/tracers/context.py +29 -52
  122. langchain_core/tracers/core.py +49 -53
  123. langchain_core/tracers/evaluation.py +11 -11
  124. langchain_core/tracers/event_stream.py +65 -64
  125. langchain_core/tracers/langchain.py +21 -21
  126. langchain_core/tracers/log_stream.py +45 -45
  127. langchain_core/tracers/memory_stream.py +3 -3
  128. langchain_core/tracers/root_listeners.py +16 -16
  129. langchain_core/tracers/run_collector.py +2 -4
  130. langchain_core/tracers/schemas.py +0 -129
  131. langchain_core/tracers/stdout.py +3 -3
  132. langchain_core/utils/__init__.py +1 -4
  133. langchain_core/utils/_merge.py +2 -2
  134. langchain_core/utils/aiter.py +57 -61
  135. langchain_core/utils/env.py +9 -9
  136. langchain_core/utils/function_calling.py +94 -188
  137. langchain_core/utils/html.py +7 -8
  138. langchain_core/utils/input.py +9 -6
  139. langchain_core/utils/interactive_env.py +1 -1
  140. langchain_core/utils/iter.py +36 -40
  141. langchain_core/utils/json.py +4 -3
  142. langchain_core/utils/json_schema.py +9 -9
  143. langchain_core/utils/mustache.py +8 -10
  144. langchain_core/utils/pydantic.py +35 -37
  145. langchain_core/utils/strings.py +6 -9
  146. langchain_core/utils/usage.py +1 -1
  147. langchain_core/utils/utils.py +66 -62
  148. langchain_core/vectorstores/base.py +182 -216
  149. langchain_core/vectorstores/in_memory.py +101 -176
  150. langchain_core/vectorstores/utils.py +5 -5
  151. langchain_core/version.py +1 -1
  152. langchain_core-1.0.4.dist-info/METADATA +69 -0
  153. langchain_core-1.0.4.dist-info/RECORD +172 -0
  154. {langchain_core-1.0.0a6.dist-info → langchain_core-1.0.4.dist-info}/WHEEL +1 -1
  155. langchain_core/memory.py +0 -120
  156. langchain_core/messages/block_translators/ollama.py +0 -47
  157. langchain_core/prompts/pipeline.py +0 -138
  158. langchain_core/pydantic_v1/__init__.py +0 -30
  159. langchain_core/pydantic_v1/dataclasses.py +0 -23
  160. langchain_core/pydantic_v1/main.py +0 -23
  161. langchain_core/tracers/langchain_v1.py +0 -31
  162. langchain_core/utils/loading.py +0 -35
  163. langchain_core-1.0.0a6.dist-info/METADATA +0 -67
  164. langchain_core-1.0.0a6.dist-info/RECORD +0 -181
  165. langchain_core-1.0.0a6.dist-info/entry_points.txt +0 -4
@@ -3,7 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from pathlib import Path
6
- from typing import TYPE_CHECKING, Any, Optional, TextIO, cast
6
+ from typing import TYPE_CHECKING, Any, TextIO, cast
7
7
 
8
8
  from typing_extensions import Self, override
9
9
 
@@ -27,44 +27,44 @@ class FileCallbackHandler(BaseCallbackHandler):
27
27
  Examples:
28
28
  Using as a context manager (recommended):
29
29
 
30
- .. code-block:: python
31
-
32
- with FileCallbackHandler("output.txt") as handler:
33
- # Use handler with your chain/agent
34
- chain.invoke(inputs, config={"callbacks": [handler]})
30
+ ```python
31
+ with FileCallbackHandler("output.txt") as handler:
32
+ # Use handler with your chain/agent
33
+ chain.invoke(inputs, config={"callbacks": [handler]})
34
+ ```
35
35
 
36
36
  Direct instantiation (deprecated):
37
37
 
38
- .. code-block:: python
39
-
40
- handler = FileCallbackHandler("output.txt")
41
- # File remains open until handler is garbage collected
42
- try:
43
- chain.invoke(inputs, config={"callbacks": [handler]})
44
- finally:
45
- handler.close() # Explicit cleanup recommended
38
+ ```python
39
+ handler = FileCallbackHandler("output.txt")
40
+ # File remains open until handler is garbage collected
41
+ try:
42
+ chain.invoke(inputs, config={"callbacks": [handler]})
43
+ finally:
44
+ handler.close() # Explicit cleanup recommended
45
+ ```
46
46
 
47
47
  Args:
48
48
  filename: The file path to write to.
49
- mode: The file open mode. Defaults to ``'a'`` (append).
50
- color: Default color for text output. Defaults to ``None``.
49
+ mode: The file open mode. Defaults to `'a'` (append).
50
+ color: Default color for text output.
51
51
 
52
- .. note::
52
+ !!! note
53
53
  When not used as a context manager, a deprecation warning will be issued
54
- on first use. The file will be opened immediately in ``__init__`` and closed
55
- in ``__del__`` or when ``close()`` is called explicitly.
54
+ on first use. The file will be opened immediately in `__init__` and closed
55
+ in `__del__` or when `close()` is called explicitly.
56
56
 
57
57
  """
58
58
 
59
59
  def __init__(
60
- self, filename: str, mode: str = "a", color: Optional[str] = None
60
+ self, filename: str, mode: str = "a", color: str | None = None
61
61
  ) -> None:
62
62
  """Initialize the file callback handler.
63
63
 
64
64
  Args:
65
65
  filename: Path to the output file.
66
- mode: File open mode (e.g., ``'w'``, ``'a'``, ``'x'``). Defaults to ``'a'``.
67
- color: Default text color for output. Defaults to ``None``.
66
+ mode: File open mode (e.g., `'w'`, `'a'`, `'x'`). Defaults to `'a'`.
67
+ color: Default text color for output.
68
68
 
69
69
  """
70
70
  self.filename = filename
@@ -83,8 +83,8 @@ class FileCallbackHandler(BaseCallbackHandler):
83
83
  Returns:
84
84
  The FileCallbackHandler instance.
85
85
 
86
- .. note::
87
- The file is already opened in ``__init__``, so this just marks that
86
+ !!! note
87
+ The file is already opened in `__init__`, so this just marks that
88
88
  the handler is being used as a context manager.
89
89
 
90
90
  """
@@ -124,16 +124,16 @@ class FileCallbackHandler(BaseCallbackHandler):
124
124
  def _write(
125
125
  self,
126
126
  text: str,
127
- color: Optional[str] = None,
127
+ color: str | None = None,
128
128
  end: str = "",
129
129
  ) -> None:
130
130
  """Write text to the file with deprecation warning if needed.
131
131
 
132
132
  Args:
133
133
  text: The text to write to the file.
134
- color: Optional color for the text. Defaults to ``self.color``.
135
- end: String appended after the text. Defaults to ``""``.
136
- file: Optional file to write to. Defaults to ``self.file``.
134
+ color: Optional color for the text. Defaults to `self.color`.
135
+ end: String appended after the text.
136
+ file: Optional file to write to. Defaults to `self.file`.
137
137
 
138
138
  Raises:
139
139
  RuntimeError: If the file is closed or not available.
@@ -167,7 +167,7 @@ class FileCallbackHandler(BaseCallbackHandler):
167
167
  Args:
168
168
  serialized: The serialized chain information.
169
169
  inputs: The inputs to the chain.
170
- **kwargs: Additional keyword arguments that may contain ``'name'``.
170
+ **kwargs: Additional keyword arguments that may contain `'name'`.
171
171
 
172
172
  """
173
173
  name = (
@@ -190,14 +190,14 @@ class FileCallbackHandler(BaseCallbackHandler):
190
190
 
191
191
  @override
192
192
  def on_agent_action(
193
- self, action: AgentAction, color: Optional[str] = None, **kwargs: Any
193
+ self, action: AgentAction, color: str | None = None, **kwargs: Any
194
194
  ) -> Any:
195
195
  """Handle agent action by writing the action log.
196
196
 
197
197
  Args:
198
198
  action: The agent action containing the log to write.
199
- color: Color override for this specific output. If ``None``, uses
200
- ``self.color``.
199
+ color: Color override for this specific output. If `None`, uses
200
+ `self.color`.
201
201
  **kwargs: Additional keyword arguments.
202
202
 
203
203
  """
@@ -207,17 +207,17 @@ class FileCallbackHandler(BaseCallbackHandler):
207
207
  def on_tool_end(
208
208
  self,
209
209
  output: str,
210
- color: Optional[str] = None,
211
- observation_prefix: Optional[str] = None,
212
- llm_prefix: Optional[str] = None,
210
+ color: str | None = None,
211
+ observation_prefix: str | None = None,
212
+ llm_prefix: str | None = None,
213
213
  **kwargs: Any,
214
214
  ) -> None:
215
215
  """Handle tool end by writing the output with optional prefixes.
216
216
 
217
217
  Args:
218
218
  output: The tool output to write.
219
- color: Color override for this specific output. If ``None``, uses
220
- ``self.color``.
219
+ color: Color override for this specific output. If `None`, uses
220
+ `self.color`.
221
221
  observation_prefix: Optional prefix to write before the output.
222
222
  llm_prefix: Optional prefix to write after the output.
223
223
  **kwargs: Additional keyword arguments.
@@ -231,15 +231,15 @@ class FileCallbackHandler(BaseCallbackHandler):
231
231
 
232
232
  @override
233
233
  def on_text(
234
- self, text: str, color: Optional[str] = None, end: str = "", **kwargs: Any
234
+ self, text: str, color: str | None = None, end: str = "", **kwargs: Any
235
235
  ) -> None:
236
236
  """Handle text output.
237
237
 
238
238
  Args:
239
239
  text: The text to write.
240
- color: Color override for this specific output. If ``None``, uses
241
- ``self.color``.
242
- end: String appended after the text. Defaults to ``""``.
240
+ color: Color override for this specific output. If `None`, uses
241
+ `self.color`.
242
+ end: String appended after the text.
243
243
  **kwargs: Additional keyword arguments.
244
244
 
245
245
  """
@@ -247,14 +247,14 @@ class FileCallbackHandler(BaseCallbackHandler):
247
247
 
248
248
  @override
249
249
  def on_agent_finish(
250
- self, finish: AgentFinish, color: Optional[str] = None, **kwargs: Any
250
+ self, finish: AgentFinish, color: str | None = None, **kwargs: Any
251
251
  ) -> None:
252
252
  """Handle agent finish by writing the finish log.
253
253
 
254
254
  Args:
255
255
  finish: The agent finish object containing the log to write.
256
- color: Color override for this specific output. If ``None``, uses
257
- ``self.color``.
256
+ color: Color override for this specific output. If `None`, uses
257
+ `self.color`.
258
258
  **kwargs: Additional keyword arguments.
259
259
 
260
260
  """