langchain-core 1.0.0a6__py3-none-any.whl → 1.0.0a8__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.

Potentially problematic release.


This version of langchain-core might be problematic. Click here for more details.

Files changed (131) hide show
  1. langchain_core/_api/__init__.py +3 -3
  2. langchain_core/_api/beta_decorator.py +6 -6
  3. langchain_core/_api/deprecation.py +21 -29
  4. langchain_core/_api/path.py +3 -6
  5. langchain_core/_import_utils.py +2 -3
  6. langchain_core/agents.py +10 -11
  7. langchain_core/caches.py +7 -7
  8. langchain_core/callbacks/base.py +91 -91
  9. langchain_core/callbacks/file.py +11 -11
  10. langchain_core/callbacks/manager.py +86 -89
  11. langchain_core/callbacks/stdout.py +8 -8
  12. langchain_core/callbacks/usage.py +4 -4
  13. langchain_core/chat_history.py +5 -5
  14. langchain_core/document_loaders/base.py +2 -2
  15. langchain_core/document_loaders/langsmith.py +15 -15
  16. langchain_core/documents/base.py +16 -16
  17. langchain_core/documents/compressor.py +4 -4
  18. langchain_core/example_selectors/length_based.py +1 -1
  19. langchain_core/example_selectors/semantic_similarity.py +17 -19
  20. langchain_core/exceptions.py +3 -3
  21. langchain_core/globals.py +3 -151
  22. langchain_core/indexing/api.py +44 -43
  23. langchain_core/indexing/base.py +30 -30
  24. langchain_core/indexing/in_memory.py +3 -3
  25. langchain_core/language_models/_utils.py +5 -7
  26. langchain_core/language_models/base.py +18 -132
  27. langchain_core/language_models/chat_models.py +118 -227
  28. langchain_core/language_models/fake.py +11 -11
  29. langchain_core/language_models/fake_chat_models.py +35 -29
  30. langchain_core/language_models/llms.py +91 -201
  31. langchain_core/load/dump.py +1 -1
  32. langchain_core/load/load.py +11 -12
  33. langchain_core/load/mapping.py +2 -4
  34. langchain_core/load/serializable.py +2 -4
  35. langchain_core/messages/ai.py +17 -20
  36. langchain_core/messages/base.py +23 -25
  37. langchain_core/messages/block_translators/__init__.py +2 -5
  38. langchain_core/messages/block_translators/anthropic.py +3 -3
  39. langchain_core/messages/block_translators/bedrock_converse.py +2 -2
  40. langchain_core/messages/block_translators/langchain_v0.py +2 -2
  41. langchain_core/messages/block_translators/openai.py +6 -6
  42. langchain_core/messages/content.py +120 -124
  43. langchain_core/messages/human.py +7 -7
  44. langchain_core/messages/system.py +7 -7
  45. langchain_core/messages/tool.py +24 -24
  46. langchain_core/messages/utils.py +67 -79
  47. langchain_core/output_parsers/base.py +12 -14
  48. langchain_core/output_parsers/json.py +4 -4
  49. langchain_core/output_parsers/list.py +3 -5
  50. langchain_core/output_parsers/openai_functions.py +3 -3
  51. langchain_core/output_parsers/openai_tools.py +3 -3
  52. langchain_core/output_parsers/pydantic.py +2 -2
  53. langchain_core/output_parsers/transform.py +13 -15
  54. langchain_core/output_parsers/xml.py +7 -9
  55. langchain_core/outputs/chat_generation.py +4 -4
  56. langchain_core/outputs/chat_result.py +1 -3
  57. langchain_core/outputs/generation.py +2 -2
  58. langchain_core/outputs/llm_result.py +5 -5
  59. langchain_core/prompts/__init__.py +1 -5
  60. langchain_core/prompts/base.py +10 -15
  61. langchain_core/prompts/chat.py +31 -82
  62. langchain_core/prompts/dict.py +2 -2
  63. langchain_core/prompts/few_shot.py +5 -5
  64. langchain_core/prompts/few_shot_with_templates.py +4 -4
  65. langchain_core/prompts/loading.py +3 -5
  66. langchain_core/prompts/prompt.py +4 -16
  67. langchain_core/prompts/string.py +2 -1
  68. langchain_core/prompts/structured.py +16 -23
  69. langchain_core/rate_limiters.py +3 -4
  70. langchain_core/retrievers.py +14 -14
  71. langchain_core/runnables/base.py +928 -1042
  72. langchain_core/runnables/branch.py +36 -40
  73. langchain_core/runnables/config.py +27 -35
  74. langchain_core/runnables/configurable.py +108 -124
  75. langchain_core/runnables/fallbacks.py +76 -72
  76. langchain_core/runnables/graph.py +39 -45
  77. langchain_core/runnables/graph_ascii.py +9 -11
  78. langchain_core/runnables/graph_mermaid.py +18 -19
  79. langchain_core/runnables/graph_png.py +8 -9
  80. langchain_core/runnables/history.py +114 -127
  81. langchain_core/runnables/passthrough.py +113 -139
  82. langchain_core/runnables/retry.py +43 -48
  83. langchain_core/runnables/router.py +23 -28
  84. langchain_core/runnables/schema.py +42 -44
  85. langchain_core/runnables/utils.py +28 -31
  86. langchain_core/stores.py +9 -13
  87. langchain_core/structured_query.py +8 -8
  88. langchain_core/tools/base.py +62 -115
  89. langchain_core/tools/convert.py +31 -35
  90. langchain_core/tools/render.py +1 -1
  91. langchain_core/tools/retriever.py +4 -4
  92. langchain_core/tools/simple.py +13 -17
  93. langchain_core/tools/structured.py +12 -15
  94. langchain_core/tracers/base.py +62 -64
  95. langchain_core/tracers/context.py +17 -35
  96. langchain_core/tracers/core.py +49 -53
  97. langchain_core/tracers/evaluation.py +11 -11
  98. langchain_core/tracers/event_stream.py +58 -60
  99. langchain_core/tracers/langchain.py +13 -13
  100. langchain_core/tracers/log_stream.py +22 -24
  101. langchain_core/tracers/root_listeners.py +14 -14
  102. langchain_core/tracers/run_collector.py +2 -4
  103. langchain_core/tracers/schemas.py +8 -8
  104. langchain_core/tracers/stdout.py +2 -1
  105. langchain_core/utils/__init__.py +0 -3
  106. langchain_core/utils/_merge.py +2 -2
  107. langchain_core/utils/aiter.py +24 -28
  108. langchain_core/utils/env.py +4 -4
  109. langchain_core/utils/function_calling.py +31 -41
  110. langchain_core/utils/html.py +3 -4
  111. langchain_core/utils/input.py +3 -3
  112. langchain_core/utils/iter.py +15 -19
  113. langchain_core/utils/json.py +3 -2
  114. langchain_core/utils/json_schema.py +6 -6
  115. langchain_core/utils/mustache.py +3 -5
  116. langchain_core/utils/pydantic.py +16 -18
  117. langchain_core/utils/usage.py +1 -1
  118. langchain_core/utils/utils.py +29 -29
  119. langchain_core/vectorstores/base.py +18 -21
  120. langchain_core/vectorstores/in_memory.py +14 -87
  121. langchain_core/vectorstores/utils.py +2 -2
  122. langchain_core/version.py +1 -1
  123. {langchain_core-1.0.0a6.dist-info → langchain_core-1.0.0a8.dist-info}/METADATA +10 -21
  124. langchain_core-1.0.0a8.dist-info/RECORD +176 -0
  125. {langchain_core-1.0.0a6.dist-info → langchain_core-1.0.0a8.dist-info}/WHEEL +1 -1
  126. langchain_core/messages/block_translators/ollama.py +0 -47
  127. langchain_core/prompts/pipeline.py +0 -138
  128. langchain_core/tracers/langchain_v1.py +0 -31
  129. langchain_core/utils/loading.py +0 -35
  130. langchain_core-1.0.0a6.dist-info/RECORD +0 -181
  131. 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
  import logging
