langchain 1.0.5__py3-none-any.whl → 1.2.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 (34) hide show
  1. langchain/__init__.py +1 -1
  2. langchain/agents/__init__.py +1 -7
  3. langchain/agents/factory.py +153 -79
  4. langchain/agents/middleware/__init__.py +18 -23
  5. langchain/agents/middleware/_execution.py +29 -32
  6. langchain/agents/middleware/_redaction.py +108 -22
  7. langchain/agents/middleware/_retry.py +123 -0
  8. langchain/agents/middleware/context_editing.py +47 -25
  9. langchain/agents/middleware/file_search.py +19 -14
  10. langchain/agents/middleware/human_in_the_loop.py +87 -57
  11. langchain/agents/middleware/model_call_limit.py +64 -18
  12. langchain/agents/middleware/model_fallback.py +7 -9
  13. langchain/agents/middleware/model_retry.py +307 -0
  14. langchain/agents/middleware/pii.py +82 -29
  15. langchain/agents/middleware/shell_tool.py +254 -107
  16. langchain/agents/middleware/summarization.py +469 -95
  17. langchain/agents/middleware/todo.py +129 -31
  18. langchain/agents/middleware/tool_call_limit.py +105 -71
  19. langchain/agents/middleware/tool_emulator.py +47 -38
  20. langchain/agents/middleware/tool_retry.py +183 -164
  21. langchain/agents/middleware/tool_selection.py +81 -37
  22. langchain/agents/middleware/types.py +856 -427
  23. langchain/agents/structured_output.py +65 -42
  24. langchain/chat_models/__init__.py +1 -7
  25. langchain/chat_models/base.py +253 -196
  26. langchain/embeddings/__init__.py +0 -5
  27. langchain/embeddings/base.py +79 -65
  28. langchain/messages/__init__.py +0 -5
  29. langchain/tools/__init__.py +1 -7
  30. {langchain-1.0.5.dist-info → langchain-1.2.4.dist-info}/METADATA +5 -7
  31. langchain-1.2.4.dist-info/RECORD +36 -0
  32. {langchain-1.0.5.dist-info → langchain-1.2.4.dist-info}/WHEEL +1 -1
  33. langchain-1.0.5.dist-info/RECORD +0 -34
  34. {langchain-1.0.5.dist-info → langchain-1.2.4.dist-info}/licenses/LICENSE +0 -0
@@ -1,26 +1,90 @@
1
1
  """Factory functions for embeddings."""
2
2
 
3
3
  import functools
4
- from importlib import util
4
+ import importlib
5
+ from collections.abc import Callable
5
6
  from typing import Any
6
7
 
7
8
  from langchain_core.embeddings import Embeddings
8
9
 
