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.
- langchain_core/_api/__init__.py +3 -3
- langchain_core/_api/beta_decorator.py +6 -6
- langchain_core/_api/deprecation.py +21 -29
- langchain_core/_api/path.py +3 -6
- langchain_core/_import_utils.py +2 -3
- langchain_core/agents.py +10 -11
- langchain_core/caches.py +7 -7
- langchain_core/callbacks/base.py +91 -91
- langchain_core/callbacks/file.py +11 -11
- langchain_core/callbacks/manager.py +86 -89
- langchain_core/callbacks/stdout.py +8 -8
- langchain_core/callbacks/usage.py +4 -4
- langchain_core/chat_history.py +5 -5
- langchain_core/document_loaders/base.py +2 -2
- langchain_core/document_loaders/langsmith.py +15 -15
- langchain_core/documents/base.py +16 -16
- langchain_core/documents/compressor.py +4 -4
- langchain_core/example_selectors/length_based.py +1 -1
- langchain_core/example_selectors/semantic_similarity.py +17 -19
- langchain_core/exceptions.py +3 -3
- langchain_core/globals.py +3 -151
- langchain_core/indexing/api.py +44 -43
- langchain_core/indexing/base.py +30 -30
- langchain_core/indexing/in_memory.py +3 -3
- langchain_core/language_models/_utils.py +5 -7
- langchain_core/language_models/base.py +18 -132
- langchain_core/language_models/chat_models.py +118 -227
- langchain_core/language_models/fake.py +11 -11
- langchain_core/language_models/fake_chat_models.py +35 -29
- langchain_core/language_models/llms.py +91 -201
- langchain_core/load/dump.py +1 -1
- langchain_core/load/load.py +11 -12
- langchain_core/load/mapping.py +2 -4
- langchain_core/load/serializable.py +2 -4
- langchain_core/messages/ai.py +17 -20
- langchain_core/messages/base.py +23 -25
- langchain_core/messages/block_translators/__init__.py +2 -5
- langchain_core/messages/block_translators/anthropic.py +3 -3
- langchain_core/messages/block_translators/bedrock_converse.py +2 -2
- langchain_core/messages/block_translators/langchain_v0.py +2 -2
- langchain_core/messages/block_translators/openai.py +6 -6
- langchain_core/messages/content.py +120 -124
- langchain_core/messages/human.py +7 -7
- langchain_core/messages/system.py +7 -7
- langchain_core/messages/tool.py +24 -24
- langchain_core/messages/utils.py +67 -79
- langchain_core/output_parsers/base.py +12 -14
- langchain_core/output_parsers/json.py +4 -4
- langchain_core/output_parsers/list.py +3 -5
- langchain_core/output_parsers/openai_functions.py +3 -3
- langchain_core/output_parsers/openai_tools.py +3 -3
- langchain_core/output_parsers/pydantic.py +2 -2
- langchain_core/output_parsers/transform.py +13 -15
- langchain_core/output_parsers/xml.py +7 -9
- langchain_core/outputs/chat_generation.py +4 -4
- langchain_core/outputs/chat_result.py +1 -3
- langchain_core/outputs/generation.py +2 -2
- langchain_core/outputs/llm_result.py +5 -5
- langchain_core/prompts/__init__.py +1 -5
- langchain_core/prompts/base.py +10 -15
- langchain_core/prompts/chat.py +31 -82
- langchain_core/prompts/dict.py +2 -2
- langchain_core/prompts/few_shot.py +5 -5
- langchain_core/prompts/few_shot_with_templates.py +4 -4
- langchain_core/prompts/loading.py +3 -5
- langchain_core/prompts/prompt.py +4 -16
- langchain_core/prompts/string.py +2 -1
- langchain_core/prompts/structured.py +16 -23
- langchain_core/rate_limiters.py +3 -4
- langchain_core/retrievers.py +14 -14
- langchain_core/runnables/base.py +928 -1042
- langchain_core/runnables/branch.py +36 -40
- langchain_core/runnables/config.py +27 -35
- langchain_core/runnables/configurable.py +108 -124
- langchain_core/runnables/fallbacks.py +76 -72
- langchain_core/runnables/graph.py +39 -45
- langchain_core/runnables/graph_ascii.py +9 -11
- langchain_core/runnables/graph_mermaid.py +18 -19
- langchain_core/runnables/graph_png.py +8 -9
- langchain_core/runnables/history.py +114 -127
- langchain_core/runnables/passthrough.py +113 -139
- langchain_core/runnables/retry.py +43 -48
- langchain_core/runnables/router.py +23 -28
- langchain_core/runnables/schema.py +42 -44
- langchain_core/runnables/utils.py +28 -31
- langchain_core/stores.py +9 -13
- langchain_core/structured_query.py +8 -8
- langchain_core/tools/base.py +62 -115
- langchain_core/tools/convert.py +31 -35
- langchain_core/tools/render.py +1 -1
- langchain_core/tools/retriever.py +4 -4
- langchain_core/tools/simple.py +13 -17
- langchain_core/tools/structured.py +12 -15
- langchain_core/tracers/base.py +62 -64
- langchain_core/tracers/context.py +17 -35
- langchain_core/tracers/core.py +49 -53
- langchain_core/tracers/evaluation.py +11 -11
- langchain_core/tracers/event_stream.py +58 -60
- langchain_core/tracers/langchain.py +13 -13
- langchain_core/tracers/log_stream.py +22 -24
- langchain_core/tracers/root_listeners.py +14 -14
- langchain_core/tracers/run_collector.py +2 -4
- langchain_core/tracers/schemas.py +8 -8
- langchain_core/tracers/stdout.py +2 -1
- langchain_core/utils/__init__.py +0 -3
- langchain_core/utils/_merge.py +2 -2
- langchain_core/utils/aiter.py +24 -28
- langchain_core/utils/env.py +4 -4
- langchain_core/utils/function_calling.py +31 -41
- langchain_core/utils/html.py +3 -4
- langchain_core/utils/input.py +3 -3
- langchain_core/utils/iter.py +15 -19
- langchain_core/utils/json.py +3 -2
- langchain_core/utils/json_schema.py +6 -6
- langchain_core/utils/mustache.py +3 -5
- langchain_core/utils/pydantic.py +16 -18
- langchain_core/utils/usage.py +1 -1
- langchain_core/utils/utils.py +29 -29
- langchain_core/vectorstores/base.py +18 -21
- langchain_core/vectorstores/in_memory.py +14 -87
- langchain_core/vectorstores/utils.py +2 -2
- langchain_core/version.py +1 -1
- {langchain_core-1.0.0a6.dist-info → langchain_core-1.0.0a8.dist-info}/METADATA +10 -21
- langchain_core-1.0.0a8.dist-info/RECORD +176 -0
- {langchain_core-1.0.0a6.dist-info → langchain_core-1.0.0a8.dist-info}/WHEEL +1 -1
- langchain_core/messages/block_translators/ollama.py +0 -47
- langchain_core/prompts/pipeline.py +0 -138
- langchain_core/tracers/langchain_v1.py +0 -31
- langchain_core/utils/loading.py +0 -35
- langchain_core-1.0.0a6.dist-info/RECORD +0 -181
- langchain_core-1.0.0a6.dist-info/entry_points.txt +0 -4
langchain_core/callbacks/base.py
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
|
-
from typing import TYPE_CHECKING, Any
|
|
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:
|
|
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:
|
|
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:
|
|
69
|
+
chunk: GenerationChunk | ChatGenerationChunk | None = None,
|
|
70
70
|
run_id: UUID,
|
|
71
|
-
parent_run_id:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
242
|
-
tags:
|
|
243
|
-
metadata:
|
|
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
|
-
|
|
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:
|
|
270
|
-
tags:
|
|
271
|
-
metadata:
|
|
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
|
-
|
|
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:
|
|
301
|
-
tags:
|
|
302
|
-
metadata:
|
|
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:
|
|
324
|
-
tags:
|
|
325
|
-
metadata:
|
|
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:
|
|
347
|
-
tags:
|
|
348
|
-
metadata:
|
|
349
|
-
inputs:
|
|
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:
|
|
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:
|
|
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:
|
|
410
|
-
metadata:
|
|
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
|
-
|
|
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:
|
|
491
|
-
tags:
|
|
492
|
-
metadata:
|
|
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
|
-
|
|
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:
|
|
519
|
-
tags:
|
|
520
|
-
metadata:
|
|
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
|
-
|
|
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:
|
|
547
|
+
chunk: GenerationChunk | ChatGenerationChunk | None = None,
|
|
548
548
|
run_id: UUID,
|
|
549
|
-
parent_run_id:
|
|
550
|
-
tags:
|
|
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:
|
|
573
|
-
tags:
|
|
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:
|
|
592
|
-
tags:
|
|
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:
|
|
614
|
-
tags:
|
|
615
|
-
metadata:
|
|
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:
|
|
636
|
-
tags:
|
|
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:
|
|
655
|
-
tags:
|
|
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:
|
|
675
|
-
tags:
|
|
676
|
-
metadata:
|
|
677
|
-
inputs:
|
|
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:
|
|
699
|
-
tags:
|
|
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:
|
|
718
|
-
tags:
|
|
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:
|
|
737
|
-
tags:
|
|
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:
|
|
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:
|
|
773
|
-
tags:
|
|
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:
|
|
792
|
-
tags:
|
|
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:
|
|
812
|
-
tags:
|
|
813
|
-
metadata:
|
|
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:
|
|
834
|
-
tags:
|
|
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:
|
|
853
|
-
tags:
|
|
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:
|
|
873
|
-
metadata:
|
|
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
|
-
|
|
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:
|
|
899
|
-
parent_run_id:
|
|
898
|
+
inheritable_handlers: list[BaseCallbackHandler] | None = None,
|
|
899
|
+
parent_run_id: UUID | None = None,
|
|
900
900
|
*,
|
|
901
|
-
tags:
|
|
902
|
-
inheritable_tags:
|
|
903
|
-
metadata:
|
|
904
|
-
inheritable_metadata:
|
|
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:
|
|
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 =
|
|
1118
|
+
Callbacks = list[BaseCallbackHandler] | BaseCallbackManager | None
|
langchain_core/callbacks/file.py
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
211
|
-
observation_prefix:
|
|
212
|
-
llm_prefix:
|
|
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:
|
|
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:
|
|
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
|
|