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.
- langchain_core/__init__.py +1 -1
- langchain_core/_api/__init__.py +3 -4
- langchain_core/_api/beta_decorator.py +23 -26
- langchain_core/_api/deprecation.py +51 -64
- langchain_core/_api/path.py +3 -6
- langchain_core/_import_utils.py +3 -4
- langchain_core/agents.py +55 -48
- langchain_core/caches.py +65 -66
- langchain_core/callbacks/__init__.py +1 -8
- langchain_core/callbacks/base.py +321 -336
- langchain_core/callbacks/file.py +44 -44
- langchain_core/callbacks/manager.py +454 -514
- langchain_core/callbacks/stdout.py +29 -30
- langchain_core/callbacks/streaming_stdout.py +32 -32
- langchain_core/callbacks/usage.py +60 -57
- langchain_core/chat_history.py +53 -68
- langchain_core/document_loaders/base.py +27 -25
- langchain_core/document_loaders/blob_loaders.py +1 -1
- langchain_core/document_loaders/langsmith.py +44 -48
- langchain_core/documents/__init__.py +23 -3
- langchain_core/documents/base.py +102 -94
- langchain_core/documents/compressor.py +10 -10
- langchain_core/documents/transformers.py +34 -35
- langchain_core/embeddings/fake.py +50 -54
- langchain_core/example_selectors/length_based.py +2 -2
- langchain_core/example_selectors/semantic_similarity.py +28 -32
- langchain_core/exceptions.py +21 -20
- langchain_core/globals.py +3 -151
- langchain_core/indexing/__init__.py +1 -1
- langchain_core/indexing/api.py +121 -126
- langchain_core/indexing/base.py +73 -75
- langchain_core/indexing/in_memory.py +4 -6
- langchain_core/language_models/__init__.py +14 -29
- langchain_core/language_models/_utils.py +58 -61
- langchain_core/language_models/base.py +82 -172
- langchain_core/language_models/chat_models.py +329 -402
- langchain_core/language_models/fake.py +11 -11
- langchain_core/language_models/fake_chat_models.py +42 -36
- langchain_core/language_models/llms.py +189 -269
- langchain_core/load/dump.py +9 -12
- langchain_core/load/load.py +18 -28
- langchain_core/load/mapping.py +2 -4
- langchain_core/load/serializable.py +42 -40
- langchain_core/messages/__init__.py +10 -16
- langchain_core/messages/ai.py +148 -148
- langchain_core/messages/base.py +53 -51
- langchain_core/messages/block_translators/__init__.py +19 -22
- langchain_core/messages/block_translators/anthropic.py +6 -6
- langchain_core/messages/block_translators/bedrock_converse.py +5 -5
- langchain_core/messages/block_translators/google_genai.py +10 -7
- langchain_core/messages/block_translators/google_vertexai.py +4 -32
- langchain_core/messages/block_translators/groq.py +117 -21
- langchain_core/messages/block_translators/langchain_v0.py +5 -5
- langchain_core/messages/block_translators/openai.py +11 -11
- langchain_core/messages/chat.py +2 -6
- langchain_core/messages/content.py +339 -330
- langchain_core/messages/function.py +6 -10
- langchain_core/messages/human.py +24 -31
- langchain_core/messages/modifier.py +2 -2
- langchain_core/messages/system.py +19 -29
- langchain_core/messages/tool.py +74 -90
- langchain_core/messages/utils.py +484 -510
- langchain_core/output_parsers/__init__.py +13 -10
- langchain_core/output_parsers/base.py +61 -61
- langchain_core/output_parsers/format_instructions.py +9 -4
- langchain_core/output_parsers/json.py +12 -10
- langchain_core/output_parsers/list.py +21 -23
- langchain_core/output_parsers/openai_functions.py +49 -47
- langchain_core/output_parsers/openai_tools.py +30 -23
- langchain_core/output_parsers/pydantic.py +13 -14
- langchain_core/output_parsers/string.py +5 -5
- langchain_core/output_parsers/transform.py +15 -17
- langchain_core/output_parsers/xml.py +35 -34
- langchain_core/outputs/__init__.py +1 -1
- langchain_core/outputs/chat_generation.py +18 -18
- langchain_core/outputs/chat_result.py +1 -3
- langchain_core/outputs/generation.py +16 -16
- langchain_core/outputs/llm_result.py +10 -10
- langchain_core/prompt_values.py +13 -19
- langchain_core/prompts/__init__.py +3 -27
- langchain_core/prompts/base.py +81 -86
- langchain_core/prompts/chat.py +308 -351
- langchain_core/prompts/dict.py +6 -6
- langchain_core/prompts/few_shot.py +81 -88
- langchain_core/prompts/few_shot_with_templates.py +11 -13
- langchain_core/prompts/image.py +12 -14
- langchain_core/prompts/loading.py +4 -6
- langchain_core/prompts/message.py +7 -7
- langchain_core/prompts/prompt.py +24 -39
- langchain_core/prompts/string.py +26 -10
- langchain_core/prompts/structured.py +49 -53
- langchain_core/rate_limiters.py +51 -60
- langchain_core/retrievers.py +61 -198
- langchain_core/runnables/base.py +1551 -1656
- langchain_core/runnables/branch.py +68 -70
- langchain_core/runnables/config.py +72 -89
- langchain_core/runnables/configurable.py +145 -161
- langchain_core/runnables/fallbacks.py +102 -96
- langchain_core/runnables/graph.py +91 -97
- langchain_core/runnables/graph_ascii.py +27 -28
- langchain_core/runnables/graph_mermaid.py +42 -51
- langchain_core/runnables/graph_png.py +43 -16
- langchain_core/runnables/history.py +175 -177
- langchain_core/runnables/passthrough.py +151 -167
- langchain_core/runnables/retry.py +46 -51
- langchain_core/runnables/router.py +30 -35
- langchain_core/runnables/schema.py +75 -80
- langchain_core/runnables/utils.py +60 -67
- langchain_core/stores.py +85 -121
- langchain_core/structured_query.py +8 -8
- langchain_core/sys_info.py +29 -29
- langchain_core/tools/__init__.py +1 -14
- langchain_core/tools/base.py +306 -245
- langchain_core/tools/convert.py +160 -155
- langchain_core/tools/render.py +10 -10
- langchain_core/tools/retriever.py +12 -11
- langchain_core/tools/simple.py +19 -24
- langchain_core/tools/structured.py +32 -39
- langchain_core/tracers/__init__.py +1 -9
- langchain_core/tracers/base.py +97 -99
- langchain_core/tracers/context.py +29 -52
- langchain_core/tracers/core.py +49 -53
- langchain_core/tracers/evaluation.py +11 -11
- langchain_core/tracers/event_stream.py +65 -64
- langchain_core/tracers/langchain.py +21 -21
- langchain_core/tracers/log_stream.py +45 -45
- langchain_core/tracers/memory_stream.py +3 -3
- langchain_core/tracers/root_listeners.py +16 -16
- langchain_core/tracers/run_collector.py +2 -4
- langchain_core/tracers/schemas.py +0 -129
- langchain_core/tracers/stdout.py +3 -3
- langchain_core/utils/__init__.py +1 -4
- langchain_core/utils/_merge.py +2 -2
- langchain_core/utils/aiter.py +57 -61
- langchain_core/utils/env.py +9 -9
- langchain_core/utils/function_calling.py +94 -188
- langchain_core/utils/html.py +7 -8
- langchain_core/utils/input.py +9 -6
- langchain_core/utils/interactive_env.py +1 -1
- langchain_core/utils/iter.py +36 -40
- langchain_core/utils/json.py +4 -3
- langchain_core/utils/json_schema.py +9 -9
- langchain_core/utils/mustache.py +8 -10
- langchain_core/utils/pydantic.py +35 -37
- langchain_core/utils/strings.py +6 -9
- langchain_core/utils/usage.py +1 -1
- langchain_core/utils/utils.py +66 -62
- langchain_core/vectorstores/base.py +182 -216
- langchain_core/vectorstores/in_memory.py +101 -176
- langchain_core/vectorstores/utils.py +5 -5
- langchain_core/version.py +1 -1
- langchain_core-1.0.4.dist-info/METADATA +69 -0
- langchain_core-1.0.4.dist-info/RECORD +172 -0
- {langchain_core-1.0.0a6.dist-info → langchain_core-1.0.4.dist-info}/WHEEL +1 -1
- langchain_core/memory.py +0 -120
- langchain_core/messages/block_translators/ollama.py +0 -47
- langchain_core/prompts/pipeline.py +0 -138
- langchain_core/pydantic_v1/__init__.py +0 -30
- langchain_core/pydantic_v1/dataclasses.py +0 -23
- langchain_core/pydantic_v1/main.py +0 -23
- langchain_core/tracers/langchain_v1.py +0 -31
- langchain_core/utils/loading.py +0 -35
- langchain_core-1.0.0a6.dist-info/METADATA +0 -67
- 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/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
|
|
|
@@ -27,44 +27,44 @@ class FileCallbackHandler(BaseCallbackHandler):
|
|
|
27
27
|
Examples:
|
|
28
28
|
Using as a context manager (recommended):
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
with
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
|
50
|
-
color: Default color for text output.
|
|
49
|
+
mode: The file open mode. Defaults to `'a'` (append).
|
|
50
|
+
color: Default color for text output.
|
|
51
51
|
|
|
52
|
-
|
|
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
|
|
55
|
-
in
|
|
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:
|
|
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.,
|
|
67
|
-
color: Default text color for output.
|
|
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
|
-
|
|
87
|
-
The file is already opened in
|
|
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:
|
|
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
|
|
135
|
-
end: String appended after the text.
|
|
136
|
-
file: Optional file to write to. Defaults to
|
|
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
|
|
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:
|
|
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
|
|
200
|
-
|
|
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:
|
|
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.
|
|
216
216
|
|
|
217
217
|
Args:
|
|
218
218
|
output: The tool output to write.
|
|
219
|
-
color: Color override for this specific output. If
|
|
220
|
-
|
|
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:
|
|
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
|
|
241
|
-
|
|
242
|
-
end: String appended after the text.
|
|
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:
|
|
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
|
|
257
|
-
|
|
256
|
+
color: Color override for this specific output. If `None`, uses
|
|
257
|
+
`self.color`.
|
|
258
258
|
**kwargs: Additional keyword arguments.
|
|
259
259
|
|
|
260
260
|
"""
|