langchain-core 0.3.79__py3-none-any.whl → 1.0.0__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 +52 -65
  5. langchain_core/_api/path.py +3 -6
  6. langchain_core/_import_utils.py +3 -4
  7. langchain_core/agents.py +19 -19
  8. langchain_core/caches.py +53 -63
  9. langchain_core/callbacks/__init__.py +1 -8
  10. langchain_core/callbacks/base.py +323 -334
  11. langchain_core/callbacks/file.py +44 -44
  12. langchain_core/callbacks/manager.py +441 -507
  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 +48 -63
  17. langchain_core/document_loaders/base.py +23 -23
  18. langchain_core/document_loaders/langsmith.py +37 -37
  19. langchain_core/documents/__init__.py +0 -1
  20. langchain_core/documents/base.py +62 -65
  21. langchain_core/documents/compressor.py +4 -4
  22. langchain_core/documents/transformers.py +28 -29
  23. langchain_core/embeddings/fake.py +50 -54
  24. langchain_core/example_selectors/length_based.py +1 -1
  25. langchain_core/example_selectors/semantic_similarity.py +21 -25
  26. langchain_core/exceptions.py +10 -11
  27. langchain_core/globals.py +3 -151
  28. langchain_core/indexing/api.py +61 -66
  29. langchain_core/indexing/base.py +58 -58
  30. langchain_core/indexing/in_memory.py +3 -3
  31. langchain_core/language_models/__init__.py +14 -27
  32. langchain_core/language_models/_utils.py +270 -84
  33. langchain_core/language_models/base.py +55 -162
  34. langchain_core/language_models/chat_models.py +442 -402
  35. langchain_core/language_models/fake.py +11 -11
  36. langchain_core/language_models/fake_chat_models.py +61 -39
  37. langchain_core/language_models/llms.py +123 -231
  38. langchain_core/load/dump.py +4 -5
  39. langchain_core/load/load.py +18 -28
  40. langchain_core/load/mapping.py +2 -4
  41. langchain_core/load/serializable.py +39 -40
  42. langchain_core/messages/__init__.py +61 -22
  43. langchain_core/messages/ai.py +368 -163
  44. langchain_core/messages/base.py +214 -43
  45. langchain_core/messages/block_translators/__init__.py +111 -0
  46. langchain_core/messages/block_translators/anthropic.py +470 -0
  47. langchain_core/messages/block_translators/bedrock.py +94 -0
  48. langchain_core/messages/block_translators/bedrock_converse.py +297 -0
  49. langchain_core/messages/block_translators/google_genai.py +530 -0
  50. langchain_core/messages/block_translators/google_vertexai.py +21 -0
  51. langchain_core/messages/block_translators/groq.py +143 -0
  52. langchain_core/messages/block_translators/langchain_v0.py +301 -0
  53. langchain_core/messages/block_translators/openai.py +1010 -0
  54. langchain_core/messages/chat.py +2 -6
  55. langchain_core/messages/content.py +1423 -0
  56. langchain_core/messages/function.py +6 -10
  57. langchain_core/messages/human.py +41 -38
  58. langchain_core/messages/modifier.py +2 -2
  59. langchain_core/messages/system.py +38 -28
  60. langchain_core/messages/tool.py +96 -103
  61. langchain_core/messages/utils.py +478 -504
  62. langchain_core/output_parsers/__init__.py +1 -14
  63. langchain_core/output_parsers/base.py +58 -61
  64. langchain_core/output_parsers/json.py +7 -8
  65. langchain_core/output_parsers/list.py +5 -7
  66. langchain_core/output_parsers/openai_functions.py +49 -47
  67. langchain_core/output_parsers/openai_tools.py +14 -19
  68. langchain_core/output_parsers/pydantic.py +12 -13
  69. langchain_core/output_parsers/string.py +2 -2
  70. langchain_core/output_parsers/transform.py +15 -17
  71. langchain_core/output_parsers/xml.py +8 -10
  72. langchain_core/outputs/__init__.py +1 -1
  73. langchain_core/outputs/chat_generation.py +18 -18
  74. langchain_core/outputs/chat_result.py +1 -3
  75. langchain_core/outputs/generation.py +8 -8
  76. langchain_core/outputs/llm_result.py +10 -10
  77. langchain_core/prompt_values.py +12 -12
  78. langchain_core/prompts/__init__.py +3 -27
  79. langchain_core/prompts/base.py +45 -55
  80. langchain_core/prompts/chat.py +254 -313
  81. langchain_core/prompts/dict.py +5 -5
  82. langchain_core/prompts/few_shot.py +81 -88
  83. langchain_core/prompts/few_shot_with_templates.py +11 -13
  84. langchain_core/prompts/image.py +12 -14
  85. langchain_core/prompts/loading.py +6 -8
  86. langchain_core/prompts/message.py +3 -3
  87. langchain_core/prompts/prompt.py +24 -39
  88. langchain_core/prompts/string.py +4 -4
  89. langchain_core/prompts/structured.py +42 -50
  90. langchain_core/rate_limiters.py +51 -60
  91. langchain_core/retrievers.py +49 -190
  92. langchain_core/runnables/base.py +1484 -1709
  93. langchain_core/runnables/branch.py +45 -61
  94. langchain_core/runnables/config.py +80 -88
  95. langchain_core/runnables/configurable.py +117 -134
  96. langchain_core/runnables/fallbacks.py +83 -79
  97. langchain_core/runnables/graph.py +85 -95
  98. langchain_core/runnables/graph_ascii.py +27 -28
  99. langchain_core/runnables/graph_mermaid.py +38 -50
  100. langchain_core/runnables/graph_png.py +15 -16
  101. langchain_core/runnables/history.py +135 -148
  102. langchain_core/runnables/passthrough.py +124 -150
  103. langchain_core/runnables/retry.py +46 -51
  104. langchain_core/runnables/router.py +25 -30
  105. langchain_core/runnables/schema.py +79 -74
  106. langchain_core/runnables/utils.py +62 -68
  107. langchain_core/stores.py +81 -115
  108. langchain_core/structured_query.py +8 -8
  109. langchain_core/sys_info.py +27 -29
  110. langchain_core/tools/__init__.py +1 -14
  111. langchain_core/tools/base.py +179 -187
  112. langchain_core/tools/convert.py +131 -139
  113. langchain_core/tools/render.py +10 -10
  114. langchain_core/tools/retriever.py +11 -11
  115. langchain_core/tools/simple.py +19 -24
  116. langchain_core/tools/structured.py +30 -39
  117. langchain_core/tracers/__init__.py +1 -9
  118. langchain_core/tracers/base.py +97 -99
  119. langchain_core/tracers/context.py +29 -52
  120. langchain_core/tracers/core.py +50 -60
  121. langchain_core/tracers/evaluation.py +11 -11
  122. langchain_core/tracers/event_stream.py +115 -70
  123. langchain_core/tracers/langchain.py +21 -21
  124. langchain_core/tracers/log_stream.py +43 -43
  125. langchain_core/tracers/memory_stream.py +3 -3
  126. langchain_core/tracers/root_listeners.py +16 -16
  127. langchain_core/tracers/run_collector.py +2 -4
  128. langchain_core/tracers/schemas.py +0 -129
  129. langchain_core/tracers/stdout.py +3 -3
  130. langchain_core/utils/__init__.py +1 -4
  131. langchain_core/utils/_merge.py +46 -8
  132. langchain_core/utils/aiter.py +57 -61
  133. langchain_core/utils/env.py +9 -9
  134. langchain_core/utils/function_calling.py +89 -191
  135. langchain_core/utils/html.py +7 -8
  136. langchain_core/utils/input.py +6 -6
  137. langchain_core/utils/interactive_env.py +1 -1
  138. langchain_core/utils/iter.py +37 -42
  139. langchain_core/utils/json.py +4 -3
  140. langchain_core/utils/json_schema.py +8 -8
  141. langchain_core/utils/mustache.py +9 -11
  142. langchain_core/utils/pydantic.py +33 -35
  143. langchain_core/utils/strings.py +5 -5
  144. langchain_core/utils/usage.py +1 -1
  145. langchain_core/utils/utils.py +80 -54
  146. langchain_core/vectorstores/base.py +129 -164
  147. langchain_core/vectorstores/in_memory.py +99 -174
  148. langchain_core/vectorstores/utils.py +5 -5
  149. langchain_core/version.py +1 -1
  150. {langchain_core-0.3.79.dist-info → langchain_core-1.0.0.dist-info}/METADATA +28 -27
  151. langchain_core-1.0.0.dist-info/RECORD +172 -0
  152. {langchain_core-0.3.79.dist-info → langchain_core-1.0.0.dist-info}/WHEEL +1 -1
  153. langchain_core/beta/__init__.py +0 -1
  154. langchain_core/beta/runnables/__init__.py +0 -1
  155. langchain_core/beta/runnables/context.py +0 -447
  156. langchain_core/memory.py +0 -120
  157. langchain_core/messages/content_blocks.py +0 -176
  158. langchain_core/prompts/pipeline.py +0 -138
  159. langchain_core/pydantic_v1/__init__.py +0 -30
  160. langchain_core/pydantic_v1/dataclasses.py +0 -23
  161. langchain_core/pydantic_v1/main.py +0 -23
  162. langchain_core/tracers/langchain_v1.py +0 -31
  163. langchain_core/utils/loading.py +0 -35
  164. langchain_core-0.3.79.dist-info/RECORD +0 -174
  165. langchain_core-0.3.79.dist-info/entry_points.txt +0 -4