6
- from typing import TYPE_CHECKING, Any, Optional, Union
6
+ from typing import TYPE_CHECKING, Any
7
7
 
8
8
  from typing_extensions import Self
9
9
 
@@ -29,7 +29,7 @@ class RetrieverManagerMixin:
29
29
  error: BaseException,
30
30
  *,
31
31
  run_id: UUID,
32
- parent_run_id: Optional[UUID] = None,
32
+ parent_run_id: UUID | None = None,
33
33
  **kwargs: Any,
34
34
  ) -> Any:
35
35
  """Run when Retriever errors.
@@ -46,7 +46,7 @@ class RetrieverManagerMixin:
46
46
  documents: Sequence[Document],
47
47
  *,
48
48
  run_id: UUID,
49
- parent_run_id: Optional[UUID] = None,
49
+ parent_run_id: UUID | None = None,
50
50
  **kwargs: Any,
51
51
  ) -> Any:
52
52
  """Run when Retriever ends running.
@@ -66,9 +66,9 @@ class LLMManagerMixin:
66
66
  self,
67
67
  token: str,
68
68
  *,
69
- chunk: Optional[Union[GenerationChunk, ChatGenerationChunk]] = None,
69
+ chunk: GenerationChunk | ChatGenerationChunk | None = None,
70
70
  run_id: UUID,
