langchain 0.3.0-rc.0 β 0.3.1
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.
- package/README.md +9 -9
- package/dist/agents/chat/index.cjs +1 -1
- package/dist/agents/chat/index.d.ts +1 -1
- package/dist/agents/chat/index.js +1 -1
- package/dist/agents/chat_convo/index.cjs +1 -1
- package/dist/agents/chat_convo/index.d.ts +1 -1
- package/dist/agents/chat_convo/index.js +1 -1
- package/dist/agents/mrkl/index.cjs +1 -1
- package/dist/agents/mrkl/index.d.ts +1 -1
- package/dist/agents/mrkl/index.js +1 -1
- package/dist/agents/openai_functions/index.cjs +1 -1
- package/dist/agents/openai_functions/index.d.ts +1 -1
- package/dist/agents/openai_functions/index.js +1 -1
- package/dist/agents/structured_chat/index.cjs +1 -1
- package/dist/agents/structured_chat/index.d.ts +1 -1
- package/dist/agents/structured_chat/index.js +1 -1
- package/dist/agents/xml/index.cjs +1 -1
- package/dist/agents/xml/index.d.ts +1 -1
- package/dist/agents/xml/index.js +1 -1
- package/dist/chains/load.cjs +1 -1
- package/dist/chains/load.d.ts +1 -1
- package/dist/chains/load.js +1 -1
- package/dist/chains/openai_functions/structured_output.cjs +2 -2
- package/dist/chains/openai_functions/structured_output.d.ts +2 -2
- package/dist/chains/openai_functions/structured_output.js +2 -2
- package/dist/chains/serde.d.ts +12 -12
- package/dist/experimental/plan_and_execute/agent_executor.cjs +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.js +1 -1
- package/dist/output_parsers/openai_tools.cjs +2 -4
- package/dist/output_parsers/openai_tools.d.ts +8 -3
- package/dist/output_parsers/openai_tools.js +2 -4
- package/dist/retrievers/multi_query.d.ts +1 -0
- package/dist/storage/file_system.cjs +20 -2
- package/dist/storage/file_system.d.ts +5 -0
- package/dist/storage/file_system.js +20 -2
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -34,10 +34,10 @@ LangChain is written in TypeScript and can be used in:
|
|
|
34
34
|
- **Reason**: rely on a language model to reason (about how to answer based on provided context, what actions to take, etc.)
|
|
35
35
|
|
|
36
36
|
This framework consists of several parts.
|
|
37
|
-
- **Open-source libraries**: Build your applications using LangChain's open-source [building blocks](https://js.langchain.com/
|
|
38
|
-
Use [LangGraph.js](https://js.langchain.com/
|
|
37
|
+
- **Open-source libraries**: Build your applications using LangChain's open-source [building blocks](https://js.langchain.com/docs/concepts#langchain-expression-language), [components](https://js.langchain.com/docs/concepts), and [third-party integrations](https://js.langchain.com/docs/integrations/platforms/).
|
|
38
|
+
Use [LangGraph.js](https://js.langchain.com/docs/concepts/#langgraphjs) to build stateful agents with first-class streaming and human-in-the-loop support.
|
|
39
39
|
- **Productionization**: Use [LangSmith](https://docs.smith.langchain.com/) to inspect, monitor and evaluate your chains, so that you can continuously optimize and deploy with confidence.
|
|
40
|
-
- **Deployment**: Turn your LangGraph applications into production-ready APIs and Assistants with [LangGraph Cloud](https://langchain-ai.github.io/langgraph/cloud/)
|
|
40
|
+
- **Deployment**: Turn your LangGraph applications into production-ready APIs and Assistants with [LangGraph Cloud](https://langchain-ai.github.io/langgraph/cloud/).
|
|
41
41
|
|
|
42
42
|
The LangChain libraries themselves are made up of several different packages.
|
|
43
43
|
- **[`@langchain/core`](https://github.com/langchain-ai/langchainjs/blob/main/langchain-core)**: Base abstractions and LangChain Expression Language.
|
|
@@ -53,13 +53,13 @@ This library aims to assist in the development of those types of applications. C
|
|
|
53
53
|
|
|
54
54
|
**βQuestion Answering over specific documents**
|
|
55
55
|
|
|
56
|
-
- [Documentation](https://js.langchain.com/
|
|
56
|
+
- [Documentation](https://js.langchain.com/docs/tutorials/rag)
|
|
57
57
|
- End-to-end Example: [Doc-Chatbot](https://github.com/dissorial/doc-chatbot)
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
**π¬ Chatbots**
|
|
61
61
|
|
|
62
|
-
- [Documentation](https://js.langchain.com/
|
|
62
|
+
- [Documentation](https://js.langchain.com/docs/how_to/#chatbots)
|
|
63
63
|
- End-to-end Example: [Chat-LangChain](https://github.com/langchain-ai/chat-langchainjs)
|
|
64
64
|
|
|
65
65
|
## π How does LangChain help?
|
|
@@ -82,15 +82,15 @@ Data Augmented Generation involves specific types of chains that first interact
|
|
|
82
82
|
|
|
83
83
|
**π€ Agents:**
|
|
84
84
|
|
|
85
|
-
Agents allow an LLM autonomy over how a task is accomplished. Agents make decisions about which Actions to take, then take that Action, observe the result, and repeat until the task is complete. LangChain provides a [standard interface for agents](https://js.langchain.com/
|
|
85
|
+
Agents allow an LLM autonomy over how a task is accomplished. Agents make decisions about which Actions to take, then take that Action, observe the result, and repeat until the task is complete. LangChain provides a [standard interface for agents](https://js.langchain.com/docs/concepts/#agents), along with [LangGraph.js](https://github.com/langchain-ai/langgraphjs/) for building custom agents.
|
|
86
86
|
|
|
87
87
|
## π Documentation
|
|
88
88
|
|
|
89
89
|
Please see [here](https://js.langchain.com) for full documentation, which includes:
|
|
90
90
|
|
|
91
|
-
- [Getting started](https://js.langchain.com/
|
|
92
|
-
- Overview of the [interfaces](https://js.langchain.com/
|
|
93
|
-
- [Tutorial](https://js.langchain.com/
|
|
91
|
+
- [Getting started](https://js.langchain.com/docs/introduction): installation, setting up the environment, simple examples
|
|
92
|
+
- Overview of the [interfaces](https://js.langchain.com/docs/how_to/lcel_cheatsheet/), [modules](https://js.langchain.com/docs/concepts) and [integrations](https://js.langchain.com/docs/integrations/platforms/)
|
|
93
|
+
- [Tutorial](https://js.langchain.com/docs/tutorials/) walkthroughs
|
|
94
94
|
- [Reference](https://api.js.langchain.com): full API docs
|
|
95
95
|
|
|
96
96
|
## π Contributing
|
|
@@ -11,7 +11,7 @@ const DEFAULT_HUMAN_MESSAGE_TEMPLATE = "{input}\n\n{agent_scratchpad}";
|
|
|
11
11
|
* Agent for the MRKL chain.
|
|
12
12
|
* @augments Agent
|
|
13
13
|
*
|
|
14
|
-
* @deprecated Use the {@link https://
|
|
14
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
15
15
|
*/
|
|
16
16
|
class ChatAgent extends agent_js_1.Agent {
|
|
17
17
|
static lc_name() {
|
|
@@ -33,7 +33,7 @@ export type ChatAgentInput = Optional<AgentInput, "outputParser">;
|
|
|
33
33
|
* Agent for the MRKL chain.
|
|
34
34
|
* @augments Agent
|
|
35
35
|
*
|
|
36
|
-
* @deprecated Use the {@link https://
|
|
36
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
37
37
|
*/
|
|
38
38
|
export declare class ChatAgent extends Agent {
|
|
39
39
|
static lc_name(): string;
|
|
@@ -8,7 +8,7 @@ const DEFAULT_HUMAN_MESSAGE_TEMPLATE = "{input}\n\n{agent_scratchpad}";
|
|
|
8
8
|
* Agent for the MRKL chain.
|
|
9
9
|
* @augments Agent
|
|
10
10
|
*
|
|
11
|
-
* @deprecated Use the {@link https://
|
|
11
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
12
12
|
*/
|
|
13
13
|
export class ChatAgent extends Agent {
|
|
14
14
|
static lc_name() {
|
|
@@ -11,7 +11,7 @@ const prompt_js_1 = require("./prompt.cjs");
|
|
|
11
11
|
* Agent for the MRKL chain.
|
|
12
12
|
* @augments Agent
|
|
13
13
|
*
|
|
14
|
-
* @deprecated Use the {@link https://
|
|
14
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
15
15
|
*/
|
|
16
16
|
class ChatConversationalAgent extends agent_js_1.Agent {
|
|
17
17
|
static lc_name() {
|
|
@@ -30,7 +30,7 @@ export type ChatConversationalAgentInput = Optional<AgentInput, "outputParser">;
|
|
|
30
30
|
* Agent for the MRKL chain.
|
|
31
31
|
* @augments Agent
|
|
32
32
|
*
|
|
33
|
-
* @deprecated Use the {@link https://
|
|
33
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
34
34
|
*/
|
|
35
35
|
export declare class ChatConversationalAgent extends Agent {
|
|
36
36
|
static lc_name(): string;
|
|
@@ -8,7 +8,7 @@ import { PREFIX_END, DEFAULT_PREFIX, DEFAULT_SUFFIX, TEMPLATE_TOOL_RESPONSE, } f
|
|
|
8
8
|
* Agent for the MRKL chain.
|
|
9
9
|
* @augments Agent
|
|
10
10
|
*
|
|
11
|
-
* @deprecated Use the {@link https://
|
|
11
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
12
12
|
*/
|
|
13
13
|
export class ChatConversationalAgent extends Agent {
|
|
14
14
|
static lc_name() {
|
|
@@ -32,7 +32,7 @@ const prompt_js_1 = require("./prompt.cjs");
|
|
|
32
32
|
* });
|
|
33
33
|
* ```
|
|
34
34
|
*
|
|
35
|
-
* @deprecated Use the {@link https://
|
|
35
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createReactAgent.html | createReactAgent method instead}.
|
|
36
36
|
*/
|
|
37
37
|
class ZeroShotAgent extends agent_js_1.Agent {
|
|
38
38
|
static lc_name() {
|
|
@@ -46,7 +46,7 @@ export type ZeroShotAgentInput = Optional<AgentInput, "outputParser">;
|
|
|
46
46
|
* });
|
|
47
47
|
* ```
|
|
48
48
|
*
|
|
49
|
-
* @deprecated Use the {@link https://
|
|
49
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createReactAgent.html | createReactAgent method instead}.
|
|
50
50
|
*/
|
|
51
51
|
export declare class ZeroShotAgent extends Agent {
|
|
52
52
|
static lc_name(): string;
|
|
@@ -29,7 +29,7 @@ import { FORMAT_INSTRUCTIONS, PREFIX, SUFFIX } from "./prompt.js";
|
|
|
29
29
|
* });
|
|
30
30
|
* ```
|
|
31
31
|
*
|
|
32
|
-
* @deprecated Use the {@link https://
|
|
32
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createReactAgent.html | createReactAgent method instead}.
|
|
33
33
|
*/
|
|
34
34
|
export class ZeroShotAgent extends Agent {
|
|
35
35
|
static lc_name() {
|
|
@@ -35,7 +35,7 @@ exports._formatIntermediateSteps = _formatIntermediateSteps;
|
|
|
35
35
|
* extends the Agent class and provides additional functionality specific
|
|
36
36
|
* to the OpenAIAgent type.
|
|
37
37
|
*
|
|
38
|
-
* @deprecated Use the {@link https://
|
|
38
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createOpenAIFunctionsAgent.html | createOpenAIFunctionsAgent method instead}.
|
|
39
39
|
*/
|
|
40
40
|
class OpenAIAgent extends agent_js_1.Agent {
|
|
41
41
|
static lc_name() {
|
|
@@ -29,7 +29,7 @@ export interface OpenAIAgentCreatePromptArgs {
|
|
|
29
29
|
* extends the Agent class and provides additional functionality specific
|
|
30
30
|
* to the OpenAIAgent type.
|
|
31
31
|
*
|
|
32
|
-
* @deprecated Use the {@link https://
|
|
32
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createOpenAIFunctionsAgent.html | createOpenAIFunctionsAgent method instead}.
|
|
33
33
|
*/
|
|
34
34
|
export declare class OpenAIAgent extends Agent {
|
|
35
35
|
static lc_name(): string;
|
|
@@ -31,7 +31,7 @@ export function _formatIntermediateSteps(intermediateSteps) {
|
|
|
31
31
|
* extends the Agent class and provides additional functionality specific
|
|
32
32
|
* to the OpenAIAgent type.
|
|
33
33
|
*
|
|
34
|
-
* @deprecated Use the {@link https://
|
|
34
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createOpenAIFunctionsAgent.html | createOpenAIFunctionsAgent method instead}.
|
|
35
35
|
*/
|
|
36
36
|
export class OpenAIAgent extends Agent {
|
|
37
37
|
static lc_name() {
|
|
@@ -15,7 +15,7 @@ const log_js_1 = require("../format_scratchpad/log.cjs");
|
|
|
15
15
|
/**
|
|
16
16
|
* Agent that interoperates with Structured Tools using React logic.
|
|
17
17
|
* @augments Agent
|
|
18
|
-
* @deprecated Use the {@link https://
|
|
18
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
19
19
|
*/
|
|
20
20
|
class StructuredChatAgent extends agent_js_1.Agent {
|
|
21
21
|
static lc_name() {
|
|
@@ -31,7 +31,7 @@ export type StructuredChatAgentInput = Optional<AgentInput, "outputParser">;
|
|
|
31
31
|
/**
|
|
32
32
|
* Agent that interoperates with Structured Tools using React logic.
|
|
33
33
|
* @augments Agent
|
|
34
|
-
* @deprecated Use the {@link https://
|
|
34
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
35
35
|
*/
|
|
36
36
|
export declare class StructuredChatAgent extends Agent {
|
|
37
37
|
static lc_name(): string;
|
|
@@ -12,7 +12,7 @@ import { formatLogToString } from "../format_scratchpad/log.js";
|
|
|
12
12
|
/**
|
|
13
13
|
* Agent that interoperates with Structured Tools using React logic.
|
|
14
14
|
* @augments Agent
|
|
15
|
-
* @deprecated Use the {@link https://
|
|
15
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createStructuredChatAgent.html | createStructuredChatAgent method instead}.
|
|
16
16
|
*/
|
|
17
17
|
export class StructuredChatAgent extends Agent {
|
|
18
18
|
static lc_name() {
|
|
@@ -12,7 +12,7 @@ const xml_js_1 = require("../format_scratchpad/xml.cjs");
|
|
|
12
12
|
/**
|
|
13
13
|
* Class that represents an agent that uses XML tags.
|
|
14
14
|
*
|
|
15
|
-
* @deprecated Use the {@link https://
|
|
15
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createXmlAgent.html | createXmlAgent method instead}.
|
|
16
16
|
*/
|
|
17
17
|
class XMLAgent extends agent_js_1.BaseSingleActionAgent {
|
|
18
18
|
static lc_name() {
|
|
@@ -18,7 +18,7 @@ export interface XMLAgentInput {
|
|
|
18
18
|
/**
|
|
19
19
|
* Class that represents an agent that uses XML tags.
|
|
20
20
|
*
|
|
21
|
-
* @deprecated Use the {@link https://
|
|
21
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createXmlAgent.html | createXmlAgent method instead}.
|
|
22
22
|
*/
|
|
23
23
|
export declare class XMLAgent extends BaseSingleActionAgent implements XMLAgentInput {
|
|
24
24
|
static lc_name(): string;
|
package/dist/agents/xml/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { formatXml } from "../format_scratchpad/xml.js";
|
|
|
9
9
|
/**
|
|
10
10
|
* Class that represents an agent that uses XML tags.
|
|
11
11
|
*
|
|
12
|
-
* @deprecated Use the {@link https://
|
|
12
|
+
* @deprecated Use the {@link https://api.js.langchain.com/functions/langchain.agents.createXmlAgent.html | createXmlAgent method instead}.
|
|
13
13
|
*/
|
|
14
14
|
export class XMLAgent extends BaseSingleActionAgent {
|
|
15
15
|
static lc_name() {
|
package/dist/chains/load.cjs
CHANGED
|
@@ -27,7 +27,7 @@ const loadChainFromFile = async (file, path, values = {}) => {
|
|
|
27
27
|
* const chain = await loadChain("/path/to/chain.json");
|
|
28
28
|
* ```
|
|
29
29
|
*
|
|
30
|
-
* @deprecated Use newer {@link https://
|
|
30
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | load method}.
|
|
31
31
|
*/
|
|
32
32
|
const loadChain = async (uri, values = {}) => {
|
|
33
33
|
const hubResult = await (0, hub_js_1.loadFromHub)(uri, loadChainFromFile, "chains", new Set(["json", "yaml"]), values);
|
package/dist/chains/load.d.ts
CHANGED
|
@@ -18,6 +18,6 @@ import { LoadValues } from "../util/load.js";
|
|
|
18
18
|
* const chain = await loadChain("/path/to/chain.json");
|
|
19
19
|
* ```
|
|
20
20
|
*
|
|
21
|
-
* @deprecated Use newer {@link https://
|
|
21
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | load method}.
|
|
22
22
|
*/
|
|
23
23
|
export declare const loadChain: (uri: string, values?: LoadValues) => Promise<BaseChain>;
|
package/dist/chains/load.js
CHANGED
|
@@ -24,7 +24,7 @@ const loadChainFromFile = async (file, path, values = {}) => {
|
|
|
24
24
|
* const chain = await loadChain("/path/to/chain.json");
|
|
25
25
|
* ```
|
|
26
26
|
*
|
|
27
|
-
* @deprecated Use newer {@link https://
|
|
27
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | load method}.
|
|
28
28
|
*/
|
|
29
29
|
export const loadChain = async (uri, values = {}) => {
|
|
30
30
|
const hubResult = await loadFromHub(uri, loadChainFromFile, "chains", new Set(["json", "yaml"]), values);
|
|
@@ -102,7 +102,7 @@ class FunctionCallStructuredOutputParser extends output_parsers_1.BaseLLMOutputP
|
|
|
102
102
|
}
|
|
103
103
|
exports.FunctionCallStructuredOutputParser = FunctionCallStructuredOutputParser;
|
|
104
104
|
/**
|
|
105
|
-
* @deprecated Use {@link https://
|
|
105
|
+
* @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead
|
|
106
106
|
* Create a chain that returns output matching a JSON Schema.
|
|
107
107
|
* @param input Object that includes all LLMChainInput fields except "outputParser"
|
|
108
108
|
* as well as an additional required "outputSchema" JSON Schema object.
|
|
@@ -138,7 +138,7 @@ function createStructuredOutputChain(input) {
|
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
exports.createStructuredOutputChain = createStructuredOutputChain;
|
|
141
|
-
/** @deprecated Use {@link https://
|
|
141
|
+
/** @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead */
|
|
142
142
|
function createStructuredOutputChainFromZod(zodSchema, input) {
|
|
143
143
|
return createStructuredOutputChain({
|
|
144
144
|
...input,
|
|
@@ -49,12 +49,12 @@ export declare class FunctionCallStructuredOutputParser<T extends z.AnyZodObject
|
|
|
49
49
|
parseResult(generations: ChatGeneration[]): Promise<any>;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
* @deprecated Use {@link https://
|
|
52
|
+
* @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead
|
|
53
53
|
* Create a chain that returns output matching a JSON Schema.
|
|
54
54
|
* @param input Object that includes all LLMChainInput fields except "outputParser"
|
|
55
55
|
* as well as an additional required "outputSchema" JSON Schema object.
|
|
56
56
|
* @returns OpenAPIChain
|
|
57
57
|
*/
|
|
58
58
|
export declare function createStructuredOutputChain<T extends z.AnyZodObject = z.AnyZodObject>(input: StructuredOutputChainInput<T>): LLMChain<any, BaseChatModel<BaseFunctionCallOptions, import("@langchain/core/messages").BaseMessageChunk> | ChatOpenAI<BaseFunctionCallOptions>>;
|
|
59
|
-
/** @deprecated Use {@link https://
|
|
59
|
+
/** @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead */
|
|
60
60
|
export declare function createStructuredOutputChainFromZod<T extends z.AnyZodObject>(zodSchema: T, input: Omit<StructuredOutputChainInput<T>, "outputSchema">): LLMChain<any, BaseChatModel<BaseFunctionCallOptions, import("@langchain/core/messages").BaseMessageChunk> | ChatOpenAI<BaseFunctionCallOptions>>;
|
|
@@ -98,7 +98,7 @@ export class FunctionCallStructuredOutputParser extends BaseLLMOutputParser {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
|
-
* @deprecated Use {@link https://
|
|
101
|
+
* @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead
|
|
102
102
|
* Create a chain that returns output matching a JSON Schema.
|
|
103
103
|
* @param input Object that includes all LLMChainInput fields except "outputParser"
|
|
104
104
|
* as well as an additional required "outputSchema" JSON Schema object.
|
|
@@ -133,7 +133,7 @@ export function createStructuredOutputChain(input) {
|
|
|
133
133
|
...rest,
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
|
-
/** @deprecated Use {@link https://
|
|
136
|
+
/** @deprecated Use {@link https://api.js.langchain.com/functions/langchain.chains_openai_functions.createStructuredOutputRunnable.html | createStructuredOutputRunnable} instead */
|
|
137
137
|
export function createStructuredOutputChainFromZod(zodSchema, input) {
|
|
138
138
|
return createStructuredOutputChain({
|
|
139
139
|
...input,
|
package/dist/chains/serde.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { SerializedBasePromptTemplate } from "@langchain/core/prompts";
|
|
|
4
4
|
* Represents the serialized form of an LLMChain. It includes properties
|
|
5
5
|
* such as `_type`, `llm`, and `prompt`.
|
|
6
6
|
*
|
|
7
|
-
* @deprecated Use newer {@link https://
|
|
7
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
8
8
|
*/
|
|
9
9
|
export type SerializedLLMChain = {
|
|
10
10
|
_type: "llm_chain";
|
|
@@ -16,7 +16,7 @@ export type SerializedLLMChain = {
|
|
|
16
16
|
* properties such as `_type`, `input_variables`, `output_variables`, and
|
|
17
17
|
* `chains`.
|
|
18
18
|
*
|
|
19
|
-
* @deprecated Use newer {@link https://
|
|
19
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
20
20
|
*/
|
|
21
21
|
export type SerializedSequentialChain = {
|
|
22
22
|
_type: "sequential_chain";
|
|
@@ -28,7 +28,7 @@ export type SerializedSequentialChain = {
|
|
|
28
28
|
* Represents the serialized form of a SimpleSequentialChain. It includes
|
|
29
29
|
* properties such as `_type` and `chains`.
|
|
30
30
|
*
|
|
31
|
-
* @deprecated Use newer {@link https://
|
|
31
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
32
32
|
*/
|
|
33
33
|
export type SerializedSimpleSequentialChain = {
|
|
34
34
|
_type: "simple_sequential_chain";
|
|
@@ -38,7 +38,7 @@ export type SerializedSimpleSequentialChain = {
|
|
|
38
38
|
* Represents the serialized form of a VectorDBQAChain. It includes
|
|
39
39
|
* properties such as `_type`, `k`, and `combine_documents_chain`.
|
|
40
40
|
*
|
|
41
|
-
* @deprecated Use newer {@link https://
|
|
41
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
42
42
|
*/
|
|
43
43
|
export type SerializedVectorDBQAChain = {
|
|
44
44
|
_type: "vector_db_qa";
|
|
@@ -50,7 +50,7 @@ export type SerializedVectorDBQAChain = {
|
|
|
50
50
|
* such as `_type`, `api_request_chain`, `api_answer_chain`, and
|
|
51
51
|
* `api_docs`.
|
|
52
52
|
*
|
|
53
|
-
* @deprecated Use newer {@link https://
|
|
53
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
54
54
|
*/
|
|
55
55
|
export type SerializedAPIChain = {
|
|
56
56
|
_type: "api_chain";
|
|
@@ -62,7 +62,7 @@ export type SerializedAPIChain = {
|
|
|
62
62
|
* Represents the serialized form of a StuffDocumentsChain. It includes
|
|
63
63
|
* properties such as `_type` and `llm_chain`.
|
|
64
64
|
*
|
|
65
|
-
* @deprecated Use newer {@link https://
|
|
65
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
66
66
|
*/
|
|
67
67
|
export type SerializedStuffDocumentsChain = {
|
|
68
68
|
_type: "stuff_documents_chain";
|
|
@@ -73,7 +73,7 @@ export type SerializedStuffDocumentsChain = {
|
|
|
73
73
|
* properties such as `_type`, `k`, `combine_documents_chain`, and
|
|
74
74
|
* `question_generator`.
|
|
75
75
|
*
|
|
76
|
-
* @deprecated Use newer {@link https://
|
|
76
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
77
77
|
*/
|
|
78
78
|
export type SerializedChatVectorDBQAChain = {
|
|
79
79
|
_type: "chat-vector-db";
|
|
@@ -86,7 +86,7 @@ export type SerializedChatVectorDBQAChain = {
|
|
|
86
86
|
* includes properties such as `_type`, `llm_chain`, and
|
|
87
87
|
* `combine_document_chain`.
|
|
88
88
|
*
|
|
89
|
-
* @deprecated Use newer {@link https://
|
|
89
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
90
90
|
*/
|
|
91
91
|
export type SerializedMapReduceDocumentsChain = {
|
|
92
92
|
_type: "map_reduce_documents_chain";
|
|
@@ -97,7 +97,7 @@ export type SerializedMapReduceDocumentsChain = {
|
|
|
97
97
|
* Represents the serialized form of a RefineDocumentsChain. It includes
|
|
98
98
|
* properties such as `_type`, `llm_chain`, and `refine_llm_chain`.
|
|
99
99
|
*
|
|
100
|
-
* @deprecated Use newer {@link https://
|
|
100
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
101
101
|
*/
|
|
102
102
|
export type SerializedRefineDocumentsChain = {
|
|
103
103
|
_type: "refine_documents_chain";
|
|
@@ -108,7 +108,7 @@ export type SerializedRefineDocumentsChain = {
|
|
|
108
108
|
* Represents the serialized form of an AnalyzeDocumentChain. It includes
|
|
109
109
|
* properties such as `_type` and `combine_document_chain`.
|
|
110
110
|
*
|
|
111
|
-
* @deprecated Use newer {@link https://
|
|
111
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
112
112
|
*/
|
|
113
113
|
export type SerializedAnalyzeDocumentChain = {
|
|
114
114
|
_type: "analyze_document_chain";
|
|
@@ -119,7 +119,7 @@ export type SerializedAnalyzeDocumentChain = {
|
|
|
119
119
|
* includes properties such as `_type`, `critiqueRequest`,
|
|
120
120
|
* `revisionRequest`, and `name`.
|
|
121
121
|
*
|
|
122
|
-
* @deprecated Use newer {@link https://
|
|
122
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
123
123
|
*/
|
|
124
124
|
export type SerializedConstitutionalPrinciple = {
|
|
125
125
|
_type: "constitutional_principle";
|
|
@@ -145,6 +145,6 @@ export type SerializedConstitutionalChain = {
|
|
|
145
145
|
* Represents the serialized form of a BaseChain. It can be one of the
|
|
146
146
|
* above serialized chain types.
|
|
147
147
|
*
|
|
148
|
-
* @deprecated Use newer {@link https://
|
|
148
|
+
* @deprecated Use newer {@link https://api.js.langchain.com/functions/langchain.load.load.html | serialization methods}.
|
|
149
149
|
*/
|
|
150
150
|
export type SerializedBaseChain = SerializedLLMChain | SerializedSequentialChain | SerializedSimpleSequentialChain | SerializedVectorDBQAChain | SerializedAPIChain | SerializedStuffDocumentsChain | SerializedChatVectorDBQAChain | SerializedMapReduceDocumentsChain | SerializedAnalyzeDocumentChain | SerializedRefineDocumentsChain | SerializedConstitutionalChain;
|
|
@@ -102,7 +102,7 @@ class PlanAndExecuteAgentExecutor extends base_js_1.BaseChain {
|
|
|
102
102
|
*/
|
|
103
103
|
static getDefaultStepExecutor({ llm, tools, humanMessageTemplate = prompt_js_1.DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE, }) {
|
|
104
104
|
let agent;
|
|
105
|
-
if (isDynamicStructuredTool(tools[0])) {
|
|
105
|
+
if (tools.length > 0 && isDynamicStructuredTool(tools[0])) {
|
|
106
106
|
agent = index_js_2.StructuredChatAgent.fromLLMAndTools(llm, tools, {
|
|
107
107
|
humanMessageTemplate,
|
|
108
108
|
inputVariables: ["previous_steps", "current_step", "agent_scratchpad"],
|
|
@@ -98,7 +98,7 @@ export class PlanAndExecuteAgentExecutor extends BaseChain {
|
|
|
98
98
|
*/
|
|
99
99
|
static getDefaultStepExecutor({ llm, tools, humanMessageTemplate = DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE, }) {
|
|
100
100
|
let agent;
|
|
101
|
-
if (isDynamicStructuredTool(tools[0])) {
|
|
101
|
+
if (tools.length > 0 && isDynamicStructuredTool(tools[0])) {
|
|
102
102
|
agent = StructuredChatAgent.fromLLMAndTools(llm, tools, {
|
|
103
103
|
humanMessageTemplate,
|
|
104
104
|
inputVariables: ["previous_steps", "current_step", "agent_scratchpad"],
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.JsonOutputKeyToolsParser = exports.JsonOutputToolsParser = void 0;
|
|
4
4
|
const output_parsers_1 = require("@langchain/core/output_parsers");
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* @deprecated Import from "@langchain/core/output_parsers/openai_tools"
|
|
7
7
|
*/
|
|
8
8
|
class JsonOutputToolsParser extends output_parsers_1.BaseLLMOutputParser {
|
|
9
9
|
static lc_name() {
|
|
@@ -74,10 +74,8 @@ class JsonOutputToolsParser extends output_parsers_1.BaseLLMOutputParser {
|
|
|
74
74
|
}
|
|
75
75
|
exports.JsonOutputToolsParser = JsonOutputToolsParser;
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
78
|
-
* expecting only a single tool to be called.
|
|
77
|
+
* @deprecated Import from "@langchain/core/output_parsers/openai_tools"
|
|
79
78
|
*/
|
|
80
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
81
79
|
class JsonOutputKeyToolsParser extends output_parsers_1.BaseLLMOutputParser {
|
|
82
80
|
static lc_name() {
|
|
83
81
|
return "JsonOutputKeyToolsParser";
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { BaseLLMOutputParser } from "@langchain/core/output_parsers";
|
|
2
2
|
import type { ChatGeneration } from "@langchain/core/outputs";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Import from "@langchain/core/output_parsers/openai_tools"
|
|
5
|
+
*/
|
|
3
6
|
export type ParsedToolCall = {
|
|
4
7
|
id?: string;
|
|
5
8
|
type: string;
|
|
@@ -9,12 +12,15 @@ export type ParsedToolCall = {
|
|
|
9
12
|
/** @deprecated Use `args` instead. Will be removed in 0.2.0. */
|
|
10
13
|
arguments: Record<string, any>;
|
|
11
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Import from "@langchain/core/output_parsers/openai_tools"
|
|
17
|
+
*/
|
|
12
18
|
export type JsonOutputToolsParserParams = {
|
|
13
19
|
/** Whether to return the tool call id. */
|
|
14
20
|
returnId?: boolean;
|
|
15
21
|
};
|
|
16
22
|
/**
|
|
17
|
-
*
|
|
23
|
+
* @deprecated Import from "@langchain/core/output_parsers/openai_tools"
|
|
18
24
|
*/
|
|
19
25
|
export declare class JsonOutputToolsParser extends BaseLLMOutputParser<ParsedToolCall[]> {
|
|
20
26
|
static lc_name(): string;
|
|
@@ -37,8 +43,7 @@ export type JsonOutputKeyToolsParserParams = {
|
|
|
37
43
|
returnId?: boolean;
|
|
38
44
|
};
|
|
39
45
|
/**
|
|
40
|
-
*
|
|
41
|
-
* expecting only a single tool to be called.
|
|
46
|
+
* @deprecated Import from "@langchain/core/output_parsers/openai_tools"
|
|
42
47
|
*/
|
|
43
48
|
export declare class JsonOutputKeyToolsParser extends BaseLLMOutputParser<any> {
|
|
44
49
|
static lc_name(): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseLLMOutputParser } from "@langchain/core/output_parsers";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* @deprecated Import from "@langchain/core/output_parsers/openai_tools"
|
|
4
4
|
*/
|
|
5
5
|
export class JsonOutputToolsParser extends BaseLLMOutputParser {
|
|
6
6
|
static lc_name() {
|
|
@@ -70,10 +70,8 @@ export class JsonOutputToolsParser extends BaseLLMOutputParser {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
|
-
*
|
|
74
|
-
* expecting only a single tool to be called.
|
|
73
|
+
* @deprecated Import from "@langchain/core/output_parsers/openai_tools"
|
|
75
74
|
*/
|
|
76
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
75
|
export class JsonOutputKeyToolsParser extends BaseLLMOutputParser {
|
|
78
76
|
static lc_name() {
|
|
79
77
|
return "JsonOutputKeyToolsParser";
|
|
@@ -11,6 +11,7 @@ interface LineList {
|
|
|
11
11
|
export type MultiDocs = Document<Record<string, any>>[];
|
|
12
12
|
export interface MultiQueryRetrieverInput extends BaseRetrieverInput {
|
|
13
13
|
retriever: BaseRetrieverInterface;
|
|
14
|
+
/** @deprecated Pass a custom prompt into `.fromLLM` instead. */
|
|
14
15
|
llmChain: LLMChain<LineList>;
|
|
15
16
|
queryCount?: number;
|
|
16
17
|
parserKey?: string;
|
|
@@ -51,6 +51,11 @@ const stores_1 = require("@langchain/core/stores");
|
|
|
51
51
|
* await store.mdelete([key]);
|
|
52
52
|
* }
|
|
53
53
|
* ```
|
|
54
|
+
*
|
|
55
|
+
* @security **Security Notice** This file store
|
|
56
|
+
* can alter any text file in the provided directory and any subfolders.
|
|
57
|
+
* Make sure that the path you specify when initializing the store is free
|
|
58
|
+
* of other files.
|
|
54
59
|
*/
|
|
55
60
|
class LocalFileStore extends stores_1.BaseStore {
|
|
56
61
|
constructor(fields) {
|
|
@@ -75,6 +80,10 @@ class LocalFileStore extends stores_1.BaseStore {
|
|
|
75
80
|
* @returns Promise that resolves to the parsed file content.
|
|
76
81
|
*/
|
|
77
82
|
async getParsedFile(key) {
|
|
83
|
+
// Validate the key to prevent path traversal
|
|
84
|
+
if (!/^[a-zA-Z0-9_\-:.]+$/.test(key)) {
|
|
85
|
+
throw new Error("Invalid key. Only alphanumeric characters, underscores, hyphens, colons, and periods are allowed.");
|
|
86
|
+
}
|
|
78
87
|
try {
|
|
79
88
|
const fileContent = await fs.readFile(this.getFullPath(key));
|
|
80
89
|
if (!fileContent) {
|
|
@@ -111,11 +120,20 @@ class LocalFileStore extends stores_1.BaseStore {
|
|
|
111
120
|
getFullPath(key) {
|
|
112
121
|
try {
|
|
113
122
|
const keyAsTxtFile = `${key}.txt`;
|
|
114
|
-
|
|
123
|
+
// Validate the key to prevent path traversal
|
|
124
|
+
if (!/^[a-zA-Z0-9_.\-/]+$/.test(key)) {
|
|
125
|
+
throw new Error(`Invalid characters in key: ${key}`);
|
|
126
|
+
}
|
|
127
|
+
const fullPath = path.resolve(this.rootPath, keyAsTxtFile);
|
|
128
|
+
const commonPath = path.resolve(this.rootPath);
|
|
129
|
+
if (!fullPath.startsWith(commonPath)) {
|
|
130
|
+
throw new Error(`Invalid key: ${key}. Key should be relative to the root path. ` +
|
|
131
|
+
`Root path: ${this.rootPath}, Full path: ${fullPath}`);
|
|
132
|
+
}
|
|
115
133
|
return fullPath;
|
|
116
134
|
}
|
|
117
135
|
catch (e) {
|
|
118
|
-
throw new Error(`Error getting full path for key: ${key}.\nError: ${
|
|
136
|
+
throw new Error(`Error getting full path for key: ${key}.\nError: ${String(e)}`);
|
|
119
137
|
}
|
|
120
138
|
}
|
|
121
139
|
/**
|
|
@@ -23,6 +23,11 @@ import { BaseStore } from "@langchain/core/stores";
|
|
|
23
23
|
* await store.mdelete([key]);
|
|
24
24
|
* }
|
|
25
25
|
* ```
|
|
26
|
+
*
|
|
27
|
+
* @security **Security Notice** This file store
|
|
28
|
+
* can alter any text file in the provided directory and any subfolders.
|
|
29
|
+
* Make sure that the path you specify when initializing the store is free
|
|
30
|
+
* of other files.
|
|
26
31
|
*/
|
|
27
32
|
export declare class LocalFileStore extends BaseStore<string, Uint8Array> {
|
|
28
33
|
lc_namespace: string[];
|
|
@@ -25,6 +25,11 @@ import { BaseStore } from "@langchain/core/stores";
|
|
|
25
25
|
* await store.mdelete([key]);
|
|
26
26
|
* }
|
|
27
27
|
* ```
|
|
28
|
+
*
|
|
29
|
+
* @security **Security Notice** This file store
|
|
30
|
+
* can alter any text file in the provided directory and any subfolders.
|
|
31
|
+
* Make sure that the path you specify when initializing the store is free
|
|
32
|
+
* of other files.
|
|
28
33
|
*/
|
|
29
34
|
export class LocalFileStore extends BaseStore {
|
|
30
35
|
constructor(fields) {
|
|
@@ -49,6 +54,10 @@ export class LocalFileStore extends BaseStore {
|
|
|
49
54
|
* @returns Promise that resolves to the parsed file content.
|
|
50
55
|
*/
|
|
51
56
|
async getParsedFile(key) {
|
|
57
|
+
// Validate the key to prevent path traversal
|
|
58
|
+
if (!/^[a-zA-Z0-9_\-:.]+$/.test(key)) {
|
|
59
|
+
throw new Error("Invalid key. Only alphanumeric characters, underscores, hyphens, colons, and periods are allowed.");
|
|
60
|
+
}
|
|
52
61
|
try {
|
|
53
62
|
const fileContent = await fs.readFile(this.getFullPath(key));
|
|
54
63
|
if (!fileContent) {
|
|
@@ -85,11 +94,20 @@ export class LocalFileStore extends BaseStore {
|
|
|
85
94
|
getFullPath(key) {
|
|
86
95
|
try {
|
|
87
96
|
const keyAsTxtFile = `${key}.txt`;
|
|
88
|
-
|
|
97
|
+
// Validate the key to prevent path traversal
|
|
98
|
+
if (!/^[a-zA-Z0-9_.\-/]+$/.test(key)) {
|
|
99
|
+
throw new Error(`Invalid characters in key: ${key}`);
|
|
100
|
+
}
|
|
101
|
+
const fullPath = path.resolve(this.rootPath, keyAsTxtFile);
|
|
102
|
+
const commonPath = path.resolve(this.rootPath);
|
|
103
|
+
if (!fullPath.startsWith(commonPath)) {
|
|
104
|
+
throw new Error(`Invalid key: ${key}. Key should be relative to the root path. ` +
|
|
105
|
+
`Root path: ${this.rootPath}, Full path: ${fullPath}`);
|
|
106
|
+
}
|
|
89
107
|
return fullPath;
|
|
90
108
|
}
|
|
91
109
|
catch (e) {
|
|
92
|
-
throw new Error(`Error getting full path for key: ${key}.\nError: ${
|
|
110
|
+
throw new Error(`Error getting full path for key: ${key}.\nError: ${String(e)}`);
|
|
93
111
|
}
|
|
94
112
|
}
|
|
95
113
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "langchain",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Typescript bindings for langchain",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -411,15 +411,15 @@
|
|
|
411
411
|
"devDependencies": {
|
|
412
412
|
"@faker-js/faker": "^7.6.0",
|
|
413
413
|
"@jest/globals": "^29.5.0",
|
|
414
|
-
"@langchain/anthropic": "
|
|
415
|
-
"@langchain/aws": "
|
|
416
|
-
"@langchain/cohere": "
|
|
414
|
+
"@langchain/anthropic": "*",
|
|
415
|
+
"@langchain/aws": "*",
|
|
416
|
+
"@langchain/cohere": "*",
|
|
417
417
|
"@langchain/core": "workspace:*",
|
|
418
|
-
"@langchain/google-genai": "
|
|
419
|
-
"@langchain/google-vertexai": "
|
|
420
|
-
"@langchain/groq": "
|
|
421
|
-
"@langchain/mistralai": "
|
|
422
|
-
"@langchain/ollama": "
|
|
418
|
+
"@langchain/google-genai": "*",
|
|
419
|
+
"@langchain/google-vertexai": "*",
|
|
420
|
+
"@langchain/groq": "*",
|
|
421
|
+
"@langchain/mistralai": "*",
|
|
422
|
+
"@langchain/ollama": "*",
|
|
423
423
|
"@langchain/scripts": ">=0.1.0 <0.2.0",
|
|
424
424
|
"@swc/core": "^1.3.90",
|
|
425
425
|
"@swc/jest": "^0.2.29",
|
|
@@ -462,7 +462,7 @@
|
|
|
462
462
|
"@langchain/aws": "*",
|
|
463
463
|
"@langchain/cohere": "*",
|
|
464
464
|
"@langchain/community": "*",
|
|
465
|
-
"@langchain/core": ">=0.2.21 <0.4.0
|
|
465
|
+
"@langchain/core": ">=0.2.21 <0.4.0",
|
|
466
466
|
"@langchain/google-genai": "*",
|
|
467
467
|
"@langchain/google-vertexai": "*",
|
|
468
468
|
"@langchain/groq": "*",
|
|
@@ -519,12 +519,12 @@
|
|
|
519
519
|
}
|
|
520
520
|
},
|
|
521
521
|
"dependencies": {
|
|
522
|
-
"@langchain/openai": ">=0.1.0 <0.
|
|
523
|
-
"@langchain/textsplitters": ">=0.0.0 <0.2.0
|
|
522
|
+
"@langchain/openai": ">=0.1.0 <0.4.0",
|
|
523
|
+
"@langchain/textsplitters": ">=0.0.0 <0.2.0",
|
|
524
524
|
"js-tiktoken": "^1.0.12",
|
|
525
525
|
"js-yaml": "^4.1.0",
|
|
526
526
|
"jsonpointer": "^5.0.1",
|
|
527
|
-
"langsmith": "
|
|
527
|
+
"langsmith": "^0.1.56-rc.1",
|
|
528
528
|
"openapi-types": "^12.1.3",
|
|
529
529
|
"p-retry": "4",
|
|
530
530
|
"uuid": "^10.0.0",
|