@@ -4,7 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  from abc import ABC, abstractmethod
6
6
  from enum import Enum
7
- from typing import TYPE_CHECKING, Any, Optional, Union
7
+ from typing import TYPE_CHECKING, Any
8
8
 
9
9
  from pydantic import BaseModel
10
10
 
@@ -15,12 +15,12 @@ if TYPE_CHECKING:
15
15
  class Visitor(ABC):
16
16
  """Defines interface for IR translation using a visitor pattern."""
17
17
 
18
- allowed_comparators: Optional[Sequence[Comparator]] = None
18
+ allowed_comparators: Sequence[Comparator] | None = None
19
19
  """Allowed comparators for the visitor."""
20
- allowed_operators: Optional[Sequence[Operator]] = None
20
+ allowed_operators: Sequence[Operator] | None = None
21
21
  """Allowed operators for the visitor."""
22
22
 
23
- def _validate_func(self, func: Union[Operator, Comparator]) -> None:
23
+ def _validate_func(self, func: Operator | Comparator) -> None:
24
24
  if (
25
25
  isinstance(func, Operator)
26
26
  and self.allowed_operators is not None
@@ -174,16 +174,16 @@ class StructuredQuery(Expr):
174
174
 
175
175
  query: str
176
176
  """Query string."""
177
- filter: Optional[FilterDirective]
177
+ filter: FilterDirective | None
178
178
  """Filtering expression."""
179
- limit: Optional[int]
179
+ limit: int | None
180
180
  """Limit on the number of results."""
181
181
 
182
182
  def __init__(
183
183
  self,
184
184
  query: str,
185
- filter: Optional[FilterDirective], # noqa: A002
186
- limit: Optional[int] = None,
185
+ filter: FilterDirective | None, # noqa: A002
186
+ limit: int | None = None,
187
187
  **kwargs: Any,
188
188
  ) -> None:
189
189
  """Create a StructuredQuery.
@@ -1,11 +1,8 @@
1
- """**sys_info** implementation.
2
-
3
- sys_info prints information about the system and langchain packages for
4
- debugging purposes.
5
- """
1
+ """Print information about the system and langchain packages for debugging purposes."""
6
2
 
7
3
  import pkgutil
8
4
  import platform
5
+ import re
9
6
  import sys
10
7
  from collections.abc import Sequence
11
8
  from importlib import metadata, util
@@ -26,9 +23,12 @@ def _get_sub_deps(packages: Sequence[str]) -> list[str]:
26
23
  continue
27
24
 
28
25
  for req in required:
29
- cleaned_req = req.split(" ")[0]
30
- if cleaned_req.replace("-", "_") not in underscored_packages:
31
- sub_deps.add(cleaned_req)
26
+ # Extract package name (e.g., "httpx<1,>=0.23.0" -> "httpx")
27
+ match = re.match(r"^([a-zA-Z0-9_.-]+)", req)
28
+ if match:
29
+ pkg_name = match.group(1)
30
+ if pkg_name.replace("-", "_") not in underscored_packages:
31
+ sub_deps.add(pkg_name)
32
32
 
33
33
  return sorted(sub_deps, key=lambda x: x.lower())
34
34
 
@@ -75,17 +75,17 @@ def print_sys_info(*, additional_pkgs: Sequence[str] = ()) -> None:
75
75
  "OS Version": platform.version(),
76
76
  "Python Version": sys.version,
77
77
  }
78
- print() # noqa: T201
79
- print("System Information") # noqa: T201
80
- print("------------------") # noqa: T201
81
- print("> OS: ", system_info["OS"]) # noqa: T201
82
- print("> OS Version: ", system_info["OS Version"]) # noqa: T201
83
- print("> Python Version: ", system_info["Python Version"]) # noqa: T201
78
+ print()
79
+ print("System Information")
80
+ print("------------------")
81
+ print("> OS: ", system_info["OS"])
82
+ print("> OS Version: ", system_info["OS Version"])
83
+ print("> Python Version: ", system_info["Python Version"])
84
84
 
85
85
  # Print out only langchain packages
86
- print() # noqa: T201
87
- print("Package Information") # noqa: T201
88
- print("-------------------") # noqa: T201
86
+ print()
87
+ print("Package Information")
88
+ print("-------------------")
89
89
 
90
90
  not_installed = []
91
91
 
@@ -106,30 +106,28 @@ def print_sys_info(*, additional_pkgs: Sequence[str] = ()) -> None:
106
106
 
107
107
  # Print package with version
108
108
  if package_version is not None:
109
- print(f"> {pkg}: {package_version}") # noqa: T201
110
- else:
111
- print(f"> {pkg}: Installed. No version info available.") # noqa: T201
109
+ print(f"> {pkg}: {package_version}")
112
110
 
113
111
  if not_installed:
114
- print() # noqa: T201
115
- print("Optional packages not installed") # noqa: T201
116
- print("-------------------------------") # noqa: T201
112
+ print()
113
+ print("Optional packages not installed")
114
+ print("-------------------------------")
117
115
  for pkg in not_installed:
118
- print(f"> {pkg}") # noqa: T201
116
+ print(f"> {pkg}")
119
117
 
120
118
  sub_dependencies = _get_sub_deps(all_packages)
121
119
 
122
120
  if sub_dependencies:
123
- print() # noqa: T201
124
- print("Other Dependencies") # noqa: T201
125
- print("------------------") # noqa: T201
121
+ print()
122
+ print("Other Dependencies")
123
+ print("------------------")
126
124
 
127
125
  for dep in sub_dependencies:
128
126
  try:
129
127
  dep_version = metadata.version(dep)
130
- print(f"> {dep}: {dep_version}") # noqa: T201
128
+ print(f"> {dep}: {dep_version}")
131
129
  except Exception:
132
- print(f"> {dep}: Installed. No version info available.") # noqa: T201
130
+ print(f"> {dep}: Installed. No version info available.")
133
131
 
134
132
 
135
133
  if __name__ == "__main__":
@@ -2,20 +2,7 @@
2
2
 
3
3
  Each tool has a **description**. Agent uses the description to choose the right
4
4
  tool for the job.
5
-
6
- **Class hierarchy:**
7
-
8
- .. code-block::
9
-
10
- RunnableSerializable --> BaseTool --> <name>Tool # Examples: AIPluginTool, BaseGraphQLTool
11
- <name> # Examples: BraveSearch, HumanInputRun
12
-
13
- **Main helpers:**
14
-
15
- .. code-block::
16
-
17
- CallbackManagerForToolRun, AsyncCallbackManagerForToolRun
18
- """ # noqa: E501
5
+ """
19
6
 
20
7
  from __future__ import annotations
21
8