71
- parent_run_id: Optional[UUID] = None,
71
+ parent_run_id: UUID | None = None,
72
72
  **kwargs: Any,
73
73
  ) -> Any:
74
74
  """Run on new output token. Only available when streaming is enabled.
@@ -89,7 +89,7 @@ class LLMManagerMixin:
89
89
  response: LLMResult,
90
90
  *,
91
91
  run_id: UUID,
92
- parent_run_id: Optional[UUID] = None,
92
+ parent_run_id: UUID | None = None,
93
93
  **kwargs: Any,
94
94
  ) -> Any:
95
95
  """Run when LLM ends running.
@@ -106,7 +106,7 @@ class LLMManagerMixin:
106
106
  error: BaseException,
107
107
  *,
108
108
  run_id: UUID,
109
- parent_run_id: Optional[UUID] = None,
109
+ parent_run_id: UUID | None = None,
110
110
  **kwargs: Any,
111
111
  ) -> Any:
112
112
  """Run when LLM errors.
@@ -127,7 +127,7 @@ class ChainManagerMixin:
127
127
  outputs: dict[str, Any],
128
128
  *,
129
129
  run_id: UUID,
130
- parent_run_id: Optional[UUID] = None,
130
+ parent_run_id: UUID | None = None,
131
131
  **kwargs: Any,
132
132
  ) -> Any:
133
133
  """Run when chain ends running.
@@ -144,7 +144,7 @@ class ChainManagerMixin:
144
144
  error: BaseException,
145
145
  *,
146
146
  run_id: UUID,
147
- parent_run_id: Optional[UUID] = None,
147
+ parent_run_id: UUID | None = None,
148
148
  **kwargs: Any,
149
149
  ) -> Any:
150
150
  """Run when chain errors.
@@ -161,7 +161,7 @@ class ChainManagerMixin:
161
161
  action: AgentAction,
162
162
  *,
163
163
  run_id: UUID,
164
- parent_run_id: Optional[UUID] = None,
164
+ parent_run_id: UUID | None = None,
165
165
  **kwargs: Any,
166
166
  ) -> Any:
167
167
  """Run on agent action.
@@ -178,7 +178,7 @@ class ChainManagerMixin:
178
178
  finish: AgentFinish,
179
179
  *,