9
- _SUPPORTED_PROVIDERS = {
10
- "azure_openai": "langchain_openai",
11
- "bedrock": "langchain_aws",
12
- "cohere": "langchain_cohere",
13
- "google_vertexai": "langchain_google_vertexai",
14
- "huggingface": "langchain_huggingface",
15
- "mistralai": "langchain_mistralai",
16
- "ollama": "langchain_ollama",
17
- "openai": "langchain_openai",
10
+
11
+ def _call(cls: type[Embeddings], **kwargs: Any) -> Embeddings:
12
+ return cls(**kwargs)
13
+
14
+
15
+ _SUPPORTED_PROVIDERS: dict[str, tuple[str, str, Callable[..., Embeddings]]] = {
16
+ "azure_openai": ("langchain_openai", "AzureOpenAIEmbeddings", _call),
17
+ "bedrock": (
18
+ "langchain_aws",
19
+ "BedrockEmbeddings",
20
+ lambda cls, model, **kwargs: cls(model_id=model, **kwargs),
21
+ ),
22
+ "cohere": ("langchain_cohere", "CohereEmbeddings", _call),
23
+ "google_genai": ("langchain_google_genai", "GoogleGenerativeAIEmbeddings", _call),
24
+ "google_vertexai": ("langchain_google_vertexai", "VertexAIEmbeddings", _call),
25
+ "huggingface": (
26
+ "langchain_huggingface",
27
+ "HuggingFaceEmbeddings",
28
+ lambda cls, model, **kwargs: cls(model_name=model, **kwargs),
29
+ ),
30
+ "mistralai": ("langchain_mistralai", "MistralAIEmbeddings", _call),
31
+ "ollama": ("langchain_ollama", "OllamaEmbeddings", _call),
32
+ "openai": ("langchain_openai", "OpenAIEmbeddings", _call),
18
33
  }
34
+ """Registry mapping provider names to their import configuration.
35
+
36
+ Each entry maps a provider key to a tuple of:
37
+
38
+ - `module_path`: The Python module path containing the embeddings class.
39
+ - `class_name`: The name of the embeddings class to import.
40
+ - `creator_func`: A callable that instantiates the class with provided kwargs.
41
+ """
42
+
43
+
44
+ @functools.lru_cache(maxsize=len(_SUPPORTED_PROVIDERS))
45
+ def _get_embeddings_class_creator(provider: str) -> Callable[..., Embeddings]:
46
+ """Return a factory function that creates an embeddings model for the given provider.
47
+
48
+ This function is cached to avoid repeated module imports.
49
+
50
+ Args:
51
+ provider: The name of the model provider (e.g., `'openai'`, `'cohere'`).
52
+
53
+ Must be a key in `_SUPPORTED_PROVIDERS`.
54
+
55
+ Returns:
56
+ A callable that accepts model kwargs and returns an `Embeddings` instance for
57
+ the specified provider.
58
+
59
+ Raises:
60
+ ValueError: If the provider is not in `_SUPPORTED_PROVIDERS`.
61
+ ImportError: If the provider's integration package is not installed.
62
+ """
63
+ if provider not in _SUPPORTED_PROVIDERS:
64
+ msg = (
65
+ f"Provider '{provider}' is not supported.\n"
66
+ f"Supported providers and their required packages:\n"
67
+ f"{_get_provider_list()}"
68
+ )
69
+ raise ValueError(msg)
70
+
71
+ module_name, class_name, creator_func = _SUPPORTED_PROVIDERS[provider]
72
+ try:
73
+ module = importlib.import_module(module_name)
74
+ except ImportError as e:
75
+ pkg = module_name.replace("_", "-")
76
+ msg = f"Could not import {pkg} python package. Please install it with `pip install {pkg}`"
77
+ raise ImportError(msg) from e
78
+
79
+ cls = getattr(module, class_name)
80
+ return functools.partial(creator_func, cls=cls)
19
81
 
20
82
 
21
83
  def _get_provider_list() -> str:
22
84
  """Get formatted list of providers and their packages."""
23
- return "\n".join(f" - {p}: {pkg.replace('_', '-')}" for p, pkg in _SUPPORTED_PROVIDERS.items())
85
+ return "\n".join(
86
+ f" - {p}: {pkg[0].replace('_', '-')}" for p, pkg in _SUPPORTED_PROVIDERS.items()
87
+ )
24
88
 
25
89
 
26
90
  def _parse_model_string(model_name: str) -> tuple[str, str]:
@@ -49,7 +113,6 @@ def _parse_model_string(model_name: str) -> tuple[str, str]:
49
113
 
50
114
  """
51
115
  if ":" not in model_name:
52
- providers = _SUPPORTED_PROVIDERS
53
116
  msg = (
54
117
  f"Invalid model format '{model_name}'.\n"
55
118
  f"Model name must be in format 'provider:model-name'\n"
@@ -57,7 +120,7 @@ def _parse_model_string(model_name: str) -> tuple[str, str]:
57
120
  f" - openai:text-embedding-3-small\n"
58
121
  f" - bedrock:amazon.titan-embed-text-v1\n"
59
122
  f" - cohere:embed-english-v3.0\n"
60
- f"Supported providers: {providers}"
123
+ f"Supported providers: {_SUPPORTED_PROVIDERS.keys()}"
61
124
  )
62
125
  raise ValueError(msg)
63
126
 
@@ -92,13 +155,12 @@ def _infer_model_and_provider(
92
155
  model_name = model
93
156
 
94
157
  if not provider:
95
- providers = _SUPPORTED_PROVIDERS
96
158
  msg = (
97
159
  "Must specify either:\n"
98
160
  "1. A model string in format 'provider:model-name'\n"
99
161
  " Example: 'openai:text-embedding-3-small'\n"
100
162
  "2. Or explicitly set provider from: "
101
- f"{providers}"
163
+ f"{_SUPPORTED_PROVIDERS.keys()}"
102
164
  )
103
165
  raise ValueError(msg)
104
166
 
@@ -112,14 +174,6 @@ def _infer_model_and_provider(
112
174
  return provider, model_name
113
175
 
114
176
 
115
- @functools.lru_cache(maxsize=len(_SUPPORTED_PROVIDERS))
116
- def _check_pkg(pkg: str) -> None:
117
- """Check if a package is installed."""
118
- if not util.find_spec(pkg):
119
- msg = f"Could not import {pkg} python package. Please install it with `pip install {pkg}`"
120
- raise ImportError(msg)
121
-
122
-
123
177
  def init_embeddings(
124
178
  model: str,
125
179
  *,
@@ -154,7 +208,7 @@ def init_embeddings(
154
208
  - `cohere` -> [`langchain-cohere`](https://docs.langchain.com/oss/python/integrations/providers/cohere)
155
209
  - `google_vertexai` -> [`langchain-google-vertexai`](https://docs.langchain.com/oss/python/integrations/providers/google)
156
210
  - `huggingface` -> [`langchain-huggingface`](https://docs.langchain.com/oss/python/integrations/providers/huggingface)
157
- - `mistraiai` -> [`langchain-mistralai`](https://docs.langchain.com/oss/python/integrations/providers/mistralai)
211
+ - `mistralai` -> [`langchain-mistralai`](https://docs.langchain.com/oss/python/integrations/providers/mistralai)
158
212
  - `ollama` -> [`langchain-ollama`](https://docs.langchain.com/oss/python/integrations/providers/ollama)
159
213
 
160
214
  **kwargs: Additional model-specific parameters passed to the embedding model.
@@ -196,47 +250,7 @@ def init_embeddings(
196
250
  raise ValueError(msg)
197
251
 
198
252
  provider, model_name = _infer_model_and_provider(model, provider=provider)
199
- pkg = _SUPPORTED_PROVIDERS[provider]
200
- _check_pkg(pkg)
201
-
202
- if provider == "openai":
203
- from langchain_openai import OpenAIEmbeddings
204
-
205
- return OpenAIEmbeddings(model=model_name, **kwargs)
206
- if provider == "azure_openai":
207
- from langchain_openai import AzureOpenAIEmbeddings
208
-
209
- return AzureOpenAIEmbeddings(model=model_name, **kwargs)
210
- if provider == "google_vertexai":
211
- from langchain_google_vertexai import VertexAIEmbeddings
212
-
213
- return VertexAIEmbeddings(model=model_name, **kwargs)
214
- if provider == "bedrock":
215
- from langchain_aws import BedrockEmbeddings
216
-
217
- return BedrockEmbeddings(model_id=model_name, **kwargs)
218
- if provider == "cohere":
219
- from langchain_cohere import CohereEmbeddings
220
-
221
- return CohereEmbeddings(model=model_name, **kwargs)
222
- if provider == "mistralai":
223
- from langchain_mistralai import MistralAIEmbeddings
224
-
225
- return MistralAIEmbeddings(model=model_name, **kwargs)
226
- if provider == "huggingface":
227
- from langchain_huggingface import HuggingFaceEmbeddings
228
-
229
- return HuggingFaceEmbeddings(model_name=model_name, **kwargs)
230
- if provider == "ollama":
231
- from langchain_ollama import OllamaEmbeddings
232
-
233
- return OllamaEmbeddings(model=model_name, **kwargs)
234
- msg = (
235
- f"Provider '{provider}' is not supported.\n"
236
- f"Supported providers and their required packages:\n"
237
- f"{_get_provider_list()}"
238
- )
239
- raise ValueError(msg)
253
+ return _get_embeddings_class_creator(provider)(model=model_name, **kwargs)
240
254
 
241
255
 
242
256
  __all__ = [
@@ -2,11 +2,6 @@
2
2
 
3
3
  Includes message types for different roles (e.g., human, AI, system), as well as types
4
4
  for message content blocks (e.g., text, image, audio) and tool calls.
5
-
6
- !!! warning "Reference docs"
7
- This page contains **reference documentation** for Messages. See
8
- [the docs](https://docs.langchain.com/oss/python/langchain/messages) for conceptual
9
- guides, tutorials, and examples on using Messages.
10
5
  """
11
6
 
12
7
  from langchain_core.messages import (
@@ -1,10 +1,4 @@
1
- """Tools.
2
-
3
- !!! warning "Reference docs"
4
- This page contains **reference documentation** for Tools. See
5
- [the docs](https://docs.langchain.com/oss/python/langchain/tools) for conceptual
6
- guides, tutorials, and examples on using Tools.
7
- """
1
+ """Tools."""
8
2
 
9
3
  from langchain_core.tools import (
10
4
  BaseTool,
@@ -1,18 +1,18 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langchain
3
- Version: 1.0.5
3
+ Version: 1.2.4
4
4
  Summary: Building applications with LLMs through composability
5
5
  Project-URL: Homepage, https://docs.langchain.com/
6
6
  Project-URL: Documentation, https://reference.langchain.com/python/langchain/langchain/
7
7
  Project-URL: Source, https://github.com/langchain-ai/langchain/tree/master/libs/langchain
8
8
  Project-URL: Changelog, https://github.com/langchain-ai/langchain/releases?q=tag%3A%22langchain%3D%3D1%22
9
- Project-URL: Twitter, https://x.com/LangChainAI
9
+ Project-URL: Twitter, https://x.com/LangChain
10
10
  Project-URL: Slack, https://www.langchain.com/join-community
11
11
  Project-URL: Reddit, https://www.reddit.com/r/LangChain/
12
12
  License: MIT
13
13
  License-File: LICENSE
14
14
  Requires-Python: <4.0.0,>=3.10.0
15
- Requires-Dist: langchain-core<2.0.0,>=1.0.4
15
+ Requires-Dist: langchain-core<2.0.0,>=1.2.1
16
16
  Requires-Dist: langgraph<1.1.0,>=1.0.2
17
17
  Requires-Dist: pydantic<3.0.0,>=2.7.4
18
18
  Provides-Extra: anthropic
@@ -37,8 +37,6 @@ Provides-Extra: huggingface
37
37
  Requires-Dist: langchain-huggingface; extra == 'huggingface'
38
38
  Provides-Extra: mistralai
39
39
  Requires-Dist: langchain-mistralai; extra == 'mistralai'
40
- Provides-Extra: model-profiles
41
- Requires-Dist: langchain-model-profiles; extra == 'model-profiles'
42
40
  Provides-Extra: ollama
43
41
  Requires-Dist: langchain-ollama; extra == 'ollama'
44
42
  Provides-Extra: openai
@@ -56,7 +54,7 @@ Description-Content-Type: text/markdown
56
54
  [![PyPI - Version](https://img.shields.io/pypi/v/langchain?label=%20)](https://pypi.org/project/langchain/#history)
57
55
  [![PyPI - License](https://img.shields.io/pypi/l/langchain)](https://opensource.org/licenses/MIT)
58
56
  [![PyPI - Downloads](https://img.shields.io/pepy/dt/langchain)](https://pypistats.org/packages/langchain)
59
- [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/langchainai.svg?style=social&label=Follow%20%40LangChainAI)](https://twitter.com/langchainai)
57
+ [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/langchain.svg?style=social&label=Follow%20%40LangChain)](https://x.com/langchain)
60
58
 
61
59
  Looking for the JS/TS version? Check out [LangChain.js](https://github.com/langchain-ai/langchainjs).
62
60
 
@@ -79,7 +77,7 @@ LangChain [agents](https://docs.langchain.com/oss/python/langchain/agents) are b
79
77
 
80
78
  ## 📖 Documentation
81
79
 
82
- For full documentation, see the [API reference](https://reference.langchain.com/python/langchain/langchain/).
80
+ For full documentation, see the [API reference](https://reference.langchain.com/python/langchain/langchain/). For conceptual guides, tutorials, and examples on using LangChain, see the [LangChain Docs](https://docs.langchain.com/oss/python/langchain/overview).
83
81
 
84
82
  ## 📕 Releases & Versioning
85
83
 
@@ -0,0 +1,36 @@
1
+ langchain/__init__.py,sha256=Dzd7fEXRUbCds_r8o7PANdu3DgCuFYWyVIhdKrE5dEY,61
2
+ langchain/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ langchain/agents/__init__.py,sha256=xSMzY_PXzKmfOUVPkmL8JcXaOIq55xtP2DDeb_sDSoI,285
4
+ langchain/agents/factory.py,sha256=OmeSR5ncqh3EzxrrT-U7aPPFFdFhR_2dOzJd2OutEmY,66353
5
+ langchain/agents/structured_output.py,sha256=x55dFamXsaWRqNrl9ccah2R685oR9AbaGe6yEbzbWs4,15033
6
+ langchain/agents/middleware/__init__.py,sha256=SR4WQ71hhSIO-Q3OZeZ8y77G943pUzDWgNtTAvI0h9Y,2562
7
+ langchain/agents/middleware/_execution.py,sha256=utihTKOZ2zcfPteGnH1zELq_n49_6EENpt3Dh3XPn7Q,14198
8
+ langchain/agents/middleware/_redaction.py,sha256=IX1oKmxBwrunC_EO5o9UGYKXcZpO7UrtjXsNYGNK9v0,13295
9
+ langchain/agents/middleware/_retry.py,sha256=nZSUXbvgBXP5nS28X3iBuoSYYh7EG2oLNXcAs0XbRPM,3832
10
+ langchain/agents/middleware/context_editing.py,sha256=fXZFgedEDpQH7qMdqu259wkUAjWHRVM-oyFp1H3LPGg,9515
11
+ langchain/agents/middleware/file_search.py,sha256=LnUt7UeXIRkdRP8wWa0pXi5uOMYlWe60nQ4hFlZoIko,12777
12
+ langchain/agents/middleware/human_in_the_loop.py,sha256=q7xb-O7duM-E9GZJU_YNocwsjIlv5agN3x5zFyu_tgs,13476
13
+ langchain/agents/middleware/model_call_limit.py,sha256=vdPM3M7-diFd-SFcKyN9p4k7cqLaYpETj2T83idZimw,9010
14
+ langchain/agents/middleware/model_fallback.py,sha256=QZez99BxIW4RVUuLFeBvYWD1IzEbjX9nzg_cLId8khU,4018
15
+ langchain/agents/middleware/model_retry.py,sha256=PsjjSFFUrH8YmQj0NkvsfrYbHtGkFMltUI7QM7nSFr4,10844
16
+ langchain/agents/middleware/pii.py,sha256=WtwzxB5oW1Ql4S1DDqklykD-mutKc6BnEH-gQOUS1AA,12466
17
+ langchain/agents/middleware/shell_tool.py,sha256=Wv3eGG-gVwQ8yTrHobWttLDsxURtGEwwiMU3JcGGp2s,31702
18
+ langchain/agents/middleware/summarization.py,sha256=fvwkeiRdW8WVzu7bXrAGV79mndryMVNLjyMO9sdYEcg,24213
19
+ langchain/agents/middleware/todo.py,sha256=JLfBA3s6FhtSnTqhFwXAgZbV1n8Yt65RyRPjdwXURFc,14156
20
+ langchain/agents/middleware/tool_call_limit.py,sha256=iYElI38iiNHBCpKDLMEMsxGHyYVpAjlYP7u_nVGBr2Y,18834
21
+ langchain/agents/middleware/tool_emulator.py,sha256=0cGEFUi5a69TwZdf_qlvVg2IpeNkhzv0rRelJVSTW8I,7389
22
+ langchain/agents/middleware/tool_retry.py,sha256=_GIkvYabD_xguTt-JkrQSIzb7Qfrcz3kte0mvZlYRKA,14446
23
+ langchain/agents/middleware/tool_selection.py,sha256=4I0wC1197cF2LpLbBgfTzNFqoMze7ZJbpzUrIigRFaM,12847
24
+ langchain/agents/middleware/types.py,sha256=UvoG5iI28mAObk5y-CVLcxMWKqdU_bx3C7M1swpt1Dk,69747
25
+ langchain/chat_models/__init__.py,sha256=j1XZBNMC81eRac5eLs52ayQB8aTXBk0P78Z-nG_YGN4,286
26
+ langchain/chat_models/base.py,sha256=dRX3PkCddMNEWJ6Hh1eTKUjPZ_emZ3u8KfoTaNFm9S8,38050
27
+ langchain/embeddings/__init__.py,sha256=xvVT9JTCjEngvuayIyQJyopEZUlve8acGJnyq34nAbs,586
28
+ langchain/embeddings/base.py,sha256=gLR2Pvo3m7YsjzwaXzAWVJOkZ8JLI-mS2oA7MtYSaro,9643
29
+ langchain/messages/__init__.py,sha256=gA-2eKFWxgf97lRTWrR28e3QMiBjuPXqaNd16jkF9p0,1626
30
+ langchain/rate_limiters/__init__.py,sha256=5490xUNhet37N2nX6kbJlDgf8u1DX-C1Cs_r7etXn8A,351
31
+ langchain/tools/__init__.py,sha256=A6K6Rz8FSTADGwR713fn1PaMcqLTzeQHfbHHBmK2HLY,394
32
+ langchain/tools/tool_node.py,sha256=1DRMsm5tc31T76rtqtqJkGINw7ny1zqVCF-ViGUymFs,477
33
+ langchain-1.2.4.dist-info/METADATA,sha256=RofY52UgkjAaQg9SIfoMBhTcnnor_qrhnpR-RU7ktGE,4929
34
+ langchain-1.2.4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
35
+ langchain-1.2.4.dist-info/licenses/LICENSE,sha256=TsZ-TKbmch26hJssqCJhWXyGph7iFLvyFBYAa3stBHg,1067
36
+ langchain-1.2.4.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,34 +0,0 @@
1
- langchain/__init__.py,sha256=CO9iJ22anitCSe7N8T6pV4o5NXnZPDiMTpG1QTd3110,61
2
- langchain/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- langchain/agents/__init__.py,sha256=tDjbhFSC6XHQUZ_XvjHwmbICFfjxmE9xKFMbUVSIwfs,522
4
- langchain/agents/factory.py,sha256=thifhIJVE22y04gv_I-Opp56XIZVs3_UOvFMfka8nKw,64026
5
- langchain/agents/structured_output.py,sha256=nTVyron52uqRIaj2rVY5pJWGd-0mubdA15VR2htx6Mo,14083
6
- langchain/agents/middleware/__init__.py,sha256=Vm-Ajh4YoaahAa9b_XEAuiyoupKNIwZVzX-8JN1xKkA,2251
7
- langchain/agents/middleware/_execution.py,sha256=Xyjh3HxTHbgA-C9FFE4WXUOqKUW8mdOB455XRlA_BOU,14251
8
- langchain/agents/middleware/_redaction.py,sha256=LJeNOvdZ0gd4273Lqgpbxh7EiuuZ6q5LlqeHK4eyin4,11210
9
- langchain/agents/middleware/context_editing.py,sha256=suWxzSoBTgDse3n4myHooNJ8db7FJRzxZw_vLtoD_dw,8733
10
- langchain/agents/middleware/file_search.py,sha256=RiBNJRfy8R5E8TvjQRVgXf1O0UDtXqEarirFPnihbtI,12757
11
- langchain/agents/middleware/human_in_the_loop.py,sha256=N7Vt31rlHS7J-cA0EBDS2mlQW-SMvvxyAwjBnAY9vZU,12650
12
- langchain/agents/middleware/model_call_limit.py,sha256=2tMKzXeRU2zH_Iu4flyk47Ycg4Al503tdGAltkCH_NE,7719
13
- langchain/agents/middleware/model_fallback.py,sha256=5DhMhF-mpWlGyZ0FWTXjdtIw6VTpFG-OEkv_cVTtj80,4106
14
- langchain/agents/middleware/pii.py,sha256=I3nTAnfvrHqre9SoRJvlw0koT8-x3gGZdSvb0uKH5xg,10978
15
- langchain/agents/middleware/shell_tool.py,sha256=zKy8eTLhYoW5ogLpVBMQ1wK8lrfUCElCdG7gxvlKIeY,26635
16
- langchain/agents/middleware/summarization.py,sha256=RgsRVuNEdf_2d-YM6P9txyi5eJW_xLteqMw1YmEDSXg,10313
17
- langchain/agents/middleware/todo.py,sha256=ZH129wzq7nTWPg2A2SqEbGqZeaTa8w7DIbJluZ2irX0,9853
18
- langchain/agents/middleware/tool_call_limit.py,sha256=N17JNRI4MC36TDFXv1cYQbWZOF8FtYToAjGSJZLjXWc,17682
19
- langchain/agents/middleware/tool_emulator.py,sha256=jCgojSbb5EYPk6BmOzN0tAkEeRpzvDcAVky7duQkQG0,7209
20
- langchain/agents/middleware/tool_retry.py,sha256=xeR_i48DnHRZGKLQuRs6gry9Kx0q_x2S0hcnnftPnBs,13795
21
- langchain/agents/middleware/tool_selection.py,sha256=6RYdgkg6aSNx1w-YxRyL2Hct7UPnMRgGg6YVZVtW5TU,11638
22
- langchain/agents/middleware/types.py,sha256=6kPHwSwUU47QsW_O_X5Y9XP56_qJmXG9CfjoXtciX94,55873
23
- langchain/chat_models/__init__.py,sha256=lQwcJkHtGjrclCL7sBFocQuzRdRgZRPzIIPnGhEJmVQ,533
24
- langchain/chat_models/base.py,sha256=bhiG2undZwyQKNTf1nADwUUJO1phHHfCs1qQwj4FwqU,36531
25
- langchain/embeddings/__init__.py,sha256=6gZ5HnxoKdlYNG84vf6kuJi6vA59Saa3WZ2vMn0LYxY,850
26
- langchain/embeddings/base.py,sha256=Lzh9GPat3MhiFt1--jP5NFle98J2rVSR1dmVjNradw4,8925
27
- langchain/messages/__init__.py,sha256=IL1zvUHXvJ__3N80hhXhPj10KY0Drtq9K0CkK4uvVxU,1868
28
- langchain/rate_limiters/__init__.py,sha256=5490xUNhet37N2nX6kbJlDgf8u1DX-C1Cs_r7etXn8A,351
29
- langchain/tools/__init__.py,sha256=hMzbaGcfHhNYfJx20uV57uMd9a-gNLbmopG4gDReeEc,628
30
- langchain/tools/tool_node.py,sha256=1DRMsm5tc31T76rtqtqJkGINw7ny1zqVCF-ViGUymFs,477
31
- langchain-1.0.5.dist-info/METADATA,sha256=WW81wyVtR3GA3O5pmO-8qPAYxVgtPgr3b0nhMce4dZw,4890
32
- langchain-1.0.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
33
- langchain-1.0.5.dist-info/licenses/LICENSE,sha256=TsZ-TKbmch26hJssqCJhWXyGph7iFLvyFBYAa3stBHg,1067
34
- langchain-1.0.5.dist-info/RECORD,,