langchain-core 0.3.68__py3-none-any.whl → 0.3.70__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.

Files changed (60) hide show
  1. langchain_core/_api/deprecation.py +3 -3
  2. langchain_core/_import_utils.py +2 -2
  3. langchain_core/caches.py +1 -1
  4. langchain_core/callbacks/manager.py +2 -2
  5. langchain_core/chat_history.py +20 -16
  6. langchain_core/document_loaders/base.py +3 -3
  7. langchain_core/documents/base.py +3 -3
  8. langchain_core/indexing/api.py +6 -6
  9. langchain_core/language_models/_utils.py +1 -1
  10. langchain_core/language_models/base.py +1 -1
  11. langchain_core/language_models/chat_models.py +8 -8
  12. langchain_core/language_models/fake_chat_models.py +6 -2
  13. langchain_core/language_models/llms.py +23 -26
  14. langchain_core/load/load.py +23 -2
  15. langchain_core/load/serializable.py +4 -4
  16. langchain_core/messages/tool.py +1 -3
  17. langchain_core/messages/utils.py +29 -32
  18. langchain_core/output_parsers/base.py +1 -1
  19. langchain_core/output_parsers/openai_functions.py +7 -7
  20. langchain_core/output_parsers/openai_tools.py +38 -8
  21. langchain_core/output_parsers/xml.py +7 -7
  22. langchain_core/outputs/__init__.py +8 -9
  23. langchain_core/outputs/chat_generation.py +5 -3
  24. langchain_core/outputs/generation.py +2 -1
  25. langchain_core/outputs/llm_result.py +14 -14
  26. langchain_core/prompts/base.py +5 -5
  27. langchain_core/prompts/chat.py +22 -21
  28. langchain_core/prompts/dict.py +0 -2
  29. langchain_core/prompts/pipeline.py +13 -15
  30. langchain_core/prompts/prompt.py +4 -4
  31. langchain_core/prompts/string.py +4 -4
  32. langchain_core/rate_limiters.py +2 -3
  33. langchain_core/retrievers.py +6 -6
  34. langchain_core/runnables/base.py +21 -18
  35. langchain_core/runnables/branch.py +3 -3
  36. langchain_core/runnables/graph.py +1 -1
  37. langchain_core/runnables/history.py +3 -3
  38. langchain_core/runnables/router.py +1 -2
  39. langchain_core/runnables/utils.py +1 -1
  40. langchain_core/stores.py +1 -1
  41. langchain_core/sys_info.py +2 -2
  42. langchain_core/tools/base.py +7 -7
  43. langchain_core/tools/structured.py +8 -1
  44. langchain_core/tracers/core.py +4 -4
  45. langchain_core/tracers/event_stream.py +5 -5
  46. langchain_core/tracers/log_stream.py +5 -1
  47. langchain_core/utils/_merge.py +2 -0
  48. langchain_core/utils/env.py +2 -2
  49. langchain_core/utils/function_calling.py +4 -6
  50. langchain_core/utils/image.py +1 -1
  51. langchain_core/utils/json_schema.py +64 -59
  52. langchain_core/utils/mustache.py +9 -4
  53. langchain_core/vectorstores/base.py +10 -10
  54. langchain_core/vectorstores/in_memory.py +5 -5
  55. langchain_core/vectorstores/utils.py +21 -0
  56. langchain_core/version.py +1 -1
  57. {langchain_core-0.3.68.dist-info → langchain_core-0.3.70.dist-info}/METADATA +2 -2
  58. {langchain_core-0.3.68.dist-info → langchain_core-0.3.70.dist-info}/RECORD +60 -60
  59. {langchain_core-0.3.68.dist-info → langchain_core-0.3.70.dist-info}/WHEEL +0 -0
  60. {langchain_core-0.3.68.dist-info → langchain_core-0.3.70.dist-info}/entry_points.txt +0 -0
@@ -21,8 +21,15 @@ def _retrieve_ref(path: str, schema: dict) -> dict:
21
21
  for component in components[1:]:
22
22
  if component in out:
23
23
  out = out[component]
24
- elif component.isdigit() and int(component) in out:
25
- out = out[int(component)]
24
+ elif component.isdigit():
25
+ index = int(component)
26
+ if (isinstance(out, list) and 0 <= index < len(out)) or (
27
+ isinstance(out, dict) and index in out
28
+ ):
29
+ out = out[index]
30
+ else:
31
+ msg = f"Reference '{path}' not found."
32
+ raise KeyError(msg)
26
33
  else:
27
34
  msg = f"Reference '{path}' not found."
28
35
  raise KeyError(msg)
@@ -32,64 +39,64 @@ def _retrieve_ref(path: str, schema: dict) -> dict:
32
39
  def _dereference_refs_helper(
33
40
  obj: Any,
34
41
  full_schema: dict[str, Any],
42
+ processed_refs: Optional[set[str]],
35
43
  skip_keys: Sequence[str],
36
- processed_refs: Optional[set[str]] = None,
44
+ shallow_refs: bool, # noqa: FBT001
37
45
  ) -> Any:
46
+ """Inline every pure {'$ref':...}.
47
+
48
+ But:
49
+ - if shallow_refs=True: only break cycles, do not inline nested refs
50
+ - if shallow_refs=False: deep-inline all nested refs
51
+
52
+ Also skip recursion under any key in skip_keys.
53
+ """
38
54
  if processed_refs is None:
39
55
  processed_refs = set()
40
56
 
57
+ # 1) Pure $ref node?
58
+ if isinstance(obj, dict) and set(obj.keys()) == {"$ref"}:
59
+ ref_path = obj["$ref"]
60
+ # cycle?
61
+ if ref_path in processed_refs:
62
+ return {}
63
+ processed_refs.add(ref_path)
64
+
65
+ # grab + copy the target
66
+ target = deepcopy(_retrieve_ref(ref_path, full_schema))
67
+
68
+ # deep inlining: recurse into everything
69
+ result = _dereference_refs_helper(
70
+ target, full_schema, processed_refs, skip_keys, shallow_refs
71
+ )
72
+
73
+ processed_refs.remove(ref_path)
74
+ return result
75
+
76
+ # 2) Not a pure-$ref: recurse, skipping any keys in skip_keys
41
77
  if isinstance(obj, dict):
42
- obj_out = {}
78
+ out: dict[str, Any] = {}
43
79
  for k, v in obj.items():
44
80
  if k in skip_keys:
45
- obj_out[k] = v
46
- elif k == "$ref":
47
- if v in processed_refs:
48
- continue
49
- processed_refs.add(v)
50
- ref = _retrieve_ref(v, full_schema)
51
- full_ref = _dereference_refs_helper(
52
- ref, full_schema, skip_keys, processed_refs
53
- )
54
- processed_refs.remove(v)
55
- return full_ref
56
- elif isinstance(v, (list, dict)):
57
- obj_out[k] = _dereference_refs_helper(
58
- v, full_schema, skip_keys, processed_refs
81
+ # do not recurse under this key
82
+ out[k] = deepcopy(v)
83
+ elif isinstance(v, (dict, list)):
84
+ out[k] = _dereference_refs_helper(
85
+ v, full_schema, processed_refs, skip_keys, shallow_refs
59
86
  )
60
87
  else:
61
- obj_out[k] = v
62
- return obj_out
88
+ out[k] = v
89
+ return out
90
+
63
91
  if isinstance(obj, list):
64
92
  return [
65
- _dereference_refs_helper(el, full_schema, skip_keys, processed_refs)
66
- for el in obj
93
+ _dereference_refs_helper(
94
+ item, full_schema, processed_refs, skip_keys, shallow_refs
95
+ )
96
+ for item in obj
67
97
  ]
68
- return obj
69
-
70
-
71
- def _infer_skip_keys(
72
- obj: Any, full_schema: dict, processed_refs: Optional[set[str]] = None
73
- ) -> list[str]:
74
- if processed_refs is None:
75
- processed_refs = set()
76
98
 
77
- keys = []
78
- if isinstance(obj, dict):
79
- for k, v in obj.items():
80
- if k == "$ref":
81
- if v in processed_refs:
82
- continue
83
- processed_refs.add(v)
84
- ref = _retrieve_ref(v, full_schema)
85
- keys.append(v.split("/")[1])
86
- keys += _infer_skip_keys(ref, full_schema, processed_refs)
87
- elif isinstance(v, (list, dict)):
88
- keys += _infer_skip_keys(v, full_schema, processed_refs)
89
- elif isinstance(obj, list):
90
- for el in obj:
91
- keys += _infer_skip_keys(el, full_schema, processed_refs)
92
- return keys
99
+ return obj
93
100
 
94
101
 
95
102
  def dereference_refs(
@@ -101,17 +108,15 @@ def dereference_refs(
101
108
  """Try to substitute $refs in JSON Schema.
102
109
 
103
110
  Args:
104
- schema_obj: The schema object to dereference.
105
- full_schema: The full schema object. Defaults to None.
106
- skip_keys: The keys to skip. Defaults to None.
107
-
108
- Returns:
109
- The dereferenced schema object.
111
+ schema_obj: The fragment to dereference.
112
+ full_schema: The complete schema (defaults to schema_obj).
113
+ skip_keys:
114
+ - If None (the default), we skip recursion under '$defs' *and* only
115
+ shallow-inline refs.
116
+ - If provided (even as an empty list), we will recurse under every key and
117
+ deep-inline all refs.
110
118
  """
111
- full_schema = full_schema or schema_obj
112
- skip_keys = (
113
- skip_keys
114
- if skip_keys is not None
115
- else _infer_skip_keys(schema_obj, full_schema)
116
- )
117
- return _dereference_refs_helper(schema_obj, full_schema, skip_keys)
119
+ full = full_schema or schema_obj
120
+ keys_to_skip = list(skip_keys) if skip_keys is not None else ["$defs"]
121
+ shallow = skip_keys is None
122
+ return _dereference_refs_helper(schema_obj, full, None, keys_to_skip, shallow)
@@ -107,7 +107,7 @@ def r_sa_check(
107
107
  bool: Whether the tag could be a standalone.
108
108
  """
109
109
  # Check right side if we might be a standalone
110
- if is_standalone and tag_type not in ["variable", "no escape"]:
110
+ if is_standalone and tag_type not in {"variable", "no escape"}:
111
111
  on_newline = template.split("\n", 1)
112
112
 
113
113
  # If the stuff to the right of us are spaces we're a standalone
@@ -150,6 +150,11 @@ def parse_tag(template: str, l_del: str, r_del: str) -> tuple[tuple[str, str], s
150
150
  msg = f"unclosed tag at line {_CURRENT_LINE}"
151
151
  raise ChevronError(msg) from e
152
152
 
153
+ # Check for empty tags
154
+ if not tag.strip():
155
+ msg = f"empty tag at line {_CURRENT_LINE}"
156
+ raise ChevronError(msg)
157
+
153
158
  # Find the type meaning of the first character
154
159
  tag_type = tag_types.get(tag[0], "variable")
155
160
 
@@ -255,7 +260,7 @@ def tokenize(
255
260
  l_del, r_del = dels[0], dels[-1]
256
261
 
257
262
  # If we are a section tag
258
- elif tag_type in ["section", "inverted section"]:
263
+ elif tag_type in {"section", "inverted section"}:
259
264
  # Then open a new section
260
265
  open_sections.append(tag_key)
261
266
  _LAST_TAG_LINE = _CURRENT_LINE
@@ -301,7 +306,7 @@ def tokenize(
301
306
  yield ("literal", literal)
302
307
 
303
308
  # Ignore comments and set delimiters
304
- if tag_type not in ["comment", "set delimiter?"]:
309
+ if tag_type not in {"comment", "set delimiter?"}:
305
310
  yield (tag_type, tag_key)
306
311
 
307
312
  # If there are any open sections when we're done
@@ -486,7 +491,7 @@ def render(
486
491
 
487
492
  # If the current scope is falsy and not the only scope
488
493
  elif not current_scope and len(scopes) != 1:
489
- if tag in ["section", "inverted section"]:
494
+ if tag in {"section", "inverted section"}:
490
495
  # Set the most recent scope to a falsy value
491
496
  scopes.insert(0, False)
492
497
 
@@ -1052,9 +1052,9 @@ class VectorStoreRetriever(BaseRetriever):
1052
1052
 
1053
1053
  def _get_ls_params(self, **kwargs: Any) -> LangSmithRetrieverParams:
1054
1054
  """Get standard params for tracing."""
1055
- _kwargs = self.search_kwargs | kwargs
1055
+ kwargs_ = self.search_kwargs | kwargs
1056
1056
 
1057
- ls_params = super()._get_ls_params(**_kwargs)
1057
+ ls_params = super()._get_ls_params(**kwargs_)
1058
1058
  ls_params["ls_vector_store_provider"] = self.vectorstore.__class__.__name__
1059
1059
 
1060
1060
  if self.vectorstore.embeddings:
@@ -1074,18 +1074,18 @@ class VectorStoreRetriever(BaseRetriever):
1074
1074
  def _get_relevant_documents(
1075
1075
  self, query: str, *, run_manager: CallbackManagerForRetrieverRun, **kwargs: Any
1076
1076
  ) -> list[Document]:
1077
- _kwargs = self.search_kwargs | kwargs
1077
+ kwargs_ = self.search_kwargs | kwargs
1078
1078
  if self.search_type == "similarity":
1079
- docs = self.vectorstore.similarity_search(query, **_kwargs)
1079
+ docs = self.vectorstore.similarity_search(query, **kwargs_)
1080
1080
  elif self.search_type == "similarity_score_threshold":
1081
1081
  docs_and_similarities = (
1082
1082
  self.vectorstore.similarity_search_with_relevance_scores(
1083
- query, **_kwargs
1083
+ query, **kwargs_
1084
1084
  )
1085
1085
  )
1086
1086
  docs = [doc for doc, _ in docs_and_similarities]
1087
1087
  elif self.search_type == "mmr":
1088
- docs = self.vectorstore.max_marginal_relevance_search(query, **_kwargs)
1088
+ docs = self.vectorstore.max_marginal_relevance_search(query, **kwargs_)
1089
1089
  else:
1090
1090
  msg = f"search_type of {self.search_type} not allowed."
1091
1091
  raise ValueError(msg)
@@ -1099,19 +1099,19 @@ class VectorStoreRetriever(BaseRetriever):
1099
1099
  run_manager: AsyncCallbackManagerForRetrieverRun,
1100
1100
  **kwargs: Any,
1101
1101
  ) -> list[Document]:
1102
- _kwargs = self.search_kwargs | kwargs
1102
+ kwargs_ = self.search_kwargs | kwargs
1103
1103
  if self.search_type == "similarity":
1104
- docs = await self.vectorstore.asimilarity_search(query, **_kwargs)
1104
+ docs = await self.vectorstore.asimilarity_search(query, **kwargs_)
1105
1105
  elif self.search_type == "similarity_score_threshold":
1106
1106
  docs_and_similarities = (
1107
1107
  await self.vectorstore.asimilarity_search_with_relevance_scores(
1108
- query, **_kwargs
1108
+ query, **kwargs_
1109
1109
  )
1110
1110
  )
1111
1111
  docs = [doc for doc, _ in docs_and_similarities]
1112
1112
  elif self.search_type == "mmr":
1113
1113
  docs = await self.vectorstore.amax_marginal_relevance_search(
1114
- query, **_kwargs
1114
+ query, **kwargs_
1115
1115
  )
1116
1116
  else:
1117
1117
  msg = f"search_type of {self.search_type} not allowed."
@@ -596,8 +596,8 @@ class InMemoryVectorStore(VectorStore):
596
596
  Returns:
597
597
  A VectorStore object.
598
598
  """
599
- _path: Path = Path(path)
600
- with _path.open("r") as f:
599
+ path_: Path = Path(path)
600
+ with path_.open("r") as f:
601
601
  store = load(json.load(f))
602
602
  vectorstore = cls(embedding=embedding, **kwargs)
603
603
  vectorstore.store = store
@@ -609,7 +609,7 @@ class InMemoryVectorStore(VectorStore):
609
609
  Args:
610
610
  path: The path to dump the vector store to.
611
611
  """
612
- _path: Path = Path(path)
613
- _path.parent.mkdir(exist_ok=True, parents=True)
614
- with _path.open("w") as f:
612
+ path_: Path = Path(path)
613
+ path_.parent.mkdir(exist_ok=True, parents=True)
614
+ with path_.open("w") as f:
615
615
  json.dump(dumpd(self.store), f, indent=2)
@@ -7,6 +7,7 @@ as they can change without notice.
7
7
  from __future__ import annotations
8
8
 
9
9
  import logging
10
+ import warnings
10
11
  from typing import TYPE_CHECKING, Union
11
12
 
12
13
  if TYPE_CHECKING:
@@ -46,6 +47,23 @@ def _cosine_similarity(x: Matrix, y: Matrix) -> np.ndarray:
46
47
 
47
48
  x = np.array(x)
48
49
  y = np.array(y)
50
+
51
+ # Check for NaN
52
+ if np.any(np.isnan(x)) or np.any(np.isnan(y)):
53
+ warnings.warn(
54
+ "NaN found in input arrays, unexpected return might follow",
55
+ category=RuntimeWarning,
56
+ stacklevel=2,
57
+ )
58
+
59
+ # Check for Inf
60
+ if np.any(np.isinf(x)) or np.any(np.isinf(y)):
61
+ warnings.warn(
62
+ "Inf found in input arrays, unexpected return might follow",
63
+ category=RuntimeWarning,
64
+ stacklevel=2,
65
+ )
66
+
49
67
  if x.shape[1] != y.shape[1]:
50
68
  msg = (
51
69
  f"Number of columns in X and Y must be the same. X has shape {x.shape} "
@@ -64,6 +82,9 @@ def _cosine_similarity(x: Matrix, y: Matrix) -> np.ndarray:
64
82
  # Ignore divide by zero errors run time warnings as those are handled below.
65
83
  with np.errstate(divide="ignore", invalid="ignore"):
66
84
  similarity = np.dot(x, y.T) / np.outer(x_norm, y_norm)
85
+ if np.isnan(similarity).all():
86
+ msg = "NaN values found, please remove the NaN values and try again"
87
+ raise ValueError(msg) from None
67
88
  similarity[np.isnan(similarity) | np.isinf(similarity)] = 0.0
68
89
  return similarity
69
90
 
langchain_core/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """langchain-core version information and utilities."""
2
2
 
3
- VERSION = "0.3.68"
3
+ VERSION = "0.3.70"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langchain-core
3
- Version: 0.3.68
3
+ Version: 0.3.70
4
4
  Summary: Building applications with LLMs through composability
5
5
  License: MIT
6
6
  Project-URL: Source Code, https://github.com/langchain-ai/langchain/tree/master/libs/core
@@ -11,8 +11,8 @@ Requires-Dist: langsmith>=0.3.45
11
11
  Requires-Dist: tenacity!=8.4.0,<10.0.0,>=8.1.0
12
12
  Requires-Dist: jsonpatch<2.0,>=1.33
13
13
  Requires-Dist: PyYAML>=5.3
14
- Requires-Dist: packaging<25,>=23.2
15
14
  Requires-Dist: typing-extensions>=4.7
15
+ Requires-Dist: packaging>=23.2
16
16
  Requires-Dist: pydantic>=2.7.4
17
17
  Description-Content-Type: text/markdown
18
18
 
@@ -1,34 +1,34 @@
1
- langchain_core-0.3.68.dist-info/METADATA,sha256=cYL_nay-Zl5Gi9uWe5Rnt3_fn5I8VBCI8dXx9WKIh30,5771
2
- langchain_core-0.3.68.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
- langchain_core-0.3.68.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
1
+ langchain_core-0.3.70.dist-info/METADATA,sha256=KfwpqFj2ZUyvXfoSsZ-ruTpsqLtCEdopcQq9CTeu_SE,5767
2
+ langchain_core-0.3.70.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
+ langchain_core-0.3.70.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
4
  langchain_core/__init__.py,sha256=AN-KPu2IuqeQGc-m9dcDfoTIvBno5-ZdUNEVwIIoZM0,709
5
5
  langchain_core/_api/__init__.py,sha256=WDOMw4faVuscjDCL5ttnRQNienJP_M9vGMmJUXS6L5w,1976
6
6
  langchain_core/_api/beta_decorator.py,sha256=osyHHMFFC4jT59CSlauU8HnVxReBfEaA-USTkvh7yAI,9942
7
- langchain_core/_api/deprecation.py,sha256=_WQR_81IaV6WH459EnWgSYTosYpyhXlpZxP6mXJPl-g,20500
7
+ langchain_core/_api/deprecation.py,sha256=nZtRLOlU_9fpvpOKO4SLTXpDm73Ik28EEPEBmIdaJVs,20500
8
8
  langchain_core/_api/internal.py,sha256=aOZkYANu747LyWzyAk-0KE4RjdTYj18Wtlh7F9_qyPM,683
9
9
  langchain_core/_api/path.py,sha256=M93Jo_1CUpShRyqB6m___Qjczm1RU1D7yb4LSGaiysk,984
10
- langchain_core/_import_utils.py,sha256=hzGmPpoLFeDGg6o96J39RPtMl_I6GUxW-_2JxGTJcIk,1250
10
+ langchain_core/_import_utils.py,sha256=AXmqapJmqEIYMY7qeA9SF8NmOkWse1ZYfTrljRxnPPo,1265
11
11
  langchain_core/agents.py,sha256=r2GDNZeHrGR83URVMBn_-q18enwg1o-1aZlTlke3ep0,8466
12
12
  langchain_core/beta/__init__.py,sha256=8phOlCdTByvzqN1DR4CU_rvaO4SDRebKATmFKj0B5Nw,68
13
13
  langchain_core/beta/runnables/__init__.py,sha256=KPVZTs2phF46kEB7mn0M75UeSw8nylbTZ4HYpLT0ywE,17
14
14
  langchain_core/beta/runnables/context.py,sha256=GiZ01qfR5t670hIGMAqhzHKdVwAnaR18tD2N8FsRyjU,13453
15
- langchain_core/caches.py,sha256=jzH1jy1VcOWZT08viIAyl-9AJ3_KI6ge2jBEqxBvTwM,9667
15
+ langchain_core/caches.py,sha256=d_6h0Bb0h7sLK0mrQ1BwSljJKnLBvKvoXQMVSnpcqlI,9665
16
16
  langchain_core/callbacks/__init__.py,sha256=jXp7StVQk5GeWudGtnnkFV_L-WHCl44ESznc6-0pOVg,4347
17
17
  langchain_core/callbacks/base.py,sha256=M1Vs2LZKtZnjW-IObhjzX-is5GWz8NTugAXRujUxl1w,37005
18
18
  langchain_core/callbacks/file.py,sha256=f8YrTSJIvHpGr3BLKZcB4Ci8_ytYF6p4hYUdoiijMB4,8512
19
- langchain_core/callbacks/manager.py,sha256=Qsilxrg0sCOWIrqo1JePdXSdcAyZqPed5SyVyQ8S_lo,90487
19
+ langchain_core/callbacks/manager.py,sha256=wQfcSih4AQyQ_Mq9yhIzefLMQiDxz4N0vtpAtsOzFzI,90529
20
20
  langchain_core/callbacks/stdout.py,sha256=hQ1gjpshNHGdbCS8cH6_oTc4nM8tCWzGNXrbm9dJeaY,4113
21
21
  langchain_core/callbacks/streaming_stdout.py,sha256=92UQWxL9HBzdCpn47AF-ZE_jGkkebMn2Z_l24ndMBMI,4646
22
22
  langchain_core/callbacks/usage.py,sha256=ba9-YS0ulugJJz_yoFL2A1RL5tXvrRAQ0MoFXxZqx6E,5060
23
- langchain_core/chat_history.py,sha256=un-5bq7rWqMXmQh68BZNyKJPY7QuOy-9ebahq4SAZ8s,8379
23
+ langchain_core/chat_history.py,sha256=9_iDhaKa8sK0Zw3HOkLJNG60gAlLtHr9lVFbL7D6b64,8502
24
24
  langchain_core/chat_loaders.py,sha256=b57Gl3KGPxq9gYJjetsHfJm1I6kSqi7bDE91fJJOR84,601
25
25
  langchain_core/chat_sessions.py,sha256=YEO3ck5_wRGd3a2EnGD7M_wTvNC_4T1IVjQWekagwaM,564
26
26
  langchain_core/document_loaders/__init__.py,sha256=DkZPp9cEVmsnz9SM1xtuefH_fGQFvA2WtpRG6iePPBs,975
27
- langchain_core/document_loaders/base.py,sha256=dIkxB9EjJPHDCOanfG4L_BQzPpYo-J-pui0vryoWtCE,4256
27
+ langchain_core/document_loaders/base.py,sha256=PTU4lHoJ3I3jj8jmu4szHyEx5KYLZLSaR-mK2G59tsM,4256
28
28
  langchain_core/document_loaders/blob_loaders.py,sha256=4m1k8boiwXw3z4yMYT8bnYUA-eGTPtEZyUxZvI3GbTs,1077
29
29
  langchain_core/document_loaders/langsmith.py,sha256=h5KR0dH2B2s8Ve2Av_lD9UA_qdH7i-OOCVeklpBZ3Xg,5416
30
30
  langchain_core/documents/__init__.py,sha256=KT_l-TSINKrTXldw5n57wx1yGBtJmGAGxAQL0ceQefc,850
31
- langchain_core/documents/base.py,sha256=eZPpgGng82e70aOowEQDVs2_QY3Epk4a-h7CSb_BmrI,10102
31
+ langchain_core/documents/base.py,sha256=qjvDX9_dzlilqD_s8VVIms1aAtNwxJwIAN-MHf1q4aI,10099
32
32
  langchain_core/documents/compressor.py,sha256=pbabH4kKqBplmdtMzNLlEaP7JATwQW22W0Y8AGmU5kA,1992
33
33
  langchain_core/documents/transformers.py,sha256=Nym6dVdg6S3ktfNsTzdg5iuk9-dbutPoK7zEjY5Zo-I,2549
34
34
  langchain_core/embeddings/__init__.py,sha256=0SfcdkVSSXmTFXznUyeZq_b1ajpwIGDueGAAfwyMpUY,774
@@ -42,21 +42,21 @@ langchain_core/example_selectors/semantic_similarity.py,sha256=flhao1yNBnaDkM2Ml
42
42
  langchain_core/exceptions.py,sha256=nGD_r_MAZSbraqzWUTzreALmPBSg4XA3zyTWd3kmMWE,3114
43
43
  langchain_core/globals.py,sha256=Y6uVfEmgAw5_TGb9T3ODOZokfEkExDgWdN-ptUkj8do,8937
44
44
  langchain_core/indexing/__init__.py,sha256=VOvbbBJYY_UZdMKAeJCdQdszMiAOhAo3Cbht1HEkk8g,1274
45
- langchain_core/indexing/api.py,sha256=lRW3laEiNQl6VNYzA8beEOy-jhAZEsKFgLWIWZwDvr8,37622
45
+ langchain_core/indexing/api.py,sha256=BwtvWmhUEjxOo4aThcv6dzixRXOCuthhi3PLyDGeHYk,37630
46
46
  langchain_core/indexing/base.py,sha256=OoS3omb9lFqNtL5FYXIrs8yzjD7Mr8an5cb6ZBcFMbI,23298
47
47
  langchain_core/indexing/in_memory.py,sha256=-qyKjAWJFWxtH_MbUu3JJct0x3R_pbHyHuxA4Cra1nA,2709
48
48
  langchain_core/language_models/__init__.py,sha256=j6OXr7CriShFr7BYfCWZ2kOTEZpzvlE7dNDTab75prg,3778
49
- langchain_core/language_models/_utils.py,sha256=3A8LhEv1orUneWCKo3PTbhp_nUn1jV0Ft6zjIbEuThk,4785
50
- langchain_core/language_models/base.py,sha256=hQXammG0peipizMIdI3XXcLr9cWi8ottE-od9tsRad0,14432
51
- langchain_core/language_models/chat_models.py,sha256=ZX197qeqy50g6IiNNgSgILHm0LUEA_rRY47ctP2V1jQ,67895
49
+ langchain_core/language_models/_utils.py,sha256=uy-rdJB51K0O4txjxYe-tLGG8ZAwe3yezIiKvuDXDUU,4785
50
+ langchain_core/language_models/base.py,sha256=hURYXnzIRP_Ib7vL5hPlWyTPbSEhwWIRGoxp7VQPSHQ,14448
51
+ langchain_core/language_models/chat_models.py,sha256=EVD9F0EZ5xK7vLJ9HpqD0JBZ0GdRlPjYRbz2NmopsdA,67895
52
52
  langchain_core/language_models/fake.py,sha256=h9LhVTkmYLXkJ1_VvsKhqYVpkQsM7eAr9geXF_IVkPs,3772
53
- langchain_core/language_models/fake_chat_models.py,sha256=vt0N35tlETJrStWcr2cZrknjDUMKzZjikb7Ftndzgik,12832
54
- langchain_core/language_models/llms.py,sha256=YD4KsU5eEDBVCrLhnPZsCwdi5UruZllYfjC4Hdqz4uc,56800
53
+ langchain_core/language_models/fake_chat_models.py,sha256=QLz4VXMdIn6U5sBdZn_Lzfe1-rbebhNemQVGHnB3aBM,12994
54
+ langchain_core/language_models/llms.py,sha256=87JTPgaRlMFhWR6sAc0N0aBMJxzV2sO3DtQz7dO0cWI,56802
55
55
  langchain_core/load/__init__.py,sha256=m3_6Fk2gpYZO0xqyTnZzdQigvsYHjMariLq_L2KwJFk,1150
56
56
  langchain_core/load/dump.py,sha256=xQMuWsbCpgt8ce_muZuHUOOY9Ju-_voQyHc_fkv18mo,2667
57
- langchain_core/load/load.py,sha256=ZC8JJViIY9rJnV1c9ttTAuQqS7v2ssL2FahsOZs67-Y,8424
57
+ langchain_core/load/load.py,sha256=8Jq62M9QYcW78Iv3J_EKQG6OIAsbthudMM60gqyUjFg,9272
58
58
  langchain_core/load/mapping.py,sha256=nnFXiTdQkfdv41_wP38aWGtpp9svxW6fwVyC3LmRkok,29633
59
- langchain_core/load/serializable.py,sha256=m6cjURpY_Xh5wvjWCT6GkQydU71qn6nzi16QzYMJoOU,11684
59
+ langchain_core/load/serializable.py,sha256=JIM8GTYYLXBTrRn9zal1tMJOP4z5vs-Hi-aAov6JYtY,11684
60
60
  langchain_core/memory.py,sha256=_uXlx3ThEpajyC3eOWV2cISvt-n9z8ng71xXTv6Fcnw,3630
61
61
  langchain_core/messages/__init__.py,sha256=8H1BnLGi2oSXdIz_LWtVAwmxFvK_6_CqiDRq2jnGtw0,4253
62
62
  langchain_core/messages/ai.py,sha256=wJRiLdnEJXJzsxNtQNjf0N3B8NdWRwFB9GfuwCGwMfs,17920
@@ -67,108 +67,108 @@ langchain_core/messages/function.py,sha256=QO2WgKmJ5nm7QL-xXG11Fmz3qFkHm1lL0k41W
67
67
  langchain_core/messages/human.py,sha256=oUKkV5H9j-z6KIWtKwDRwHfQudPkLQOcWQSVpNYJeWQ,1928
68
68
  langchain_core/messages/modifier.py,sha256=eTc6oo-GljyrdmEyDqHcWn8yz05CzEXBVDo4CJPbGVM,908
69
69
  langchain_core/messages/system.py,sha256=Zbb8zeezWs8SN6nOP-MjeBed5OtNetAsdGzf3lcl2Yc,1741
70
- langchain_core/messages/tool.py,sha256=SqEgMV4vL7DPdWUDriajsVxvartZoHpaNtm4U2BaKaA,12262
71
- langchain_core/messages/utils.py,sha256=YuRsUAJhL16F_ZTrnFqIOyk3jvXKxZ7oOhwK-T17JPo,67469
70
+ langchain_core/messages/tool.py,sha256=pEin3PyjXnlECapTSNoFURmMY_zouHUONr7EAfvy_58,12231
71
+ langchain_core/messages/utils.py,sha256=xKERIZ_-XRMJsevZj14O4LccZCZf06OMvJSCWPBrrLE,67385
72
72
  langchain_core/output_parsers/__init__.py,sha256=R8L0GwY-vD9qvqze3EVELXF6i45IYUJ_FbSfno_IREg,2873
73
- langchain_core/output_parsers/base.py,sha256=XFWuhPGbtcXs99d09JZYIhG5TJPiFRIq3nd-7ZXkKPM,11167
73
+ langchain_core/output_parsers/base.py,sha256=7rWol2VfHGmLxKEp09XZbLQaKCp7LXRxUkBqsgipQyA,11167
74
74
  langchain_core/output_parsers/format_instructions.py,sha256=8oUbeysnVGvXWyNd5gqXlEL850D31gMTy74GflsuvRU,553
75
75
  langchain_core/output_parsers/json.py,sha256=1KVQSshLOiE4xtoOrwSuVu6tlTEm-LX1hNa9Jt7pRb8,4650
76
76
  langchain_core/output_parsers/list.py,sha256=7op38L-z4s8ElB_7Uo2vr6gJNsdRn3T07r780GubgfI,7677
77
- langchain_core/output_parsers/openai_functions.py,sha256=W5h7xz4Bm2kUrKLI91CBfh_JDkTOE6wG3lQ9oAtA17o,10717
78
- langchain_core/output_parsers/openai_tools.py,sha256=GLSQMJ4TD05TZOtLVnhwI9ZfMVNmRm3FNE3QCWDioOM,11059
77
+ langchain_core/output_parsers/openai_functions.py,sha256=34h2yySGubhDcWogPOMeCxSRrPJB3E0unxUBi6dOf4w,10714
78
+ langchain_core/output_parsers/openai_tools.py,sha256=hlwu7RWHTvC1wsBVMh3dFoX7mPpdT0tTlNUrhCiyza8,12252
79
79
  langchain_core/output_parsers/pydantic.py,sha256=NTwYFM2xnTEcxT8xYWsi3ViIJ7UJzZJlh67sA_b7VXw,4347
80
80
  langchain_core/output_parsers/string.py,sha256=F82gzziR6Ovea8kfkZD0gIgYBb3g7DWxuE_V523J3X8,898
81
81
  langchain_core/output_parsers/transform.py,sha256=QYLL5zAfXWQTtPGPZwzdge0RRM9K7Rx2ldKrUfoQiu0,5951
82
- langchain_core/output_parsers/xml.py,sha256=hJIIBCZrizb-KSkoqHB57wUYvl73pQ58_nsw85L9fZ8,11051
83
- langchain_core/outputs/__init__.py,sha256=AtGW1qQJOX3B-n8S8BlZdCDHUyAyTYK0dfs9ywcLrEo,2133
84
- langchain_core/outputs/chat_generation.py,sha256=CpeDuFcZ1O20gQ0NdBOzo54rM7Q82mfIFMRMz2h5wdY,4350
82
+ langchain_core/output_parsers/xml.py,sha256=vU6z6iQc5BTovH6CT5YMPN85fiM86Dqt-7EY_6ffGBw,11047
83
+ langchain_core/outputs/__init__.py,sha256=uy2aeRTvvIfyWeLtPs0KaCw0VpG6QTkC0esmj268BIM,2119
84
+ langchain_core/outputs/chat_generation.py,sha256=HAvbQGRzRXopvyVNwQHcTGC-zm7itFbOPtcXPhb4gXY,4349
85
85
  langchain_core/outputs/chat_result.py,sha256=us15wVh00AYkIVNmf0VETEI9aoEQy-cT-SIXMX-98Zc,1356
86
- langchain_core/outputs/generation.py,sha256=hYl5K90Eul8ldn6UEFwt1fqnMHRG5tI96SY74vm_O50,2312
87
- langchain_core/outputs/llm_result.py,sha256=dGOds21b1__h8WxI3c_-9_8rzy_gd0MUmH_Gfwz_CzI,3598
86
+ langchain_core/outputs/generation.py,sha256=gZRSOwdA8A4T-isxt80LasjnCKfqGbOB7zLKrpPUmkw,2376
87
+ langchain_core/outputs/llm_result.py,sha256=2-9Sz59tm03rLXCMj8kG5FLpz9Gm8gSKEXWlhKrmQFc,3661
88
88
  langchain_core/outputs/run_info.py,sha256=xCMWdsHfgnnodaf4OCMvZaWUfS836X7mV15JPkqvZjo,594
89
89
  langchain_core/prompt_values.py,sha256=HuG3X7gIYRXfFwpdOYnwksJM-OmcdAFchjoln1nXSg0,4002
90
90
  langchain_core/prompts/__init__.py,sha256=sp3NU858CEf4YUuDYiY_-iF1x1Gb5msSyoyrk2FUI94,4123
91
- langchain_core/prompts/base.py,sha256=NMpygbGTa8P_yyQ7syf1yBtMtWeydHhbPAnSbIa05Dw,16088
92
- langchain_core/prompts/chat.py,sha256=2Dj0VLXNYQTMcfmNw75fMAfQjjU7cOciQi1GznaKY7c,51899
93
- langchain_core/prompts/dict.py,sha256=iw6ujCk-BH2mSS7aC8lqJHfljbEPqpiE1Kqzgq6xdfM,4622
91
+ langchain_core/prompts/base.py,sha256=j7P3Lbze69Cmlj97_Zl5-LUEu-nApLZhH1z1MvVQRHA,16088
92
+ langchain_core/prompts/chat.py,sha256=CIb0eA-WNezxIIGRlhrL9aOUNh5pdrJXimtHSWnEooA,51936
93
+ langchain_core/prompts/dict.py,sha256=1NjxhYyNgztCyPzOpaqeXUqNf9ctYj_BHlrFeamsp-M,4591
94
94
  langchain_core/prompts/few_shot.py,sha256=RukjrZKkCIYjoZ1zNp8GtFx1nruKIBAu1Cyd77rtq3E,16190
95
95
  langchain_core/prompts/few_shot_with_templates.py,sha256=7uD9OZ2y0gxMLMLizV4Ww5cwo-h6bT3urwibwvYK_TE,7743
96
96
  langchain_core/prompts/image.py,sha256=-TH3IanHifgA_p_dO92Wqd9vpMTCc8AQOc3uEGc0RFk,4571
97
97
  langchain_core/prompts/loading.py,sha256=_T26PCTuZuOsCkHk_uv-h_zoIMonXojBdYJA3UsWHXE,6907
98
98
  langchain_core/prompts/message.py,sha256=L6QbRIv03pr0fJtayhnoynmIEFKIRTTAuWgrx5wLSv0,2592
99
- langchain_core/prompts/pipeline.py,sha256=8deq1Jdw3MYNLLVCJIybThS68x-so6jDf610HM3DiEY,4732
100
- langchain_core/prompts/prompt.py,sha256=Pyw8Yrux8XohmTQLa-P4qQ2nRaP-WU4jggVdm_tdLFo,11271
101
- langchain_core/prompts/string.py,sha256=gIY1S0hk2nU4mYK7DAq4m7C1zvA3Bdvx-Nq7f3Xms6Y,10269
99
+ langchain_core/prompts/pipeline.py,sha256=_VAkIPbnmR2bRyOCaWDO2YlMWNnaHhz6lZ9QBMN0NPU,4548
100
+ langchain_core/prompts/prompt.py,sha256=CtDLi5Amf8-CkMs7f9h9s0o6WaP-rSxhrjRe_6iEn04,11271
101
+ langchain_core/prompts/string.py,sha256=NY16ggTmXKxNyJfALHYjTnfC_VXEPUE6myWGZnfyGlI,10269
102
102
  langchain_core/prompts/structured.py,sha256=AqTOQ-5IRwit5NPNnVjqFhftILGNWYYABa3TX41kDmI,5879
103
103
  langchain_core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
104
  langchain_core/pydantic_v1/__init__.py,sha256=hqAsQjsfqLduCo5E0oAAAt21Nkls0S6bCQ4tD2moFfU,1080
105
105
  langchain_core/pydantic_v1/dataclasses.py,sha256=q4Qst8I0g7odncWZ3-MvW-Xadfu6DQYxCo-DFZgwLPE,889
106
106
  langchain_core/pydantic_v1/main.py,sha256=uTB_757DTfo-mFKJUn_a4qS_GxmSxlqYmL2WOCJLdS0,882
107
- langchain_core/rate_limiters.py,sha256=pUoyVUDGhSclWOWESrk-_upEKqp61EmyIz-SDfF3UHo,9588
108
- langchain_core/retrievers.py,sha256=JOEAjEKwiwkPitaKMgusUjWAyn4qESyh_I-9_Bgrmew,16735
107
+ langchain_core/rate_limiters.py,sha256=u05JRHY0WSdGZiqPUs9spO9bjQRNz3XBu-hMlXI818s,9564
108
+ langchain_core/retrievers.py,sha256=jkNUYO-_19hjKVBUYHD9pwQVjukYEE21fbHf-vtIdng,16735
109
109
  langchain_core/runnables/__init__.py,sha256=efTnFjwN_QSAv5ThLmKuWeu8P1BLARH-cWKZBuimfDM,3858
110
- langchain_core/runnables/base.py,sha256=biM314h1YGHbyMbx9x8v-0VBIWMrQOyLLAoeVcoTpCc,221479
111
- langchain_core/runnables/branch.py,sha256=n6msTOATiU88EHrncSWxSckdzpAyS-KGmTrmdHCoJuU,16557
110
+ langchain_core/runnables/base.py,sha256=cT1eB-s0waT4q4JFculG4AdmqYetBKB2e6DIrwCB8Nk,221543
111
+ langchain_core/runnables/branch.py,sha256=Z0wESU2RmTFjMWam7d5CbijJ9p6ar7EJSQPh7HUHF0Q,16557
112
112
  langchain_core/runnables/config.py,sha256=b86vkkiJoYj-qanPRW-vXweEvAzaJKz6iLWNhyizHuk,20423
113
113
  langchain_core/runnables/configurable.py,sha256=ReD0jHC8LYeD0Awv-s5x9in1xk8hCATYUeDCcEs0Ttk,24366
114
114
  langchain_core/runnables/fallbacks.py,sha256=nc_dq-UlmIX7LRLv8EOWPW5XX6o1ndfwG19q3SP-VGQ,24334
115
- langchain_core/runnables/graph.py,sha256=wVZ8MjBt9zE28CLUDOAfufRmglOuft22oXQrHm0sqxY,23386
115
+ langchain_core/runnables/graph.py,sha256=BzUDXoczHC21kFyD0-Gp2kndDVQbP0j1Bx-fAYTjAY0,23386
116
116
  langchain_core/runnables/graph_ascii.py,sha256=od3nU9ZmM3yRz4xF7iS7qwJyd6pney0fmxbiIUMvpLA,9969
117
117
  langchain_core/runnables/graph_mermaid.py,sha256=r70-8PxUpQBzQGfoqOnF0f5CHFUEat0mUPRjr3MNXEY,16584
118
118
  langchain_core/runnables/graph_png.py,sha256=A12vGi7oujuD22NhxEpbZc07a18O1HLxuvW8Gf0etXk,5901
119
- langchain_core/runnables/history.py,sha256=wHI9zQjm0BflxcxAt_xHienQ30e1xi4Hvscoh4ArwrE,25051
119
+ langchain_core/runnables/history.py,sha256=dGALfdpu3Dp2kJJQZwMnSVBuSORrtzqYs-AtaYAYHAU,25048
120
120
  langchain_core/runnables/passthrough.py,sha256=e9M-1x5f3RS9KCMgHEpSqsMxMFofZJYYbo88POCaeC0,25974
121
121
  langchain_core/runnables/retry.py,sha256=h2wL7wdfC76W-3EORtijufXG4xgFS9netJXlx4sQtIY,12768
122
- langchain_core/runnables/router.py,sha256=23mSTUFfD0a5Cjbu6kikuNdRIejlAzwOkoIhrdCLgtw,7251
122
+ langchain_core/runnables/router.py,sha256=CjOcpwEYUyIQHirO9QuUPjZCA_xZkPZuIVsmMVnMhac,7212
123
123
  langchain_core/runnables/schema.py,sha256=3wNfFjjNtNwfYt7tArA46cuzxCVQABjgXz6ZdECkBI4,5542
124
- langchain_core/runnables/utils.py,sha256=RK5NI3uPbI-HSmvqRCobcofmzz2HPI7P5Dgw9SXQ-r8,23445
125
- langchain_core/stores.py,sha256=fiKOpG-Zh3KX5CizyxeC0ltQLbKH03X1K-f7xH4JKnA,10819
124
+ langchain_core/runnables/utils.py,sha256=0X-dU5MosoBA9Hg5W4o4lfIdAJpKw_KxjhuBoM9kZr8,23445
125
+ langchain_core/stores.py,sha256=RuoetHe61T35XSGPwFbL7dcPqHhQeN_9rP2zrnIwVNU,10819
126
126
  langchain_core/structured_query.py,sha256=y6dInaoZwQJ9qg4Qssv4EdWcnuMm1TBBXLqNnzYyA28,5286
127
- langchain_core/sys_info.py,sha256=W1DFR6xyy6UNYwbOOaK7mFCyipIy8V25KG8S-W82QhQ,4087
127
+ langchain_core/sys_info.py,sha256=2i0E5GsKDTKct4aLR6ko-P2edynqhDIbZBYU1hsdXzc,4085
128
128
  langchain_core/tools/__init__.py,sha256=Uqcn6gFAoFbMM4aRXd8ACL4D-owdevGc37Gn-KOB8JU,2860
129
- langchain_core/tools/base.py,sha256=KvO31plRSsfS7PpWrkZODFwkqaVpaAmVgUEepImVixs,49935
129
+ langchain_core/tools/base.py,sha256=xPzEtbkJL_qKNOokh8AdPP8cdleIS6MNWbbx8N5Af_U,49957
130
130
  langchain_core/tools/convert.py,sha256=8hu33vhu7ozP868uQCwzGfOyL5CPs60pN9l4M6PAajE,15664
131
131
  langchain_core/tools/render.py,sha256=BosvIWrSvOJgRg_gaSDBS58j99gwQHsLhprOXeJP53I,1842
132
132
  langchain_core/tools/retriever.py,sha256=zlSV3HnWhhmtZtkNGbNQW9wxv8GptJKmDhzqZj8e36o,3873
133
133
  langchain_core/tools/simple.py,sha256=GwawH2sfn05W18g8H4NKOza-X5Rrw-pdPwUmVBitO3Y,6048
134
- langchain_core/tools/structured.py,sha256=z1h9Pqb-inl5uvMykLmQbeqPZ6xBxxiyuh9P7gxBYDM,8723
134
+ langchain_core/tools/structured.py,sha256=_Iqw6xjmrqnOid4IESHAbPRD1tppq7BJHJpubKldhLc,8989
135
135
  langchain_core/tracers/__init__.py,sha256=ixZmLjtoMEPqYEFUtAxleiDDRNIaHrS01VRDo9mCPk8,1611
136
136
  langchain_core/tracers/_streaming.py,sha256=TT2N_dzOQIqEM9dH7v3d_-eZKEfkcQxMJqItsMofMpY,960
137
137
  langchain_core/tracers/base.py,sha256=6TWPk6fL4Ep4ywh3q-aGzy-PdiaH6hDZhLs5Z4bL45Q,26025
138
138
  langchain_core/tracers/context.py,sha256=7TTqCOMTV3F-SX513lmXtaq0R3PNuAIKrYTpIFjxWRs,7106
139
- langchain_core/tracers/core.py,sha256=zI6gVD69qFNiPqsroL1Qvj6df9L3bekbpdP4Zgkjqbk,22740
139
+ langchain_core/tracers/core.py,sha256=2M8jnZL406aMrD0p4vZAhtpDKswtfNg-8S9Re0jDLpc,22740
140
140
  langchain_core/tracers/evaluation.py,sha256=_8WDpkqpIVtCcnm7IiHFTU2RU2BaOxqrEj-MwVYlmYU,8393
141
- langchain_core/tracers/event_stream.py,sha256=l9_esJ_P6P6-0dQQdCT4-vfRRQXgWRKr8jFPYE3PPM0,33581
141
+ langchain_core/tracers/event_stream.py,sha256=Si9Ok_OGHkmOiFduXpcSREt9eoYWQDTE070o3svkndw,33568
142
142
  langchain_core/tracers/langchain.py,sha256=_BzNC6k5d7PIgS06NSAKq-xJQB1jvIg6Xn01M4SeXHQ,10395
143
143
  langchain_core/tracers/langchain_v1.py,sha256=Fra8JU3HPs_PLeTMbLcM1NLqEqPnKB6xcX4myjFfbnY,727
144
- langchain_core/tracers/log_stream.py,sha256=adqfxPXhc2sU7b4AQsh3gFrcHtRjuFDUeeOTcJoENtE,24015
144
+ langchain_core/tracers/log_stream.py,sha256=VZbz6ry7O_zKwhrYbwyhhwDVRhXtjIVSJGClZEdH850,24106
145
145
  langchain_core/tracers/memory_stream.py,sha256=3A-cwA3-lq5YFbCZWYM8kglVv1bPT4kwM2L_q8axkhU,5032
146
146
  langchain_core/tracers/root_listeners.py,sha256=VRr3jnSSLYsIqYEmw9OjbjGgj4897c4fnNqhMhKDfys,4672
147
147
  langchain_core/tracers/run_collector.py,sha256=Tnnz5sfKkUI6Rapj8mGjScYGkyEKRyicWOhvEXHV3qE,1622
148
148
  langchain_core/tracers/schemas.py,sha256=2gDs-9zloHTjIrMfuWsr9w9cRdZ6ZMMD_h5hCRH6xHw,3768
149
149
  langchain_core/tracers/stdout.py,sha256=aZN-yz545zj34kYfrEmYzWeSz83pbqN8wNqi-ZvS1Iw,6732
150
150
  langchain_core/utils/__init__.py,sha256=SXdUKDhlsZB5cusipvcPOVJU5UzccL_Zi_7TIwuD_SA,3036
151
- langchain_core/utils/_merge.py,sha256=GMzKiokf1mg6RZSltOy3AJU39MTAHAy2923vAuM-PyM,5669
151
+ langchain_core/utils/_merge.py,sha256=sCYw0irypropb5Y6ZpIGxZhAmaKpsb7519Hc3pXLGWM,5763
152
152
  langchain_core/utils/aiter.py,sha256=Uz2EB-v7TAK6HVapkEgaKUmzxb8p2Az1cCUtEAa-bTM,10710
153
- langchain_core/utils/env.py,sha256=LnpUlWOSPgKnBjBB4aVjxg5AoRWiM6OK8r8AHWUyeo8,2464
153
+ langchain_core/utils/env.py,sha256=swKMUVFS-Jr_9KK2ToWam6qd9lt73Pz4RtRqwcaiFQw,2464
154
154
  langchain_core/utils/formatting.py,sha256=fkieArzKXxSsLcEa3B-MX60O4ZLeeLjiPtVtxCJPcOU,1480
155
- langchain_core/utils/function_calling.py,sha256=VsQGOefyn7XFeo9EEK2Y7Upve7TgBIxYLwYE9FFjJDQ,28479
155
+ langchain_core/utils/function_calling.py,sha256=eGg17EWq0vRyjbDROzwDc4f0UDbcNqzD2Ws84eveZzs,28432
156
156
  langchain_core/utils/html.py,sha256=fUogMGhd-VoUbsGnMyY6v_gv9nbxJy-vmC4yfICcflM,3780
157
- langchain_core/utils/image.py,sha256=99sCtCnA8uMtjp4vzq-l6dUrxnspEjoDO4QJTrrFyKM,532
157
+ langchain_core/utils/image.py,sha256=1MH8Lbg0f2HfhTC4zobKMvpVoHRfpsyvWHq9ae4xENo,532
158
158
  langchain_core/utils/input.py,sha256=z3tubdUtsoHqfTyiBGfELLr1xemSe-pGvhfAeGE6O2g,1958
159
159
  langchain_core/utils/interactive_env.py,sha256=Apx6gRncLvidU75maFoI-Gfx-FhDqO2vyiZnR32QAaE,200
160
160
  langchain_core/utils/iter.py,sha256=oqhDIXkuTdsrMj4JZUhNwGmdQ32DPIpGgXfPARdEtmc,7409
161
161
  langchain_core/utils/json.py,sha256=7K3dV2aOfT-1cLl5ZQrfmw9sVnLrn7batTsByzjlPdg,6197
162
- langchain_core/utils/json_schema.py,sha256=qHkMkEwytAKuBF8bVFaLNILagoSBGZVBeDyfgFHXTkg,3534
162
+ langchain_core/utils/json_schema.py,sha256=RuJUipbkwljzdjFZ4E6blJuHJObO9k2pXcxvJX5uzW8,3706
163
163
  langchain_core/utils/loading.py,sha256=7B9nuzOutgknzj5-8W6eorC9EUsNuO-1w4jh-aVf8ms,931
164
- langchain_core/utils/mustache.py,sha256=yUNO_dO-SEJSkftr1UNQ1UX65zu8LYIC1RUoBqKJ7rE,21118
164
+ langchain_core/utils/mustache.py,sha256=K_EnRcbYQMjQ-95-fP5G9rB2rCbpgcr1yn5QF6-Tr70,21253
165
165
  langchain_core/utils/pydantic.py,sha256=UFuDwQpGMZ95YFfb2coPMXva48sWn-ytQQhnqdy1ExM,17987
166
166
  langchain_core/utils/strings.py,sha256=LIh8uZcGlEKI_SnbOA_PsZxcU6QI5GQKTj0hxOraIv0,1016
167
167
  langchain_core/utils/usage.py,sha256=EYv0poDqA7VejEsPyoA19lEt9M4L24Tppf4OPtOjGwI,1202
168
168
  langchain_core/utils/utils.py,sha256=RK9JRNsdb4mXu1XYuJFuvDqyglSpnr6ak0vb0ELc7Eo,15043
169
169
  langchain_core/vectorstores/__init__.py,sha256=5P0eoeoH5LHab64JjmEeWa6SxX4eMy-etAP1MEHsETY,804
170
- langchain_core/vectorstores/base.py,sha256=O8USson7aTXpVjXmIs0jz0M7Tj4js3jvHbKpiL36xos,42025
171
- langchain_core/vectorstores/in_memory.py,sha256=V6DAlwbAuZqMgBOyaetAbPQN7YdVZdiJqdHibR4R2Z0,18076
172
- langchain_core/vectorstores/utils.py,sha256=JujAvqLu6m6dQQEM1QmO__pFzx2Z9-bssMh1sfJdwJ4,4271
173
- langchain_core/version.py,sha256=Qj3daxtgSauCLL59P89ISQ4NlbErCLGnqtnxeAQnSS0,76
174
- langchain_core-0.3.68.dist-info/RECORD,,
170
+ langchain_core/vectorstores/base.py,sha256=tClkcmbKtYw5CkwF1AEOPa304rHkYqDJ0jRlXXPPo8c,42025
171
+ langchain_core/vectorstores/in_memory.py,sha256=lxe2bR-wFtvNN2Ii7EGOh3ON3MwqNRP996eUEek55fA,18076
172
+ langchain_core/vectorstores/utils.py,sha256=DZUUR1xDybHDhmZJsd1V2OEPsYiFVc2nhtD4w8hw9ns,4934
173
+ langchain_core/version.py,sha256=7TDx1kbBpIn7ErsHWCHivHJEbNuQaS1Q-BShaJiN5Nk,76
174
+ langchain_core-0.3.70.dist-info/RECORD,,