180
180
  run_id: UUID,
181
- parent_run_id: Optional[UUID] = None,
181
+ parent_run_id: UUID | None = None,
182
182
  **kwargs: Any,
183
183
  ) -> Any:
184
184
  """Run on the agent end.
@@ -199,7 +199,7 @@ class ToolManagerMixin:
199
199
  output: Any,
200
200
  *,
201
201
  run_id: UUID,
202
- parent_run_id: Optional[UUID] = None,
202
+ parent_run_id: UUID | None = None,
203
203
  **kwargs: Any,
204
204
  ) -> Any:
205
205
  """Run when the tool ends running.
@@ -216,7 +216,7 @@ class ToolManagerMixin:
216
216
  error: BaseException,
217
217
  *,
218
218
  run_id: UUID,
219
- parent_run_id: Optional[UUID] = None,
219
+ parent_run_id: UUID | None = None,
220
220
  **kwargs: Any,
221
221
  ) -> Any:
222
222
  """Run when tool errors.
@@ -238,14 +238,14 @@ class CallbackManagerMixin:
238
238
  prompts: list[str],
239
239
  *,
240
240
  run_id: UUID,
241
- parent_run_id: Optional[UUID] = None,
242
- tags: Optional[list[str]] = None,
243
- metadata: Optional[dict[str, Any]] = None,
241
+ parent_run_id: UUID | None = None,
242
+ tags: list[str] | None = None,
243
+ metadata: dict[str, Any] | None = None,
244
244
  **kwargs: Any,
245
245
  ) -> Any:
246
246
  """Run when LLM starts running.
247
247
 
248
- .. warning::
248
+ !!! warning
249
249
  This method is called for non-chat models (regular LLMs). If you're
250
250
  implementing a handler for a chat model, you should use
251
251
  ``on_chat_model_start`` instead.
@@ -266,14 +266,14 @@ class CallbackManagerMixin:
266
266
  messages: list[list[BaseMessage]],
267
267
  *,
268
268
  run_id: UUID,
269
- parent_run_id: Optional[UUID] = None,
270
- tags: Optional[list[str]] = None,
271
- metadata: Optional[dict[str, Any]] = None,
269
+ parent_run_id: UUID | None = None,
270
+ tags: list[str] | None = None,
271
+ metadata: dict[str, Any] | None = None,
272
272
  **kwargs: Any,
273
273
  ) -> Any:
274
274
  """Run when a chat model starts running.
275
275
 
276
- .. warning::
276
+ !!! warning
277
277
  This method is called for chat models. If you're implementing a handler for
278
278
  a non-chat model, you should use ``on_llm_start`` instead.
279
279
 
@@ -297,9 +297,9 @@ class CallbackManagerMixin:
297
297
  query: str,
298
298
  *,
299
299
  run_id: UUID,
300
- parent_run_id: Optional[UUID] = None,
301
- tags: Optional[list[str]] = None,
302
- metadata: Optional[dict[str, Any]] = None,
300
+ parent_run_id: UUID | None = None,
301
+ tags: list[str] | None = None,
302
+ metadata: dict[str, Any] | None = None,
303
303
  **kwargs: Any,
304
304
  ) -> Any:
305
305
  """Run when the Retriever starts running.
@@ -320,9 +320,9 @@ class CallbackManagerMixin:
320
320
  inputs: dict[str, Any],
321
321
  *,
322
322
  run_id: UUID,
323
- parent_run_id: Optional[UUID] = None,
324
- tags: Optional[list[str]] = None,
325
- metadata: Optional[dict[str, Any]] = None,
323
+ parent_run_id: UUID | None = None,
324
+ tags: list[str] | None = None,
325
+ metadata: dict[str, Any] | None = None,
326
326
  **kwargs: Any,
327
327
  ) -> Any:
