langchain-dev-utils 1.2.9__py3-none-any.whl → 1.2.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- langchain_dev_utils/__init__.py +1 -1
- langchain_dev_utils/chat_models/adapters/openai_compatible.py +584 -572
- langchain_dev_utils/chat_models/base.py +3 -10
- langchain_dev_utils/chat_models/types.py +9 -1
- {langchain_dev_utils-1.2.9.dist-info → langchain_dev_utils-1.2.11.dist-info}/METADATA +52 -58
- {langchain_dev_utils-1.2.9.dist-info → langchain_dev_utils-1.2.11.dist-info}/RECORD +8 -8
- {langchain_dev_utils-1.2.9.dist-info → langchain_dev_utils-1.2.11.dist-info}/WHEEL +0 -0
- {langchain_dev_utils-1.2.9.dist-info → langchain_dev_utils-1.2.11.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Any,
|
|
1
|
+
from typing import Any, Optional, cast
|
|
2
2
|
|
|
3
3
|
from langchain.chat_models.base import _SUPPORTED_PROVIDERS, _init_chat_model_helper
|
|
4
4
|
from langchain_core.language_models.chat_models import BaseChatModel
|
|
@@ -9,17 +9,10 @@ from langchain_dev_utils._utils import (
|
|
|
9
9
|
_get_base_url_field_name,
|
|
10
10
|
)
|
|
11
11
|
|
|
12
|
-
from .types import ChatModelType, CompatibilityOptions
|
|
13
|
-
|
|
14
|
-
_MODEL_PROVIDERS_DICT = {}
|
|
12
|
+
from .types import ChatModelProvider, ChatModelType, CompatibilityOptions
|
|
15
13
|
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
provider_name: str
|
|
19
|
-
chat_model: ChatModelType
|
|
20
|
-
base_url: NotRequired[str]
|
|
21
|
-
model_profiles: NotRequired[dict[str, dict[str, Any]]]
|
|
22
|
-
compatibility_options: NotRequired[CompatibilityOptions]
|
|
15
|
+
_MODEL_PROVIDERS_DICT = {}
|
|
23
16
|
|
|
24
17
|
|
|
25
18
|
def _parse_model(model: str, model_provider: Optional[str]) -> tuple[str, str]:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Literal, NotRequired, TypedDict, Union
|
|
1
|
+
from typing import Any, Literal, NotRequired, TypedDict, Union
|
|
2
2
|
|
|
3
3
|
from langchain_core.language_models.chat_models import BaseChatModel
|
|
4
4
|
|
|
@@ -17,3 +17,11 @@ class CompatibilityOptions(TypedDict):
|
|
|
17
17
|
supported_response_format: NotRequired[ResponseFormatType]
|
|
18
18
|
reasoning_keep_policy: NotRequired[ReasoningKeepPolicy]
|
|
19
19
|
include_usage: NotRequired[bool]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ChatModelProvider(TypedDict):
|
|
23
|
+
provider_name: str
|
|
24
|
+
chat_model: ChatModelType
|
|
25
|
+
base_url: NotRequired[str]
|
|
26
|
+
model_profiles: NotRequired[dict[str, dict[str, Any]]]
|
|
27
|
+
compatibility_options: NotRequired[CompatibilityOptions]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langchain-dev-utils
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.11
|
|
4
4
|
Summary: A practical utility library for LangChain and LangGraph development
|
|
5
5
|
Project-URL: Source Code, https://github.com/TBice123123/langchain-dev-utils
|
|
6
6
|
Project-URL: repository, https://github.com/TBice123123/langchain-dev-utils
|
|
@@ -22,26 +22,26 @@ Description-Content-Type: text/markdown
|
|
|
22
22
|
</p>
|
|
23
23
|
|
|
24
24
|
<p align="center">
|
|
25
|
-
📚 <a href="https://tbice123123.github.io/langchain-dev-utils
|
|
26
|
-
<a href="https://tbice123123.github.io/langchain-dev-utils
|
|
25
|
+
📚 <a href="https://tbice123123.github.io/langchain-dev-utils/">English</a> •
|
|
26
|
+
<a href="https://tbice123123.github.io/langchain-dev-utils/zh/">中文</a>
|
|
27
27
|
</p>
|
|
28
28
|
|
|
29
29
|
[](https://pypi.org/project/langchain-dev-utils/)
|
|
30
30
|
[](https://opensource.org/licenses/MIT)
|
|
31
31
|
[](https://www.python.org/downloads)
|
|
32
32
|
[](https://pepy.tech/project/langchain-dev-utils)
|
|
33
|
-
[](https://tbice123123.github.io/langchain-dev-utils
|
|
33
|
+
[](https://tbice123123.github.io/langchain-dev-utils/)
|
|
34
34
|
|
|
35
|
-
> This is the English version. For the Chinese version, please visit [
|
|
35
|
+
> This is the English version. For the Chinese version, please visit [中文文档](https://github.com/TBice123123/langchain-dev-utils/blob/master/README_cn.md)
|
|
36
36
|
|
|
37
|
-
**langchain-dev-utils** is a utility library focused on enhancing the development experience
|
|
37
|
+
**langchain-dev-utils** is a utility library focused on enhancing the development experience of LangChain and LangGraph. It provides a series of ready-to-use utility functions that can reduce repetitive code writing and improve code consistency and readability. By simplifying the development workflow, this library can help you build prototypes faster, iterate more smoothly, and create clearer and more reliable AI applications based on large language models.
|
|
38
38
|
|
|
39
39
|
## 🚀 Installation
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
pip install -U langchain-dev-utils
|
|
43
43
|
|
|
44
|
-
# Install
|
|
44
|
+
# Install full-featured version:
|
|
45
45
|
pip install -U langchain-dev-utils[standard]
|
|
46
46
|
```
|
|
47
47
|
|
|
@@ -49,16 +49,16 @@ pip install -U langchain-dev-utils[standard]
|
|
|
49
49
|
|
|
50
50
|
### 1. **Model Management**
|
|
51
51
|
|
|
52
|
-
In `langchain`, the `init_chat_model`/`init_embeddings` functions can be used to initialize chat model instances/embedding model instances, but
|
|
52
|
+
In `langchain`, the `init_chat_model`/`init_embeddings` functions can be used to initialize chat model instances/embedding model instances, but they support a limited number of model providers. This module provides registration functions (`register_model_provider`/`register_embeddings_provider`) to easily register any model provider for later use with `load_chat_model` / `load_embeddings` for model loading.
|
|
53
53
|
|
|
54
54
|
#### 1.1 Chat Model Management
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
There are two main functions:
|
|
57
57
|
|
|
58
58
|
- `register_model_provider`: Register a chat model provider
|
|
59
59
|
- `load_chat_model`: Load a chat model
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
Assuming you want to use the qwen3-4b model deployed with `vllm`, the reference code is as follows:
|
|
62
62
|
|
|
63
63
|
```python
|
|
64
64
|
from langchain_dev_utils.chat_models import (
|
|
@@ -80,12 +80,12 @@ print(model.invoke("Hello"))
|
|
|
80
80
|
|
|
81
81
|
#### 1.2 Embedding Model Management
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
There are two main functions:
|
|
84
84
|
|
|
85
85
|
- `register_embeddings_provider`: Register an embedding model provider
|
|
86
86
|
- `load_embeddings`: Load an embedding model
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
Assuming you want to use the qwen3-embedding-4b model deployed with `vllm`, the reference code is as follows:
|
|
89
89
|
|
|
90
90
|
```python
|
|
91
91
|
from langchain_dev_utils.embeddings import register_embeddings_provider, load_embeddings
|
|
@@ -103,23 +103,21 @@ emb = embeddings.embed_query("Hello")
|
|
|
103
103
|
print(emb)
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
**For more information about model management, please refer to**: [Chat Model Management](https://tbice123123.github.io/langchain-dev-utils-docs/en/model-management/chat.html), [Embedding Model Management](https://tbice123123.github.io/langchain-dev-utils-docs/en/model-management/embedding.html)
|
|
107
106
|
|
|
108
107
|
### 2. **Message Conversion**
|
|
109
108
|
|
|
110
109
|
Includes the following features:
|
|
111
110
|
|
|
112
|
-
- Merge
|
|
111
|
+
- Merge chain-of-thought content into final responses
|
|
113
112
|
- Stream content merging
|
|
114
113
|
- Content formatting tools
|
|
115
114
|
|
|
116
115
|
#### 2.1 Stream Content Merging
|
|
117
116
|
|
|
118
|
-
For
|
|
117
|
+
For streaming responses obtained using `stream()` and `astream()`, you can use `merge_ai_message_chunk` to merge them into a final AIMessage.
|
|
119
118
|
|
|
120
119
|
```python
|
|
121
120
|
from langchain_dev_utils.message_convert import merge_ai_message_chunk
|
|
122
|
-
|
|
123
121
|
chunks = list(model.stream("Hello"))
|
|
124
122
|
merged = merge_ai_message_chunk(chunks)
|
|
125
123
|
```
|
|
@@ -137,7 +135,6 @@ text = format_sequence([
|
|
|
137
135
|
], separator="\n", with_num=True)
|
|
138
136
|
```
|
|
139
137
|
|
|
140
|
-
**For more information about message conversion, please refer to**: [Message Process](https://tbice123123.github.io/langchain-dev-utils-docs/en/message-conversion/message.html), [Formatting List Content](https://tbice123123.github.io/langchain-dev-utils-docs/en/message-conversion/format.html)
|
|
141
138
|
|
|
142
139
|
### 3. **Tool Calling**
|
|
143
140
|
|
|
@@ -157,10 +154,10 @@ from langchain_dev_utils.tool_calling import has_tool_calling, parse_tool_callin
|
|
|
157
154
|
|
|
158
155
|
@tool
|
|
159
156
|
def get_current_time() -> str:
|
|
160
|
-
"""Get
|
|
157
|
+
"""Get current timestamp"""
|
|
161
158
|
return str(datetime.datetime.now().timestamp())
|
|
162
159
|
|
|
163
|
-
response = model.bind_tools([get_current_time]).invoke("What time is it?")
|
|
160
|
+
response = model.bind_tools([get_current_time]).invoke("What time is it now?")
|
|
164
161
|
|
|
165
162
|
if has_tool_calling(response):
|
|
166
163
|
name, args = parse_tool_calling(
|
|
@@ -184,40 +181,43 @@ import datetime
|
|
|
184
181
|
@human_in_the_loop
|
|
185
182
|
@tool
|
|
186
183
|
def get_current_time() -> str:
|
|
187
|
-
"""Get
|
|
184
|
+
"""Get current timestamp"""
|
|
188
185
|
return str(datetime.datetime.now().timestamp())
|
|
189
186
|
```
|
|
190
187
|
|
|
191
|
-
**For more information about tool calling, please refer to**: [Add Human-in-the-Loop Support](https://tbice123123.github.io/langchain-dev-utils-docs/en/tool-calling/human-in-the-loop.html), [Tool Call Handling](https://tbice123123.github.io/langchain-dev-utils-docs/en/tool-calling/tool.html)
|
|
192
188
|
|
|
193
189
|
### 4. **Agent Development**
|
|
194
190
|
|
|
195
|
-
Includes the following
|
|
191
|
+
Includes the following features:
|
|
196
192
|
|
|
197
|
-
- Multi-agent construction
|
|
198
|
-
-
|
|
193
|
+
- Multi-agent construction
|
|
194
|
+
- Common middleware components
|
|
199
195
|
|
|
200
196
|
#### 4.1 Multi-Agent Construction
|
|
201
197
|
|
|
202
|
-
Wrapping
|
|
198
|
+
Wrapping agents as tools is a common implementation pattern in multi-agent systems, which is detailed in the official LangChain documentation. To this end, this library provides a pre-built function `wrap_agent_as_tool` to implement this pattern, which can wrap an agent instance into a tool that can be called by other agents.
|
|
203
199
|
|
|
204
|
-
|
|
200
|
+
Usage example:
|
|
205
201
|
|
|
206
202
|
```python
|
|
207
203
|
import datetime
|
|
208
204
|
from langchain_dev_utils.agents import create_agent, wrap_agent_as_tool
|
|
209
205
|
from langchain.agents import AgentState
|
|
210
206
|
|
|
211
|
-
|
|
212
207
|
@tool
|
|
213
208
|
def get_current_time() -> str:
|
|
214
|
-
"""Get
|
|
209
|
+
"""Get current time"""
|
|
215
210
|
return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
216
211
|
|
|
212
|
+
time_agent = create_agent("vllm:qwen3-4b", tools=[get_current_time], name="time-agent")
|
|
213
|
+
call_time_agent_tool = wrap_agent_as_tool(time_agent)
|
|
217
214
|
|
|
218
|
-
agent = create_agent(
|
|
219
|
-
|
|
220
|
-
|
|
215
|
+
agent = create_agent(
|
|
216
|
+
"vllm:qwen3-4b",
|
|
217
|
+
name="agent",
|
|
218
|
+
tools=[call_time_agent_tool],
|
|
219
|
+
)
|
|
220
|
+
response = agent.invoke(
|
|
221
221
|
{"messages": [{"role": "user", "content": "What time is it now?"}]}
|
|
222
222
|
)
|
|
223
223
|
print(response)
|
|
@@ -225,10 +225,11 @@ print(response)
|
|
|
225
225
|
|
|
226
226
|
#### 4.2 Middleware
|
|
227
227
|
|
|
228
|
-
Provides
|
|
228
|
+
Provides some common middleware components. Below are examples using `ToolCallRepairMiddleware` and `PlanMiddleware`.
|
|
229
229
|
|
|
230
|
-
|
|
231
|
-
|
|
230
|
+
`ToolCallRepairMiddleware` is used to fix `invaild_tool_calls` content from large models.
|
|
231
|
+
|
|
232
|
+
`PlanMiddleware` is used for agent planning.
|
|
232
233
|
|
|
233
234
|
```python
|
|
234
235
|
from langchain_dev_utils.agents.middleware import (
|
|
@@ -236,33 +237,28 @@ from langchain_dev_utils.agents.middleware import (
|
|
|
236
237
|
PlanMiddleware,
|
|
237
238
|
)
|
|
238
239
|
|
|
239
|
-
agent
|
|
240
|
+
agent=create_agent(
|
|
240
241
|
"vllm:qwen3-4b",
|
|
241
242
|
name="plan-agent",
|
|
242
|
-
middleware=[
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
]
|
|
243
|
+
middleware=[ToolCallRepairMiddleware(), PlanMiddleware(
|
|
244
|
+
use_read_plan_tool=False
|
|
245
|
+
)]
|
|
246
246
|
)
|
|
247
|
-
response = agent.invoke({"messages": [{"role": "user", "content": "Give me a travel plan
|
|
247
|
+
response = agent.invoke({"messages": [{"role": "user", "content": "Give me a travel plan to New York"}]}))
|
|
248
248
|
print(response)
|
|
249
249
|
```
|
|
250
250
|
|
|
251
|
-
**For more details on agent development and a complete list of built-in middleware, please refer to**:
|
|
252
|
-
[Multi-Agent Construction](https://tbice123123.github.io/langchain-dev-utils-docs/en/agent-development/multi-agent.html),
|
|
253
|
-
[Middleware](https://tbice123123.github.io/langchain-dev-utils-docs/en/agent-development/middleware.html)
|
|
254
|
-
|
|
255
251
|
|
|
256
252
|
### 5. **State Graph Orchestration**
|
|
257
253
|
|
|
258
|
-
Includes the following
|
|
254
|
+
Includes the following features:
|
|
259
255
|
|
|
260
256
|
- Sequential graph orchestration
|
|
261
257
|
- Parallel graph orchestration
|
|
262
258
|
|
|
263
259
|
#### 5.1 Sequential Graph Orchestration
|
|
264
260
|
|
|
265
|
-
|
|
261
|
+
Using `create_sequential_pipeline`, you can orchestrate multiple subgraphs in sequence:
|
|
266
262
|
|
|
267
263
|
```python
|
|
268
264
|
from langchain.agents import AgentState
|
|
@@ -277,25 +273,25 @@ register_model_provider(
|
|
|
277
273
|
base_url="http://localhost:8000/v1",
|
|
278
274
|
)
|
|
279
275
|
|
|
280
|
-
# Build
|
|
276
|
+
# Build sequential pipeline (all subgraphs execute in sequence)
|
|
281
277
|
graph = create_sequential_pipeline(
|
|
282
278
|
sub_graphs=[
|
|
283
279
|
create_agent(
|
|
284
280
|
model="vllm:qwen3-4b",
|
|
285
281
|
tools=[get_current_time],
|
|
286
|
-
system_prompt="You are a time
|
|
282
|
+
system_prompt="You are a time query assistant, you can only answer the current time. If this question is not related to time, please directly answer that you cannot answer",
|
|
287
283
|
name="time_agent",
|
|
288
284
|
),
|
|
289
285
|
create_agent(
|
|
290
286
|
model="vllm:qwen3-4b",
|
|
291
287
|
tools=[get_current_weather],
|
|
292
|
-
system_prompt="You are a weather
|
|
288
|
+
system_prompt="You are a weather query assistant, you can only answer the current weather. If this question is not related to weather, please directly answer that you cannot answer",
|
|
293
289
|
name="weather_agent",
|
|
294
290
|
),
|
|
295
291
|
create_agent(
|
|
296
292
|
model="vllm:qwen3-4b",
|
|
297
293
|
tools=[get_current_user],
|
|
298
|
-
system_prompt="You are a user
|
|
294
|
+
system_prompt="You are a user query assistant, you can only answer the current user. If this question is not related to users, please directly answer that you cannot answer",
|
|
299
295
|
name="user_agent",
|
|
300
296
|
),
|
|
301
297
|
],
|
|
@@ -308,44 +304,42 @@ print(response)
|
|
|
308
304
|
|
|
309
305
|
#### 5.2 Parallel Graph Orchestration
|
|
310
306
|
|
|
311
|
-
|
|
307
|
+
Using `create_parallel_pipeline`, you can orchestrate multiple subgraphs in parallel:
|
|
312
308
|
|
|
313
309
|
```python
|
|
314
310
|
from langchain_dev_utils.pipeline import create_parallel_pipeline
|
|
315
311
|
|
|
316
|
-
# Build
|
|
312
|
+
# Build parallel pipeline (all subgraphs execute in parallel)
|
|
317
313
|
graph = create_parallel_pipeline(
|
|
318
314
|
sub_graphs=[
|
|
319
315
|
create_agent(
|
|
320
316
|
model="vllm:qwen3-4b",
|
|
321
317
|
tools=[get_current_time],
|
|
322
|
-
system_prompt="You are a time
|
|
318
|
+
system_prompt="You are a time query assistant, you can only answer the current time. If this question is not related to time, please directly answer that you cannot answer",
|
|
323
319
|
name="time_agent",
|
|
324
320
|
),
|
|
325
321
|
create_agent(
|
|
326
322
|
model="vllm:qwen3-4b",
|
|
327
323
|
tools=[get_current_weather],
|
|
328
|
-
system_prompt="You are a weather
|
|
324
|
+
system_prompt="You are a weather query assistant, you can only answer the current weather. If this question is not related to weather, please directly answer that you cannot answer",
|
|
329
325
|
name="weather_agent",
|
|
330
326
|
),
|
|
331
327
|
create_agent(
|
|
332
328
|
model="vllm:qwen3-4b",
|
|
333
329
|
tools=[get_current_user],
|
|
334
|
-
system_prompt="You are a user
|
|
330
|
+
system_prompt="You are a user query assistant, you can only answer the current user. If this question is not related to users, please directly answer that you cannot answer",
|
|
335
331
|
name="user_agent",
|
|
336
332
|
),
|
|
337
333
|
],
|
|
338
334
|
state_schema=AgentState,
|
|
339
335
|
)
|
|
340
|
-
|
|
341
336
|
response = graph.invoke({"messages": [HumanMessage("Hello")]})
|
|
342
337
|
print(response)
|
|
343
338
|
```
|
|
344
339
|
|
|
345
|
-
**For more information about state graph orchestration, please refer to**: [State Graph Orchestration](https://tbice123123.github.io/langchain-dev-utils-docs/en/graph-orchestration/pipeline.html)
|
|
346
340
|
|
|
347
341
|
## 💬 Join the Community
|
|
348
342
|
|
|
349
343
|
- [GitHub Repository](https://github.com/TBice123123/langchain-dev-utils) — Browse source code, submit Pull Requests
|
|
350
344
|
- [Issue Tracker](https://github.com/TBice123123/langchain-dev-utils/issues) — Report bugs or suggest improvements
|
|
351
|
-
- We welcome
|
|
345
|
+
- We welcome all forms of contributions — whether code, documentation, or usage examples. Let's build a more powerful and practical LangChain development ecosystem together
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
langchain_dev_utils/__init__.py,sha256=
|
|
1
|
+
langchain_dev_utils/__init__.py,sha256=aBWZsCYiXXcSUsUJr3tOTQWsH7ZDqJzyMYdQbOd5Qtc,23
|
|
2
2
|
langchain_dev_utils/_utils.py,sha256=MFEzR1BjXMj6HEVwt2x2omttFuDJ_rYAEbNqe99r9pM,1338
|
|
3
3
|
langchain_dev_utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
langchain_dev_utils/agents/__init__.py,sha256=PJ-lSDZv_AXMYA3H4fx-HzJa14tPbkGmq1HX8LNfaPo,125
|
|
@@ -15,10 +15,10 @@ langchain_dev_utils/agents/middleware/tool_call_repair.py,sha256=oZF0Oejemqs9kSn
|
|
|
15
15
|
langchain_dev_utils/agents/middleware/tool_emulator.py,sha256=OgtPhqturaWzF4fRSJ3f_IXvIrYrrAjlpOC5zmLtrkY,2031
|
|
16
16
|
langchain_dev_utils/agents/middleware/tool_selection.py,sha256=dRH5ejR6N02Djwxt6Gd63MYkg6SV5pySlzaRt53OoZk,3113
|
|
17
17
|
langchain_dev_utils/chat_models/__init__.py,sha256=YSLUyHrWEEj4y4DtGFCOnDW02VIYZdfAH800m4Klgeg,224
|
|
18
|
-
langchain_dev_utils/chat_models/base.py,sha256=
|
|
19
|
-
langchain_dev_utils/chat_models/types.py,sha256=
|
|
18
|
+
langchain_dev_utils/chat_models/base.py,sha256=t-tjNMX4BSyNxvBCLX-BKfJzJcnzhUzJY4NTHhVhnPA,11627
|
|
19
|
+
langchain_dev_utils/chat_models/types.py,sha256=MD3cv_ZIe9fCdgwisNfuxAOhy-j4YSs1ZOQYyCjlNKs,927
|
|
20
20
|
langchain_dev_utils/chat_models/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
-
langchain_dev_utils/chat_models/adapters/openai_compatible.py,sha256=
|
|
21
|
+
langchain_dev_utils/chat_models/adapters/openai_compatible.py,sha256=v9ewQFn75Fl6urtVo4fZgg2RRrzRXGluKf-egYAI5A0,22658
|
|
22
22
|
langchain_dev_utils/embeddings/__init__.py,sha256=zbEOaV86TUi9Zrg_dH9dpdgacWg31HMJTlTQknA9EKk,244
|
|
23
23
|
langchain_dev_utils/embeddings/base.py,sha256=BGoWY0L7nG9iRV3d4sSagXhECXrwvS1xA-A_OVltn3k,9406
|
|
24
24
|
langchain_dev_utils/message_convert/__init__.py,sha256=ZGrHGXPKMrZ_p9MqfIVZ4jgbEyb7aC4Q7X-muuThIYU,457
|
|
@@ -31,7 +31,7 @@ langchain_dev_utils/pipeline/types.py,sha256=T3aROKKXeWvd0jcH5XkgMDQfEkLfPaiOhhV
|
|
|
31
31
|
langchain_dev_utils/tool_calling/__init__.py,sha256=mu_WxKMcu6RoTf4vkTPbA1WSBSNc6YIqyBtOQ6iVQj4,322
|
|
32
32
|
langchain_dev_utils/tool_calling/human_in_the_loop.py,sha256=7Z_QO5OZUR6K8nLoIcafc6osnvX2IYNorOJcbx6bVso,9672
|
|
33
33
|
langchain_dev_utils/tool_calling/utils.py,sha256=S4-KXQ8jWmpGTXYZitovF8rxKpaSSUkFruM8LDwvcvE,2765
|
|
34
|
-
langchain_dev_utils-1.2.
|
|
35
|
-
langchain_dev_utils-1.2.
|
|
36
|
-
langchain_dev_utils-1.2.
|
|
37
|
-
langchain_dev_utils-1.2.
|
|
34
|
+
langchain_dev_utils-1.2.11.dist-info/METADATA,sha256=4IGI_v0rIC8_SW13_j3h2JyPS_-rKPvdK6m6lTW2ymE,11853
|
|
35
|
+
langchain_dev_utils-1.2.11.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
36
|
+
langchain_dev_utils-1.2.11.dist-info/licenses/LICENSE,sha256=AWAOzNEcsvCEzHOF0qby5OKxviVH_eT9Yce1sgJTico,1084
|
|
37
|
+
langchain_dev_utils-1.2.11.dist-info/RECORD,,
|
|
File without changes
|
{langchain_dev_utils-1.2.9.dist-info → langchain_dev_utils-1.2.11.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|