langchain 1.0.4__py3-none-any.whl → 1.2.3__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 +100 -41
  4. langchain/agents/middleware/__init__.py +5 -7
  5. langchain/agents/middleware/_execution.py +21 -20
  6. langchain/agents/middleware/_redaction.py +27 -12
  7. langchain/agents/middleware/_retry.py +123 -0
  8. langchain/agents/middleware/context_editing.py +26 -22
  9. langchain/agents/middleware/file_search.py +18 -13
  10. langchain/agents/middleware/human_in_the_loop.py +60 -54
  11. langchain/agents/middleware/model_call_limit.py +63 -17
  12. langchain/agents/middleware/model_fallback.py +7 -9
  13. langchain/agents/middleware/model_retry.py +300 -0
  14. langchain/agents/middleware/pii.py +80 -27
  15. langchain/agents/middleware/shell_tool.py +230 -103
  16. langchain/agents/middleware/summarization.py +439 -90
  17. langchain/agents/middleware/todo.py +111 -27
  18. langchain/agents/middleware/tool_call_limit.py +105 -71
  19. langchain/agents/middleware/tool_emulator.py +42 -33
  20. langchain/agents/middleware/tool_retry.py +171 -159
  21. langchain/agents/middleware/tool_selection.py +37 -27
  22. langchain/agents/middleware/types.py +754 -392
  23. langchain/agents/structured_output.py +22 -12
  24. langchain/chat_models/__init__.py +1 -7
  25. langchain/chat_models/base.py +234 -185
  26. langchain/embeddings/__init__.py +0 -5
  27. langchain/embeddings/base.py +80 -66
  28. langchain/messages/__init__.py +0 -5
  29. langchain/tools/__init__.py +1 -7
  30. {langchain-1.0.4.dist-info → langchain-1.2.3.dist-info}/METADATA +3 -5
  31. langchain-1.2.3.dist-info/RECORD +36 -0
  32. {langchain-1.0.4.dist-info → langchain-1.2.3.dist-info}/WHEEL +1 -1
  33. langchain-1.0.4.dist-info/RECORD +0 -34
  34. {langchain-1.0.4.dist-info → langchain-1.2.3.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.
@@ -187,7 +241,7 @@ def init_embeddings(
187
241
  model = init_embeddings("openai:text-embedding-3-small", api_key="sk-...")
188
242
  ```
189
243
 
190
- !!! version-added "Added in version 0.3.9"
244
+ !!! version-added "Added in `langchain` 0.3.9"
191
245
 
192
246
  """
193
247
  if not 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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langchain
3
- Version: 1.0.4
3
+ Version: 1.2.3
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/
@@ -12,7 +12,7 @@ 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.0
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
@@ -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=wtF0x4NyA6HZMSrvdCbMsf8ISWPrh4fNuwFODnwlDEE,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=XL9-YiqSzyDWiSjZ4yVx9Ua9Xh1w2eGeAq3AM_eXDbg,65862
5
+ langchain/agents/structured_output.py,sha256=FVJ7bRJDDy4JJ9vb95VmwijoTMIWaHfxrkHydk6W_t4,14467
6
+ langchain/agents/middleware/__init__.py,sha256=aVlbP2z5bkxgKjWqhck94M7XAR9D0HM9R3boohVO9Js,2170
7
+ langchain/agents/middleware/_execution.py,sha256=KtLnQZBVN8yW-Pn2TC8klXxL_RB42kO84NWgELgsZSk,14202
8
+ langchain/agents/middleware/_redaction.py,sha256=Q_Q9N2QZYa5L3ZNOFcTCpGOb1KLO594xRB2LS0CCCnk,11642
9
+ langchain/agents/middleware/_retry.py,sha256=nZSUXbvgBXP5nS28X3iBuoSYYh7EG2oLNXcAs0XbRPM,3832
10
+ langchain/agents/middleware/context_editing.py,sha256=l_JN5U-orfRxbDoLKMiPiQbQWtgBKzoNLa0U2ZjQe6w,8903
11
+ langchain/agents/middleware/file_search.py,sha256=ilhly8E5AcZbmXM-XdmgzooWO93yQLpTC8r11NZ6bzM,12773
12
+ langchain/agents/middleware/human_in_the_loop.py,sha256=OaY_ae8Hnavj0CeJcRN1AIQ6nWZkG_7Yn82oNr9qm-g,12911
13
+ langchain/agents/middleware/model_call_limit.py,sha256=GR6fktGB5keibVVT_3zGI-qNHdHYXly-Lj61fQfLhfY,9005
14
+ langchain/agents/middleware/model_fallback.py,sha256=QZez99BxIW4RVUuLFeBvYWD1IzEbjX9nzg_cLId8khU,4018
15
+ langchain/agents/middleware/model_retry.py,sha256=fHPL2tFOw8FbsgV1zCYez6kd-MQ9fMKsHjSQ34m2mT8,10600
16
+ langchain/agents/middleware/pii.py,sha256=aNOCSousmz1AhKnwTCitBS9egAUjBog0_iRvhcyTEMg,12446
17
+ langchain/agents/middleware/shell_tool.py,sha256=uhg_Y5g_FvIgZEw1S2B_X8phNAV1fiOt75_dNGtZgCQ,31146
18
+ langchain/agents/middleware/summarization.py,sha256=EDsRakbhqhm__-9Akf2-rxAI5_v9sFK5zOqZem3nb7U,23620
19
+ langchain/agents/middleware/todo.py,sha256=6DKvRtSgDxMiJzdsqNDD3wNLYfZESuIws2EE0aJ-gdw,13649
20
+ langchain/agents/middleware/tool_call_limit.py,sha256=iYElI38iiNHBCpKDLMEMsxGHyYVpAjlYP7u_nVGBr2Y,18834
21
+ langchain/agents/middleware/tool_emulator.py,sha256=KIayn1izRrAdKvkQQfqB9Os7AktihUU5Cov0H77i3js,7364
22
+ langchain/agents/middleware/tool_retry.py,sha256=LH0WEUma9n2icEn3zaDBUI3gJiblmFuhoxEXpJ1b6WE,14123
23
+ langchain/agents/middleware/tool_selection.py,sha256=TmLPejZQfIE10r5l-dcz41nUv4SF0FeAHRgpfPfaAVk,11821
24
+ langchain/agents/middleware/types.py,sha256=clgJXyr35kHxJx1BfL5tgn7WSKacZUproExdREj8pPg,67809
25
+ langchain/chat_models/__init__.py,sha256=j1XZBNMC81eRac5eLs52ayQB8aTXBk0P78Z-nG_YGN4,286
26
+ langchain/chat_models/base.py,sha256=t4E-JY1pzY1HYE4fdEkuVQzy3GOejrq9edM420MAN5M,37650
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.3.dist-info/METADATA,sha256=xhPEB_NdTUxmXyVIHFcr-nBYw7BS9sOgxJIPOqolqu8,4943
34
+ langchain-1.2.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
35
+ langchain-1.2.3.dist-info/licenses/LICENSE,sha256=TsZ-TKbmch26hJssqCJhWXyGph7iFLvyFBYAa3stBHg,1067
36
+ langchain-1.2.3.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=6ZpcmOCcqhKHHCh2pnjoWxfV5iHK24TAYhVsLU3QJZs,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=IZXTYMUCsqglVD9082kplSuhxpgYKoNlvjzTtTr8_aE,63985
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=qkLfLXx1Cc836quJk05CvjFIa8OaEYeDg53qUShS6jw,36527
25
- langchain/embeddings/__init__.py,sha256=6gZ5HnxoKdlYNG84vf6kuJi6vA59Saa3WZ2vMn0LYxY,850
26
- langchain/embeddings/base.py,sha256=LTaC-CTPnluyo6wBDygQUwZSpa9ms3A1fFMabT__U2w,8921
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.4.dist-info/METADATA,sha256=e60jqwezLwnstgJQTEjryaVeQYmcXiP2kUgDRrBRmlU,4890
32
- langchain-1.0.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
33
- langchain-1.0.4.dist-info/licenses/LICENSE,sha256=TsZ-TKbmch26hJssqCJhWXyGph7iFLvyFBYAa3stBHg,1067
34
- langchain-1.0.4.dist-info/RECORD,,