328
328
  """Run when a chain starts running.
@@ -343,10 +343,10 @@ class CallbackManagerMixin:
343
343
  input_str: str,
344
344
  *,
345
345
  run_id: UUID,
346
- parent_run_id: Optional[UUID] = None,
347
- tags: Optional[list[str]] = None,
348
- metadata: Optional[dict[str, Any]] = None,
349
- inputs: Optional[dict[str, Any]] = None,
346
+ parent_run_id: UUID | None = None,
347
+ tags: list[str] | None = None,
348
+ metadata: dict[str, Any] | None = None,
349
+ inputs: dict[str, Any] | None = None,
350
350
  **kwargs: Any,
351
351
  ) -> Any:
352
352
  """Run when the tool starts running.
@@ -371,7 +371,7 @@ class RunManagerMixin:
371
371
  text: str,
372
372
  *,
373
373
  run_id: UUID,
374
- parent_run_id: Optional[UUID] = None,
374
+ parent_run_id: UUID | None = None,
375
375
  **kwargs: Any,
376
376
  ) -> Any:
377
377
  """Run on an arbitrary text.
@@ -388,7 +388,7 @@ class RunManagerMixin:
388
388
  retry_state: RetryCallState,
389
389
  *,
390
390
  run_id: UUID,
391
- parent_run_id: Optional[UUID] = None,
391
+ parent_run_id: UUID | None = None,
392
392
  **kwargs: Any,
393
393
  ) -> Any:
394
394
  """Run on a retry event.
@@ -406,8 +406,8 @@ class RunManagerMixin:
406
406
  data: Any,
407
407
  *,
408
408
  run_id: UUID,
409
- tags: Optional[list[str]] = None,
410
- metadata: Optional[dict[str, Any]] = None,
409
+ tags: list[str] | None = None,
410
+ metadata: dict[str, Any] | None = None,
411
411
  **kwargs: Any,
412
412
  ) -> Any:
413
413
  """Override to define a handler for a custom event.
@@ -422,7 +422,7 @@ class RunManagerMixin:
422
422
  metadata: The metadata associated with the custom event
423
423
  (includes inherited metadata).
424
424
 
425
- .. versionadded:: 0.2.15
425
+ !!! version-added "Added in version 0.2.15"
426
426
  """
427
427
 
428
428
 
@@ -487,14 +487,14 @@ class AsyncCallbackHandler(BaseCallbackHandler):
487
487
  prompts: list[str],
488
488
  *,
489
489
  run_id: UUID,
490
- parent_run_id: Optional[UUID] = None,
491
- tags: Optional[list[str]] = None,
492
- metadata: Optional[dict[str, Any]] = None,
490
+ parent_run_id: UUID | None = None,
491
+ tags: list[str] | None = None,
492
+ metadata: dict[str, Any] | None = None,
493
493
  **kwargs: Any,
494
494
  ) -> None:
495
495
  """Run when the model starts running.
496
496
 
497
- .. warning::
497
+ !!! warning
498
498
  This method is called for non-chat models (regular LLMs). If you're
499
499
  implementing a handler for a chat model, you should use
500
500
  ``on_chat_model_start`` instead.
@@ -515,14 +515,14 @@ class AsyncCallbackHandler(BaseCallbackHandler):
515
515
  messages: list[list[BaseMessage]],
516
516
  *,
517
517
  run_id: UUID,
518
- parent_run_id: Optional[UUID] = None,
519
- tags: Optional[list[str]] = None,
520
- metadata: Optional[dict[str, Any]] = None,
518
+ parent_run_id: UUID | None = None,
519
+ tags: list[str] | None = None,
520
+ metadata: dict[str, Any] | None = None,
521
521
  **kwargs: Any,
522
522
  ) -> Any:
523
523
  """Run when a chat model starts running.
524
524
 
525
- .. warning::
525
+ !!! warning
526
526
  This method is called for chat models. If you're implementing a handler for
527
527
  a non-chat model, you should use ``on_llm_start`` instead.
528
528
 
@@ -544,10 +544,10 @@ class AsyncCallbackHandler(BaseCallbackHandler):
544
544
  self,
545
545
  token: str,
546
546
  *,
547
- chunk: Optional[Union[GenerationChunk, ChatGenerationChunk]] = None,
547
+ chunk: GenerationChunk | ChatGenerationChunk | None = None,
548
548
  run_id: UUID,
549
- parent_run_id: Optional[UUID] = None,
550
- tags: Optional[list[str]] = None,
549
+ parent_run_id: UUID | None = None,
550
+ tags: list[str] | None = None,
551
551
  **kwargs: Any,
552
552
  ) -> None:
553
553
  """Run on new output token. Only available when streaming is enabled.
@@ -569,8 +569,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
569
569
  response: LLMResult,
570
570
  *,
571
571
  run_id: UUID,
572
- parent_run_id: Optional[UUID] = None,
573
- tags: Optional[list[str]] = None,
572
+ parent_run_id: UUID | None = None,
573
+ tags: list[str] | None = None,
574
574
  **kwargs: Any,
575
575
  ) -> None:
576
576
  """Run when the model ends running.
@@ -588,8 +588,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
588
588
  error: BaseException,
589
589
  *,
590
590
  run_id: UUID,
591
- parent_run_id: Optional[UUID] = None,
592
- tags: Optional[list[str]] = None,
591
+ parent_run_id: UUID | None = None,
592
+ tags: list[str] | None = None,
593
593
  **kwargs: Any,
594
594
  ) -> None:
595
595
  """Run when LLM errors.
@@ -610,9 +610,9 @@ class AsyncCallbackHandler(BaseCallbackHandler):
610
610
  inputs: dict[str, Any],
611
611
  *,
612
612
  run_id: UUID,
613
- parent_run_id: Optional[UUID] = None,
614
- tags: Optional[list[str]] = None,
615
- metadata: Optional[dict[str, Any]] = None,
613
+ parent_run_id: UUID | None = None,
614
+ tags: list[str] | None = None,
615
+ metadata: dict[str, Any] | None = None,
616
616
  **kwargs: Any,
617
617
  ) -> None:
618
618
  """Run when a chain starts running.
@@ -632,8 +632,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
632
632
  outputs: dict[str, Any],
633
633
  *,
634
634
  run_id: UUID,
635
- parent_run_id: Optional[UUID] = None,
636
- tags: Optional[list[str]] = None,
635
+ parent_run_id: UUID | None = None,
636
+ tags: list[str] | None = None,
637
637
  **kwargs: Any,
638
638
  ) -> None:
639
639
  """Run when a chain ends running.
@@ -651,8 +651,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
651
651
  error: BaseException,
652
652
  *,
653
653
  run_id: UUID,
654
- parent_run_id: Optional[UUID] = None,
655
- tags: Optional[list[str]] = None,
654
+ parent_run_id: UUID | None = None,
655
+ tags: list[str] | None = None,
656
656
  **kwargs: Any,
657
657
  ) -> None:
658
658
  """Run when chain errors.
@@ -671,10 +671,10 @@ class AsyncCallbackHandler(BaseCallbackHandler):
671
671
  input_str: str,
672
672
  *,
673
673
  run_id: UUID,
674
- parent_run_id: Optional[UUID] = None,
675
- tags: Optional[list[str]] = None,
676
- metadata: Optional[dict[str, Any]] = None,
677
- inputs: Optional[dict[str, Any]] = None,
674
+ parent_run_id: UUID | None = None,
675
+ tags: list[str] | None = None,
676
+ metadata: dict[str, Any] | None = None,
677
+ inputs: dict[str, Any] | None = None,
678
678
  **kwargs: Any,
679
679
  ) -> None:
680
680
  """Run when the tool starts running.
@@ -695,8 +695,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
695
695
  output: Any,
696
696
  *,
697
697
  run_id: UUID,
698
- parent_run_id: Optional[UUID] = None,
699
- tags: Optional[list[str]] = None,
698
+ parent_run_id: UUID | None = None,
699
+ tags: list[str] | None = None,
700
700
  **kwargs: Any,
701
701
  ) -> None:
702
702
  """Run when the tool ends running.
@@ -714,8 +714,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
714
714
  error: BaseException,
715
715
  *,
716
716
  run_id: UUID,
717
- parent_run_id: Optional[UUID] = None,
718
- tags: Optional[list[str]] = None,
717
+ parent_run_id: UUID | None = None,
718
+ tags: list[str] | None = None,
719
719
  **kwargs: Any,
720
720
  ) -> None:
721
721
  """Run when tool errors.
@@ -733,8 +733,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
733
733
  text: str,
734
734
  *,
735
735
  run_id: UUID,
736
- parent_run_id: Optional[UUID] = None,
737
- tags: Optional[list[str]] = None,
736
+ parent_run_id: UUID | None = None,
737
+ tags: list[str] | None = None,
738
738
  **kwargs: Any,
739
739
  ) -> None:
740
740
  """Run on an arbitrary text.
@@ -752,7 +752,7 @@ class AsyncCallbackHandler(BaseCallbackHandler):
752
752
  retry_state: RetryCallState,
753
753
  *,
754
754
  run_id: UUID,
755
- parent_run_id: Optional[UUID] = None,
755
+ parent_run_id: UUID | None = None,
756
756
  **kwargs: Any,
757
757
  ) -> Any:
758
758
  """Run on a retry event.
@@ -769,8 +769,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
769
769
  action: AgentAction,
770
770
  *,
771
771
  run_id: UUID,
772
- parent_run_id: Optional[UUID] = None,
773
- tags: Optional[list[str]] = None,
772
+ parent_run_id: UUID | None = None,
773
+ tags: list[str] | None = None,
774
774
  **kwargs: Any,
775
775
  ) -> None:
776
776
  """Run on agent action.
@@ -788,8 +788,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
788
788
  finish: AgentFinish,
789
789
  *,
790
790
  run_id: UUID,
791
- parent_run_id: Optional[UUID] = None,
792
- tags: Optional[list[str]] = None,
791
+ parent_run_id: UUID | None = None,
792
+ tags: list[str] | None = None,
793
793
  **kwargs: Any,
794
794
  ) -> None:
795
795
  """Run on the agent end.
@@ -808,9 +808,9 @@ class AsyncCallbackHandler(BaseCallbackHandler):
808
808
  query: str,
809
809
  *,
810
810
  run_id: UUID,
811
- parent_run_id: Optional[UUID] = None,
812
- tags: Optional[list[str]] = None,
813
- metadata: Optional[dict[str, Any]] = None,
811
+ parent_run_id: UUID | None = None,
812
+ tags: list[str] | None = None,
813
+ metadata: dict[str, Any] | None = None,
814
814
  **kwargs: Any,
815
815
  ) -> None:
816
816
  """Run on the retriever start.
@@ -830,8 +830,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
830
830
  documents: Sequence[Document],
831
831
  *,
832
832
  run_id: UUID,
833
- parent_run_id: Optional[UUID] = None,
834
- tags: Optional[list[str]] = None,
833
+ parent_run_id: UUID | None = None,
834
+ tags: list[str] | None = None,
835
835
  **kwargs: Any,
836
836
  ) -> None:
837
837
  """Run on the retriever end.
@@ -849,8 +849,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
849
849
  error: BaseException,
850
850
  *,
851
851
  run_id: UUID,
852
- parent_run_id: Optional[UUID] = None,
853
- tags: Optional[list[str]] = None,
852
+ parent_run_id: UUID | None = None,
853
+ tags: list[str] | None = None,
854
854
  **kwargs: Any,
855
855
  ) -> None:
856
856
  """Run on retriever error.
@@ -869,8 +869,8 @@ class AsyncCallbackHandler(BaseCallbackHandler):
869
869
  data: Any,
870
870
  *,
871
871
  run_id: UUID,
872
- tags: Optional[list[str]] = None,
873
- metadata: Optional[dict[str, Any]] = None,
872
+ tags: list[str] | None = None,
873
+ metadata: dict[str, Any] | None = None,
874
874
  **kwargs: Any,
875
875
  ) -> None:
876
876
  """Override to define a handler for custom events.
@@ -885,7 +885,7 @@ class AsyncCallbackHandler(BaseCallbackHandler):
885
885
  metadata: The metadata associated with the custom event
886
886
  (includes inherited metadata).
887
887
 
888
- .. versionadded:: 0.2.15
888
+ !!! version-added "Added in version 0.2.15"
889
889
  """
890
890
 
891
891
 
@@ -895,13 +895,13 @@ class BaseCallbackManager(CallbackManagerMixin):
895
895
  def __init__(
896
896
  self,
897
897
  handlers: list[BaseCallbackHandler],
898
- inheritable_handlers: Optional[list[BaseCallbackHandler]] = None,
899
- parent_run_id: Optional[UUID] = None,
898
+ inheritable_handlers: list[BaseCallbackHandler] | None = None,
899
+ parent_run_id: UUID | None = None,
900
900
  *,
901
- tags: Optional[list[str]] = None,
902
- inheritable_tags: Optional[list[str]] = None,
903
- metadata: Optional[dict[str, Any]] = None,
904
- inheritable_metadata: Optional[dict[str, Any]] = None,
901
+ tags: list[str] | None = None,
902
+ inheritable_tags: list[str] | None = None,
903
+ metadata: dict[str, Any] | None = None,
904
+ inheritable_metadata: dict[str, Any] | None = None,
905
905
  ) -> None:
906
906
  """Initialize callback manager.
907
907
 
@@ -921,7 +921,7 @@ class BaseCallbackManager(CallbackManagerMixin):
921
921
  self.inheritable_handlers: list[BaseCallbackHandler] = (
922
922
  inheritable_handlers or []
923
923
  )
924
- self.parent_run_id: Optional[UUID] = parent_run_id
924
+ self.parent_run_id: UUID | None = parent_run_id
925
925
  self.tags = tags or []
926
926
  self.inheritable_tags = inheritable_tags or []
927
927
  self.metadata = metadata or {}
@@ -1115,4 +1115,4 @@ class BaseCallbackManager(CallbackManagerMixin):
1115
1115
  self.inheritable_metadata.pop(key, None)
1116
1116
 
1117
1117
 
1118
- Callbacks = Optional[Union[list[BaseCallbackHandler], BaseCallbackManager]]
1118
+ Callbacks = list[BaseCallbackHandler] | BaseCallbackManager | None
@@ -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
 
@@ -49,7 +49,7 @@ class FileCallbackHandler(BaseCallbackHandler):
49
49
  mode: The file open mode. Defaults to ``'a'`` (append).
50
50
  color: Default color for text output. Defaults to ``None``.
51
51
 
52
- .. note::
52
+ !!! note
53
53
  When not used as a context manager, a deprecation warning will be issued
54
54
  on first use. The file will be opened immediately in ``__init__`` and closed
55
55
  in ``__del__`` or when ``close()`` is called explicitly.
@@ -57,7 +57,7 @@ class FileCallbackHandler(BaseCallbackHandler):
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
 
@@ -83,7 +83,7 @@ class FileCallbackHandler(BaseCallbackHandler):
83
83
  Returns:
84
84
  The FileCallbackHandler instance.
85
85
 
86
- .. note::
86
+ !!! note
87
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
 
@@ -124,7 +124,7 @@ 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.
@@ -190,7 +190,7 @@ 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
 
@@ -207,9 +207,9 @@ 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.
@@ -231,7 +231,7 @@ 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
 
@@ -247,7 +247,7 @@ 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