@langchain/classic 1.0.0 → 1.0.2
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/CHANGELOG.md +17 -0
- package/dist/agents/chat/outputParser.d.cts +2 -2
- package/dist/agents/chat/outputParser.d.cts.map +1 -1
- package/dist/agents/initialize.d.cts +2 -2
- package/dist/agents/initialize.d.cts.map +1 -1
- package/dist/agents/initialize.d.ts +2 -2
- package/dist/agents/initialize.d.ts.map +1 -1
- package/dist/agents/mrkl/outputParser.d.cts +1 -1
- package/dist/agents/mrkl/outputParser.d.cts.map +1 -1
- package/dist/agents/mrkl/outputParser.d.ts +1 -1
- package/dist/agents/mrkl/outputParser.d.ts.map +1 -1
- package/dist/chains/base.cjs +10 -4
- package/dist/chains/base.cjs.map +1 -1
- package/dist/chains/base.js +10 -4
- package/dist/chains/base.js.map +1 -1
- package/dist/chains/index.cjs +3 -0
- package/dist/chains/index.cjs.map +1 -1
- package/dist/chains/index.d.cts +2 -1
- package/dist/chains/index.d.ts +2 -1
- package/dist/chains/index.js +3 -1
- package/dist/chains/index.js.map +1 -1
- package/dist/chains/openai_moderation.cjs +107 -0
- package/dist/chains/openai_moderation.cjs.map +1 -0
- package/dist/chains/openai_moderation.d.cts +74 -0
- package/dist/chains/openai_moderation.d.cts.map +1 -0
- package/dist/chains/openai_moderation.d.ts +74 -0
- package/dist/chains/openai_moderation.d.ts.map +1 -0
- package/dist/chains/openai_moderation.js +106 -0
- package/dist/chains/openai_moderation.js.map +1 -0
- package/dist/chains/question_answering/load.d.cts +2 -2
- package/dist/chains/question_answering/load.d.cts.map +1 -1
- package/dist/chains/question_answering/load.d.ts +2 -2
- package/dist/chains/question_answering/load.d.ts.map +1 -1
- package/dist/chains/summarization/load.d.cts +2 -2
- package/dist/chains/summarization/load.d.cts.map +1 -1
- package/dist/chains/summarization/load.d.ts +2 -2
- package/dist/chains/summarization/load.d.ts.map +1 -1
- package/dist/chat_models/universal.cjs +1 -1
- package/dist/chat_models/universal.cjs.map +1 -1
- package/dist/chat_models/universal.js +1 -1
- package/dist/chat_models/universal.js.map +1 -1
- package/dist/embeddings/cache_backed.d.cts +1 -1
- package/dist/embeddings/cache_backed.d.ts +1 -1
- package/dist/evaluation/agents/trajectory.d.ts.map +1 -1
- package/dist/evaluation/comparison/pairwise.d.cts.map +1 -1
- package/dist/evaluation/comparison/pairwise.d.ts.map +1 -1
- package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
- package/dist/evaluation/criteria/criteria.d.ts.map +1 -1
- package/dist/langchain-core/dist/messages/base.d.cts +2 -0
- package/dist/langchain-core/dist/messages/base.d.cts.map +1 -1
- package/dist/langchain-core/dist/messages/format.d.cts +8 -0
- package/dist/langchain-core/dist/messages/format.d.cts.map +1 -0
- package/dist/langchain-core/dist/tools/types.d.cts.map +1 -1
- package/dist/libs/langchain-core/dist/messages/base.d.ts +2 -0
- package/dist/libs/langchain-core/dist/messages/base.d.ts.map +1 -1
- package/dist/libs/langchain-core/dist/messages/format.d.ts +8 -0
- package/dist/libs/langchain-core/dist/messages/format.d.ts.map +1 -0
- package/dist/libs/langchain-core/dist/tools/types.d.ts.map +1 -1
- package/package.json +33 -34
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @langchain/classic
|
|
2
2
|
|
|
3
|
+
## 1.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [8319201]
|
|
8
|
+
- Updated dependencies [4906522]
|
|
9
|
+
- @langchain/openai@1.1.0
|
|
10
|
+
- @langchain/textsplitters@1.0.0
|
|
11
|
+
|
|
12
|
+
## 1.0.1
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- dda9ea4: reinstate `OpenAIModerationChain`
|
|
17
|
+
- @langchain/textsplitters@1.0.0
|
|
18
|
+
- @langchain/openai@1.0.0
|
|
19
|
+
|
|
3
20
|
## 1.0.0
|
|
4
21
|
|
|
5
22
|
This release updates the package for compatibility with LangChain v1.0. See the v1.0 [release notes](https://docs.langchain.com/oss/javascript/releases/langchain-v1) for details on what's new.
|
|
@@ -51,12 +51,12 @@ declare class ChatAgentOutputParser extends AgentActionOutputParser {
|
|
|
51
51
|
* @returns An object that satisfies the AgentFinish interface or an object with the tool, toolInput, and log.
|
|
52
52
|
*/
|
|
53
53
|
parse(text: string): Promise<{
|
|
54
|
-
tool?: undefined;
|
|
55
|
-
toolInput?: undefined;
|
|
56
54
|
returnValues: {
|
|
57
55
|
output: string;
|
|
58
56
|
};
|
|
59
57
|
log: string;
|
|
58
|
+
tool?: undefined;
|
|
59
|
+
toolInput?: undefined;
|
|
60
60
|
} | {
|
|
61
61
|
returnValues?: undefined;
|
|
62
62
|
tool: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputParser.d.cts","names":["AgentActionOutputParser","FINAL_ANSWER_ACTION","ChatAgentOutputParser","Promise"],"sources":["../../../src/agents/chat/outputParser.d.ts"],"sourcesContent":["import { AgentActionOutputParser } from \"../types.js\";\nexport declare const FINAL_ANSWER_ACTION = \"Final Answer:\";\n/**\n * A class that extends the AgentActionOutputParser to parse the output of\n * the ChatAgent in LangChain. It checks if the output text contains the\n * final answer action or a JSON response, and parses it accordingly.\n * @example\n * ```typescript\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\n * \"ai\",\n * `{PREFIX}\n * {FORMAT_INSTRUCTIONS}\n * {SUFFIX}`,\n * ],\n * [\"human\", \"Question: {input}\"],\n * ]);\n * const runnableAgent = RunnableSequence.from([\n * {\n * input: (i: { input: string; steps: AgentStep[] }) => i.input,\n * agent_scratchpad: (i: { input: string; steps: AgentStep[] }) =>\n * formatLogToString(i.steps),\n * },\n * prompt,\n * new OpenAI({ temperature: 0 }),\n * new ChatAgentOutputParser(),\n * ]);\n *\n * const executor = AgentExecutor.fromAgentAndTools({\n * agent: runnableAgent,\n * tools: [new SerpAPI(), new Calculator()],\n * });\n *\n * const result = await executor.invoke({\n * input:\n * \"Who is Olivia Wilde's boyfriend? What is his current age raised to the 0.23 power?\",\n * });\n * ```\n */\nexport declare class ChatAgentOutputParser extends AgentActionOutputParser {\n lc_namespace: string[];\n /**\n * Parses the output text from the MRKL chain into an agent action or\n * agent finish. If the text contains the final answer action or does not\n * contain an action, it returns an AgentFinish with the output and log.\n * If the text contains a JSON response, it returns the tool, toolInput,\n * and log.\n * @param text The output text from the MRKL chain.\n * @returns An object that satisfies the AgentFinish interface or an object with the tool, toolInput, and log.\n */\n parse(text: string): Promise<{\n
|
|
1
|
+
{"version":3,"file":"outputParser.d.cts","names":["AgentActionOutputParser","FINAL_ANSWER_ACTION","ChatAgentOutputParser","Promise"],"sources":["../../../src/agents/chat/outputParser.d.ts"],"sourcesContent":["import { AgentActionOutputParser } from \"../types.js\";\nexport declare const FINAL_ANSWER_ACTION = \"Final Answer:\";\n/**\n * A class that extends the AgentActionOutputParser to parse the output of\n * the ChatAgent in LangChain. It checks if the output text contains the\n * final answer action or a JSON response, and parses it accordingly.\n * @example\n * ```typescript\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\n * \"ai\",\n * `{PREFIX}\n * {FORMAT_INSTRUCTIONS}\n * {SUFFIX}`,\n * ],\n * [\"human\", \"Question: {input}\"],\n * ]);\n * const runnableAgent = RunnableSequence.from([\n * {\n * input: (i: { input: string; steps: AgentStep[] }) => i.input,\n * agent_scratchpad: (i: { input: string; steps: AgentStep[] }) =>\n * formatLogToString(i.steps),\n * },\n * prompt,\n * new OpenAI({ temperature: 0 }),\n * new ChatAgentOutputParser(),\n * ]);\n *\n * const executor = AgentExecutor.fromAgentAndTools({\n * agent: runnableAgent,\n * tools: [new SerpAPI(), new Calculator()],\n * });\n *\n * const result = await executor.invoke({\n * input:\n * \"Who is Olivia Wilde's boyfriend? What is his current age raised to the 0.23 power?\",\n * });\n * ```\n */\nexport declare class ChatAgentOutputParser extends AgentActionOutputParser {\n lc_namespace: string[];\n /**\n * Parses the output text from the MRKL chain into an agent action or\n * agent finish. If the text contains the final answer action or does not\n * contain an action, it returns an AgentFinish with the output and log.\n * If the text contains a JSON response, it returns the tool, toolInput,\n * and log.\n * @param text The output text from the MRKL chain.\n * @returns An object that satisfies the AgentFinish interface or an object with the tool, toolInput, and log.\n */\n parse(text: string): Promise<{\n returnValues: {\n output: string;\n };\n log: string;\n tool?: undefined;\n toolInput?: undefined;\n } | {\n returnValues?: undefined;\n tool: any;\n toolInput: any;\n log: string;\n }>;\n /**\n * Returns the format instructions used in the output parser for the\n * ChatAgent class.\n * @returns The format instructions as a string.\n */\n getFormatInstructions(): string;\n}\n"],"mappings":";;;;;AAuCA;;;;AAA0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAArDE,qBAAAA,SAA8BF,uBAAAA;;;;;;;;;;;uBAW1BG"}
|
|
@@ -6,7 +6,7 @@ import { StringInputToolSchema } from "../langchain-core/dist/tools/types.cjs";
|
|
|
6
6
|
import { StructuredChatAgent } from "./structured_chat/index.cjs";
|
|
7
7
|
import { OpenAIAgent } from "./openai_functions/index.cjs";
|
|
8
8
|
import { XMLAgent } from "./xml/index.cjs";
|
|
9
|
-
import * as
|
|
9
|
+
import * as _langchain_core_language_models_base2 from "@langchain/core/language_models/base";
|
|
10
10
|
import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
|
|
11
11
|
import { CallbackManager } from "@langchain/core/callbacks/manager";
|
|
12
12
|
import { StructuredToolInterface, ToolInterface } from "@langchain/core/tools";
|
|
@@ -19,7 +19,7 @@ import { StructuredToolInterface, ToolInterface } from "@langchain/core/tools";
|
|
|
19
19
|
* "chat-conversational-react-description".
|
|
20
20
|
*/
|
|
21
21
|
type AgentType = "zero-shot-react-description" | "chat-zero-shot-react-description" | "chat-conversational-react-description";
|
|
22
|
-
declare const initializeAgentExecutor: (tools: ToolInterface<StringInputToolSchema, any, any>[], llm: BaseLanguageModelInterface<any,
|
|
22
|
+
declare const initializeAgentExecutor: (tools: ToolInterface<StringInputToolSchema, any, any>[], llm: BaseLanguageModelInterface<any, _langchain_core_language_models_base2.BaseLanguageModelCallOptions>, _agentType?: AgentType | undefined, _verbose?: boolean | undefined, _callbackManager?: CallbackManager | undefined) => Promise<AgentExecutor>;
|
|
23
23
|
/**
|
|
24
24
|
* @interface
|
|
25
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.d.cts","names":["
|
|
1
|
+
{"version":3,"file":"initialize.d.cts","names":["_langchain_core_language_models_base2","BaseLanguageModelInterface","StructuredToolInterface","ToolInterface","CallbackManager","ChatAgent","ChatConversationalAgent","StructuredChatAgent","AgentExecutor","AgentExecutorInput","ZeroShotAgent","OpenAIAgent","XMLAgent","AgentType","initializeAgentExecutor","_________langchain_core_dist_tools_types_js0","StringInputToolSchema","BaseLanguageModelCallOptions","Promise","InitializeAgentExecutorOptions","fromLLMAndTools","Parameters","Omit","InitializeAgentExecutorOptionsStructured","initializeAgentExecutorWithOptions"],"sources":["../../src/agents/initialize.d.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { StructuredToolInterface, ToolInterface } from \"@langchain/core/tools\";\nimport { CallbackManager } from \"@langchain/core/callbacks/manager\";\nimport { ChatAgent } from \"./chat/index.js\";\nimport { ChatConversationalAgent } from \"./chat_convo/index.js\";\nimport { StructuredChatAgent } from \"./structured_chat/index.js\";\nimport { AgentExecutor, AgentExecutorInput } from \"./executor.js\";\nimport { ZeroShotAgent } from \"./mrkl/index.js\";\nimport { OpenAIAgent } from \"./openai_functions/index.js\";\nimport { XMLAgent } from \"./xml/index.js\";\n/**\n * Represents the type of an agent in LangChain. It can be\n * \"zero-shot-react-description\", \"chat-zero-shot-react-description\", or\n * \"chat-conversational-react-description\".\n */\ntype AgentType = \"zero-shot-react-description\" | \"chat-zero-shot-react-description\" | \"chat-conversational-react-description\";\nexport declare const initializeAgentExecutor: (tools: ToolInterface<import(\"../../../langchain-core/dist/tools/types.js\").StringInputToolSchema, any, any>[], llm: BaseLanguageModelInterface<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, _agentType?: AgentType | undefined, _verbose?: boolean | undefined, _callbackManager?: CallbackManager | undefined) => Promise<AgentExecutor>;\n/**\n * @interface\n */\nexport type InitializeAgentExecutorOptions = ({\n agentType: \"zero-shot-react-description\";\n agentArgs?: Parameters<typeof ZeroShotAgent.fromLLMAndTools>[2];\n memory?: never;\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">) | ({\n agentType: \"chat-zero-shot-react-description\";\n agentArgs?: Parameters<typeof ChatAgent.fromLLMAndTools>[2];\n memory?: never;\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">) | ({\n agentType: \"chat-conversational-react-description\";\n agentArgs?: Parameters<typeof ChatConversationalAgent.fromLLMAndTools>[2];\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">) | ({\n agentType: \"xml\";\n agentArgs?: Parameters<typeof XMLAgent.fromLLMAndTools>[2];\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">);\n/**\n * @interface\n */\nexport type InitializeAgentExecutorOptionsStructured = ({\n agentType: \"structured-chat-zero-shot-react-description\";\n agentArgs?: Parameters<typeof StructuredChatAgent.fromLLMAndTools>[2];\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">) | ({\n agentType: \"openai-functions\";\n agentArgs?: Parameters<typeof OpenAIAgent.fromLLMAndTools>[2];\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">);\n/**\n * Initialize an agent executor with options.\n * @param tools Array of tools to use in the agent\n * @param llm LLM or ChatModel to use in the agent\n * @param options Options for the agent, including agentType, agentArgs, and other options for AgentExecutor.fromAgentAndTools\n * @returns AgentExecutor\n */\nexport declare function initializeAgentExecutorWithOptions(tools: StructuredToolInterface[], llm: BaseLanguageModelInterface, options: InitializeAgentExecutorOptionsStructured): Promise<AgentExecutor>;\nexport declare function initializeAgentExecutorWithOptions(tools: ToolInterface[], llm: BaseLanguageModelInterface, options?: InitializeAgentExecutorOptions): Promise<AgentExecutor>;\nexport {};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAS0C;AAO1C,KADKa,SAAAA,GACgBC,6BAAyY,GAAA,kCAAA,GAAA,uCAAA;AAAA,cAAzYA,uBAAyY,EAAA,CAAA,KAAA,EAAxWX,aAAwW,CAAA,qBAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,EAAA,GAAA,EAA3PF,0BAA2P,CAAA,GAAA,EAA3VD,qCAAAA,CAA+KiB,4BAAAA,CAA4K,EAAA,UAAA,CAAA,EAAhIJ,SAAgI,GAAA,SAAA,EAAA,QAAA,CAAA,EAAA,OAAA,GAAA,SAAA,EAAA,gBAAA,CAAA,EAAtDT,eAAsD,GAAA,SAAA,EAAA,GAAtBc,OAAsB,CAAdV,aAAc,CAAA;;;;AAA3PP,KAIvJkB,8BAAAA,GAJuJlB,CAAAA;EAA0B,SAAiGY,EAAAA,6BAAAA;EAAS,SAAiET,CAAAA,EAMxViB,UANwVjB,CAAAA,OAMtUM,aAAAA,CAAcU,eANwThB,CAAAA,CAAAA,CAAAA,CAAAA;EAAe,MAAyBI,CAAAA,EAAAA,KAAAA;CAAa,GAQzZc,IARoYJ,CAQ/XT,kBAR+XS,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA;EAAO,SAAA,EAAA,kCAAA;EAInYC,SAAAA,CAAAA,EAMIE,UANJF,CAAAA,OAMsBd,SAAAA,CAAUe,eANF,CAAA,CAAA,CAAA,CAAA;EAAA,MAAA,CAAA,EAAA,KAAA;CAAA,GAQtCE,IAN8BZ,CAMzBD,kBANuCW,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA;EAAe,SAA/CC,EAAAA,uCAAAA;EAAU,SAEjBZ,CAAAA,EAMOY,UANPZ,CAAAA,OAMyBH,uBAAAA,CAAwBc,eANjDX,CAAAA,CAAAA,CAAAA,CAAAA;CAAkB,GAOvBa,IAPAA,CAOKb,kBAPLa,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA;EAAI,SAE0BjB,EAAAA,KAAUe;EAAe,SAA3CC,CAAAA,EAOAA,UAPAA,CAAAA,OAOkBT,QAAAA,CAASQ,eAP3BC,CAAAA,CAAAA,CAAAA,CAAAA;CAAU,GAQtBC,IANKb,CAMAA,kBANAA,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA;;;;AAGAA,KAOGc,wCAAAA,GAPHd,CAAAA;EAAkB,SAAvBa,EAAAA,6CAAAA;EAAI,SAE0BV,CAAAA,EAOlBS,UAP2BD,CAAAA,OAOTb,mBAAAA,CAAoBa,eAPXA,CAAAA,CAAAA,CAAAA,CAAAA;CAAe,GAQtDE,IARYD,CAQPZ,kBAROY,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA;EAAU,SACjBZ,EAAAA,kBAAAA;EAAkB,SAAvBa,CAAAA,EASYD,UATZC,CAAAA,OAS8BX,WAAAA,CAAYS,eAT1CE,CAAAA,CAAAA,CAAAA,CAAAA;AAAI,CAAA,GAUJA,IAVI,CAUCb,kBAVD,EAAA,OAAA,GAAA,OAAA,CAAA,CAAA;AAIR;;;;;;;AAKgBY,iBASQG,kCAAAA,CATRH,KAAAA,EASkDnB,uBATlDmB,EAAAA,EAAAA,GAAAA,EASkFpB,0BATlFoB,EAAAA,OAAAA,EASuHE,wCATvHF,CAAAA,EASkKH,OATlKG,CAS0Kb,aAT1Ka,CAAAA;AACPZ,iBASee,kCAAAA,CATff,KAAAA,EASyDN,aATzDM,EAAAA,EAAAA,GAAAA,EAS+ER,0BAT/EQ,EAAAA,OAAAA,CAAAA,EASqHU,8BATrHV,CAAAA,EASsJS,OATtJT,CAS8JD,aAT9JC,CAAAA"}
|
|
@@ -7,7 +7,7 @@ import { StructuredChatAgent } from "./structured_chat/index.js";
|
|
|
7
7
|
import { OpenAIAgent } from "./openai_functions/index.js";
|
|
8
8
|
import { XMLAgent } from "./xml/index.js";
|
|
9
9
|
import { StructuredToolInterface, ToolInterface } from "@langchain/core/tools";
|
|
10
|
-
import * as
|
|
10
|
+
import * as _langchain_core_language_models_base2 from "@langchain/core/language_models/base";
|
|
11
11
|
import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
|
|
12
12
|
import { CallbackManager } from "@langchain/core/callbacks/manager";
|
|
13
13
|
|
|
@@ -19,7 +19,7 @@ import { CallbackManager } from "@langchain/core/callbacks/manager";
|
|
|
19
19
|
* "chat-conversational-react-description".
|
|
20
20
|
*/
|
|
21
21
|
type AgentType = "zero-shot-react-description" | "chat-zero-shot-react-description" | "chat-conversational-react-description";
|
|
22
|
-
declare const initializeAgentExecutor: (tools: ToolInterface<StringInputToolSchema, any, any>[], llm: BaseLanguageModelInterface<any,
|
|
22
|
+
declare const initializeAgentExecutor: (tools: ToolInterface<StringInputToolSchema, any, any>[], llm: BaseLanguageModelInterface<any, _langchain_core_language_models_base2.BaseLanguageModelCallOptions>, _agentType?: AgentType | undefined, _verbose?: boolean | undefined, _callbackManager?: CallbackManager | undefined) => Promise<AgentExecutor>;
|
|
23
23
|
/**
|
|
24
24
|
* @interface
|
|
25
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.d.ts","names":["
|
|
1
|
+
{"version":3,"file":"initialize.d.ts","names":["_langchain_core_language_models_base2","BaseLanguageModelInterface","StructuredToolInterface","ToolInterface","CallbackManager","ChatAgent","ChatConversationalAgent","StructuredChatAgent","AgentExecutor","AgentExecutorInput","ZeroShotAgent","OpenAIAgent","XMLAgent","AgentType","initializeAgentExecutor","_________langchain_core_dist_tools_types_js0","StringInputToolSchema","BaseLanguageModelCallOptions","Promise","InitializeAgentExecutorOptions","fromLLMAndTools","Parameters","Omit","InitializeAgentExecutorOptionsStructured","initializeAgentExecutorWithOptions"],"sources":["../../src/agents/initialize.d.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport type { StructuredToolInterface, ToolInterface } from \"@langchain/core/tools\";\nimport { CallbackManager } from \"@langchain/core/callbacks/manager\";\nimport { ChatAgent } from \"./chat/index.js\";\nimport { ChatConversationalAgent } from \"./chat_convo/index.js\";\nimport { StructuredChatAgent } from \"./structured_chat/index.js\";\nimport { AgentExecutor, AgentExecutorInput } from \"./executor.js\";\nimport { ZeroShotAgent } from \"./mrkl/index.js\";\nimport { OpenAIAgent } from \"./openai_functions/index.js\";\nimport { XMLAgent } from \"./xml/index.js\";\n/**\n * Represents the type of an agent in LangChain. It can be\n * \"zero-shot-react-description\", \"chat-zero-shot-react-description\", or\n * \"chat-conversational-react-description\".\n */\ntype AgentType = \"zero-shot-react-description\" | \"chat-zero-shot-react-description\" | \"chat-conversational-react-description\";\nexport declare const initializeAgentExecutor: (tools: ToolInterface<import(\"../../../langchain-core/dist/tools/types.js\").StringInputToolSchema, any, any>[], llm: BaseLanguageModelInterface<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, _agentType?: AgentType | undefined, _verbose?: boolean | undefined, _callbackManager?: CallbackManager | undefined) => Promise<AgentExecutor>;\n/**\n * @interface\n */\nexport type InitializeAgentExecutorOptions = ({\n agentType: \"zero-shot-react-description\";\n agentArgs?: Parameters<typeof ZeroShotAgent.fromLLMAndTools>[2];\n memory?: never;\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">) | ({\n agentType: \"chat-zero-shot-react-description\";\n agentArgs?: Parameters<typeof ChatAgent.fromLLMAndTools>[2];\n memory?: never;\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">) | ({\n agentType: \"chat-conversational-react-description\";\n agentArgs?: Parameters<typeof ChatConversationalAgent.fromLLMAndTools>[2];\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">) | ({\n agentType: \"xml\";\n agentArgs?: Parameters<typeof XMLAgent.fromLLMAndTools>[2];\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">);\n/**\n * @interface\n */\nexport type InitializeAgentExecutorOptionsStructured = ({\n agentType: \"structured-chat-zero-shot-react-description\";\n agentArgs?: Parameters<typeof StructuredChatAgent.fromLLMAndTools>[2];\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">) | ({\n agentType: \"openai-functions\";\n agentArgs?: Parameters<typeof OpenAIAgent.fromLLMAndTools>[2];\n} & Omit<AgentExecutorInput, \"agent\" | \"tools\">);\n/**\n * Initialize an agent executor with options.\n * @param tools Array of tools to use in the agent\n * @param llm LLM or ChatModel to use in the agent\n * @param options Options for the agent, including agentType, agentArgs, and other options for AgentExecutor.fromAgentAndTools\n * @returns AgentExecutor\n */\nexport declare function initializeAgentExecutorWithOptions(tools: StructuredToolInterface[], llm: BaseLanguageModelInterface, options: InitializeAgentExecutorOptionsStructured): Promise<AgentExecutor>;\nexport declare function initializeAgentExecutorWithOptions(tools: ToolInterface[], llm: BaseLanguageModelInterface, options?: InitializeAgentExecutorOptions): Promise<AgentExecutor>;\nexport {};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAS0C;AAO1C,KADKa,SAAAA,GACgBC,6BAAyY,GAAA,kCAAA,GAAA,uCAAA;AAAA,cAAzYA,uBAAyY,EAAA,CAAA,KAAA,EAAxWX,aAAwW,CAAA,qBAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,EAAA,GAAA,EAA3PF,0BAA2P,CAAA,GAAA,EAA3VD,qCAAAA,CAA+KiB,4BAAAA,CAA4K,EAAA,UAAA,CAAA,EAAhIJ,SAAgI,GAAA,SAAA,EAAA,QAAA,CAAA,EAAA,OAAA,GAAA,SAAA,EAAA,gBAAA,CAAA,EAAtDT,eAAsD,GAAA,SAAA,EAAA,GAAtBc,OAAsB,CAAdV,aAAc,CAAA;;;;AAA3PP,KAIvJkB,8BAAAA,GAJuJlB,CAAAA;EAA0B,SAAiGY,EAAAA,6BAAAA;EAAS,SAAiET,CAAAA,EAMxViB,UANwVjB,CAAAA,OAMtUM,aAAAA,CAAcU,eANwThB,CAAAA,CAAAA,CAAAA,CAAAA;EAAe,MAAyBI,CAAAA,EAAAA,KAAAA;CAAa,GAQzZc,IARoYJ,CAQ/XT,kBAR+XS,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA;EAAO,SAAA,EAAA,kCAAA;EAInYC,SAAAA,CAAAA,EAMIE,UANJF,CAAAA,OAMsBd,SAAAA,CAAUe,eANF,CAAA,CAAA,CAAA,CAAA;EAAA,MAAA,CAAA,EAAA,KAAA;CAAA,GAQtCE,IAN8BZ,CAMzBD,kBANuCW,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA;EAAe,SAA/CC,EAAAA,uCAAAA;EAAU,SAEjBZ,CAAAA,EAMOY,UANPZ,CAAAA,OAMyBH,uBAAAA,CAAwBc,eANjDX,CAAAA,CAAAA,CAAAA,CAAAA;CAAkB,GAOvBa,IAPAA,CAOKb,kBAPLa,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA;EAAI,SAE0BjB,EAAAA,KAAUe;EAAe,SAA3CC,CAAAA,EAOAA,UAPAA,CAAAA,OAOkBT,QAAAA,CAASQ,eAP3BC,CAAAA,CAAAA,CAAAA,CAAAA;CAAU,GAQtBC,IANKb,CAMAA,kBANAA,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA;;;;AAGAA,KAOGc,wCAAAA,GAPHd,CAAAA;EAAkB,SAAvBa,EAAAA,6CAAAA;EAAI,SAE0BV,CAAAA,EAOlBS,UAP2BD,CAAAA,OAOTb,mBAAAA,CAAoBa,eAPXA,CAAAA,CAAAA,CAAAA,CAAAA;CAAe,GAQtDE,IARYD,CAQPZ,kBAROY,EAAAA,OAAAA,GAAAA,OAAAA,CAAAA,CAAAA,GAAAA,CAAAA;EAAU,SACjBZ,EAAAA,kBAAAA;EAAkB,SAAvBa,CAAAA,EASYD,UATZC,CAAAA,OAS8BX,WAAAA,CAAYS,eAT1CE,CAAAA,CAAAA,CAAAA,CAAAA;AAAI,CAAA,GAUJA,IAVI,CAUCb,kBAVD,EAAA,OAAA,GAAA,OAAA,CAAA,CAAA;AAIR;;;;;;;AAKgBY,iBASQG,kCAAAA,CATRH,KAAAA,EASkDnB,uBATlDmB,EAAAA,EAAAA,GAAAA,EASkFpB,0BATlFoB,EAAAA,OAAAA,EASuHE,wCATvHF,CAAAA,EASkKH,OATlKG,CAS0Kb,aAT1Ka,CAAAA;AACPZ,iBASee,kCAAAA,CATff,KAAAA,EASyDN,aATzDM,EAAAA,EAAAA,GAAAA,EAS+ER,0BAT/EQ,EAAAA,OAAAA,CAAAA,EASqHU,8BATrHV,CAAAA,EASsJS,OATtJT,CAS8JD,aAT9JC,CAAAA"}
|
|
@@ -25,10 +25,10 @@ declare class ZeroShotAgentOutputParser extends AgentActionOutputParser {
|
|
|
25
25
|
tool?: undefined;
|
|
26
26
|
toolInput?: undefined;
|
|
27
27
|
} | {
|
|
28
|
-
returnValues?: undefined;
|
|
29
28
|
tool: string;
|
|
30
29
|
toolInput: string;
|
|
31
30
|
log: string;
|
|
31
|
+
returnValues?: undefined;
|
|
32
32
|
}>;
|
|
33
33
|
/**
|
|
34
34
|
* Returns the format instructions for parsing the output of an agent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputParser.d.cts","names":["OutputParserArgs","AgentActionOutputParser","FINAL_ANSWER_ACTION","ZeroShotAgentOutputParser","Promise"],"sources":["../../../src/agents/mrkl/outputParser.d.ts"],"sourcesContent":["import { OutputParserArgs } from \"../agent.js\";\nimport { AgentActionOutputParser } from \"../types.js\";\nexport declare const FINAL_ANSWER_ACTION = \"Final Answer:\";\n/**\n * A class that extends `AgentActionOutputParser` to provide a custom\n * implementation for parsing the output of a ZeroShotAgent action.\n */\nexport declare class ZeroShotAgentOutputParser extends AgentActionOutputParser {\n lc_namespace: string[];\n finishToolName: string;\n constructor(fields?: OutputParserArgs);\n /**\n * Parses the text output of an agent action, extracting the tool, tool\n * input, and output.\n * @param text The text output of an agent action.\n * @returns An object containing the tool, tool input, and output extracted from the text, along with the original text as a log.\n */\n parse(text: string): Promise<{\n returnValues: {\n output: string;\n };\n log: string;\n tool?: undefined;\n toolInput?: undefined;\n } | {\n
|
|
1
|
+
{"version":3,"file":"outputParser.d.cts","names":["OutputParserArgs","AgentActionOutputParser","FINAL_ANSWER_ACTION","ZeroShotAgentOutputParser","Promise"],"sources":["../../../src/agents/mrkl/outputParser.d.ts"],"sourcesContent":["import { OutputParserArgs } from \"../agent.js\";\nimport { AgentActionOutputParser } from \"../types.js\";\nexport declare const FINAL_ANSWER_ACTION = \"Final Answer:\";\n/**\n * A class that extends `AgentActionOutputParser` to provide a custom\n * implementation for parsing the output of a ZeroShotAgent action.\n */\nexport declare class ZeroShotAgentOutputParser extends AgentActionOutputParser {\n lc_namespace: string[];\n finishToolName: string;\n constructor(fields?: OutputParserArgs);\n /**\n * Parses the text output of an agent action, extracting the tool, tool\n * input, and output.\n * @param text The text output of an agent action.\n * @returns An object containing the tool, tool input, and output extracted from the text, along with the original text as a log.\n */\n parse(text: string): Promise<{\n returnValues: {\n output: string;\n };\n log: string;\n tool?: undefined;\n toolInput?: undefined;\n } | {\n tool: string;\n toolInput: string;\n log: string;\n returnValues?: undefined;\n }>;\n /**\n * Returns the format instructions for parsing the output of an agent\n * action in the style of the ZeroShotAgent.\n * @returns The format instructions for parsing the output.\n */\n getFormatInstructions(): string;\n}\n"],"mappings":";;;;;;AAOA;;;AAUyBI,cAVJD,yBAAAA,SAAkCF,uBAAAA,CAU9BG;EAAO,YAVuBH,EAAAA,MAAAA,EAAAA;EAAuB,cAAA,EAAA,MAAA;uBAGrDD;;;;;;;uBAOAI"}
|
|
@@ -25,10 +25,10 @@ declare class ZeroShotAgentOutputParser extends AgentActionOutputParser {
|
|
|
25
25
|
tool?: undefined;
|
|
26
26
|
toolInput?: undefined;
|
|
27
27
|
} | {
|
|
28
|
-
returnValues?: undefined;
|
|
29
28
|
tool: string;
|
|
30
29
|
toolInput: string;
|
|
31
30
|
log: string;
|
|
31
|
+
returnValues?: undefined;
|
|
32
32
|
}>;
|
|
33
33
|
/**
|
|
34
34
|
* Returns the format instructions for parsing the output of an agent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputParser.d.ts","names":["OutputParserArgs","AgentActionOutputParser","FINAL_ANSWER_ACTION","ZeroShotAgentOutputParser","Promise"],"sources":["../../../src/agents/mrkl/outputParser.d.ts"],"sourcesContent":["import { OutputParserArgs } from \"../agent.js\";\nimport { AgentActionOutputParser } from \"../types.js\";\nexport declare const FINAL_ANSWER_ACTION = \"Final Answer:\";\n/**\n * A class that extends `AgentActionOutputParser` to provide a custom\n * implementation for parsing the output of a ZeroShotAgent action.\n */\nexport declare class ZeroShotAgentOutputParser extends AgentActionOutputParser {\n lc_namespace: string[];\n finishToolName: string;\n constructor(fields?: OutputParserArgs);\n /**\n * Parses the text output of an agent action, extracting the tool, tool\n * input, and output.\n * @param text The text output of an agent action.\n * @returns An object containing the tool, tool input, and output extracted from the text, along with the original text as a log.\n */\n parse(text: string): Promise<{\n returnValues: {\n output: string;\n };\n log: string;\n tool?: undefined;\n toolInput?: undefined;\n } | {\n
|
|
1
|
+
{"version":3,"file":"outputParser.d.ts","names":["OutputParserArgs","AgentActionOutputParser","FINAL_ANSWER_ACTION","ZeroShotAgentOutputParser","Promise"],"sources":["../../../src/agents/mrkl/outputParser.d.ts"],"sourcesContent":["import { OutputParserArgs } from \"../agent.js\";\nimport { AgentActionOutputParser } from \"../types.js\";\nexport declare const FINAL_ANSWER_ACTION = \"Final Answer:\";\n/**\n * A class that extends `AgentActionOutputParser` to provide a custom\n * implementation for parsing the output of a ZeroShotAgent action.\n */\nexport declare class ZeroShotAgentOutputParser extends AgentActionOutputParser {\n lc_namespace: string[];\n finishToolName: string;\n constructor(fields?: OutputParserArgs);\n /**\n * Parses the text output of an agent action, extracting the tool, tool\n * input, and output.\n * @param text The text output of an agent action.\n * @returns An object containing the tool, tool input, and output extracted from the text, along with the original text as a log.\n */\n parse(text: string): Promise<{\n returnValues: {\n output: string;\n };\n log: string;\n tool?: undefined;\n toolInput?: undefined;\n } | {\n tool: string;\n toolInput: string;\n log: string;\n returnValues?: undefined;\n }>;\n /**\n * Returns the format instructions for parsing the output of an agent\n * action in the style of the ZeroShotAgent.\n * @returns The format instructions for parsing the output.\n */\n getFormatInstructions(): string;\n}\n"],"mappings":";;;;;;AAOA;;;AAUyBI,cAVJD,yBAAAA,SAAkCF,uBAAAA,CAU9BG;EAAO,YAVuBH,EAAAA,MAAAA,EAAAA;EAAuB,cAAA,EAAA,MAAA;uBAGrDD;;;;;;;uBAOAI"}
|
package/dist/chains/base.cjs
CHANGED
|
@@ -52,11 +52,17 @@ var BaseChain = class extends __langchain_core_language_models_base.BaseLangChai
|
|
|
52
52
|
const runManager = await callbackManager_?.handleChainStart(this.toJSON(), fullValues, void 0, void 0, void 0, void 0, config?.runName);
|
|
53
53
|
let outputValues;
|
|
54
54
|
try {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
if (fullValues.signal) {
|
|
56
|
+
let listener;
|
|
57
|
+
outputValues = await Promise.race([this._call(fullValues, runManager, config), new Promise((_, reject) => {
|
|
58
|
+
listener = () => {
|
|
59
|
+
reject(/* @__PURE__ */ new Error("AbortError"));
|
|
60
|
+
};
|
|
61
|
+
fullValues.signal?.addEventListener("abort", listener);
|
|
62
|
+
})]).finally(() => {
|
|
63
|
+
if (fullValues.signal && listener) fullValues.signal.removeEventListener("abort", listener);
|
|
58
64
|
});
|
|
59
|
-
}
|
|
65
|
+
} else outputValues = await this._call(fullValues, runManager, config);
|
|
60
66
|
} catch (e) {
|
|
61
67
|
await runManager?.handleChainError(e);
|
|
62
68
|
throw e;
|
package/dist/chains/base.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.cjs","names":["BaseLangChain","fields?: BaseMemory | ChainInputs","verbose?: boolean","callbacks?: Callbacks","values: ChainValues","input: RunInput","options?: RunnableConfig","CallbackManager","outputValues: RunOutput","RUN_KEY","outputs: Record<string, unknown>","inputs: Record<string, unknown>","input: any","config?: Callbacks | RunnableConfig","values: ChainValues & { signal?: AbortSignal; timeout?: number }","tags?: string[]","inputs: RunInput[]","config?: (Callbacks | RunnableConfig)[]","data: SerializedBaseChain","values: LoadValues"],"sources":["../../src/chains/base.ts"],"sourcesContent":["import { BaseMemory } from \"@langchain/core/memory\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { RUN_KEY } from \"@langchain/core/outputs\";\nimport {\n CallbackManagerForChainRun,\n CallbackManager,\n Callbacks,\n parseCallbackConfigArg,\n} from \"@langchain/core/callbacks/manager\";\nimport { ensureConfig, type RunnableConfig } from \"@langchain/core/runnables\";\nimport {\n BaseLangChain,\n BaseLangChainParams,\n} from \"@langchain/core/language_models/base\";\nimport { SerializedBaseChain } from \"./serde.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nexport interface ChainInputs extends BaseLangChainParams {\n memory?: BaseMemory;\n\n /**\n * @deprecated Use `callbacks` instead\n */\n callbackManager?: CallbackManager;\n}\n\n/**\n * Base interface that all chains must implement.\n */\nexport abstract class BaseChain<\n RunInput extends ChainValues = ChainValues,\n RunOutput extends ChainValues = ChainValues\n >\n extends BaseLangChain<RunInput, RunOutput>\n implements ChainInputs\n{\n declare memory?: BaseMemory;\n\n get lc_namespace(): string[] {\n return [\"langchain\", \"chains\", this._chainType()];\n }\n\n constructor(\n fields?: BaseMemory | ChainInputs,\n /** @deprecated */\n verbose?: boolean,\n /** @deprecated */\n callbacks?: Callbacks\n ) {\n if (\n arguments.length === 1 &&\n typeof fields === \"object\" &&\n !(\"saveContext\" in fields)\n ) {\n // fields is not a BaseMemory\n const { memory, callbackManager, ...rest } = fields;\n super({ ...rest, callbacks: callbackManager ?? rest.callbacks });\n this.memory = memory;\n } else {\n // fields is a BaseMemory\n super({ verbose, callbacks });\n this.memory = fields as BaseMemory;\n }\n }\n\n /** @ignore */\n _selectMemoryInputs(values: ChainValues): ChainValues {\n const valuesForMemory = { ...values };\n if (\"signal\" in valuesForMemory) {\n delete valuesForMemory.signal;\n }\n if (\"timeout\" in valuesForMemory) {\n delete valuesForMemory.timeout;\n }\n return valuesForMemory;\n }\n\n /**\n * Invoke the chain with the provided input and returns the output.\n * @param input Input values for the chain run.\n * @param config Optional configuration for the Runnable.\n * @returns Promise that resolves with the output of the chain run.\n */\n async invoke(input: RunInput, options?: RunnableConfig): Promise<RunOutput> {\n const config = ensureConfig(options);\n const fullValues = await this._formatValues(input);\n const callbackManager_ = await CallbackManager.configure(\n config?.callbacks,\n this.callbacks,\n config?.tags,\n this.tags,\n config?.metadata,\n this.metadata,\n { verbose: this.verbose }\n );\n const runManager = await callbackManager_?.handleChainStart(\n this.toJSON(),\n fullValues,\n undefined,\n undefined,\n undefined,\n undefined,\n config?.runName\n );\n let outputValues: RunOutput;\n try {\n outputValues = await (fullValues.signal\n ? (Promise.race([\n this._call(fullValues as RunInput, runManager, config),\n new Promise((_, reject) => {\n fullValues.signal?.addEventListener(\"abort\", () => {\n reject(new Error(\"AbortError\"));\n });\n }),\n ]) as Promise<RunOutput>)\n : this._call(fullValues as RunInput, runManager, config));\n } catch (e) {\n await runManager?.handleChainError(e);\n throw e;\n }\n if (!(this.memory == null)) {\n await this.memory.saveContext(\n this._selectMemoryInputs(input),\n outputValues\n );\n }\n await runManager?.handleChainEnd(outputValues);\n // add the runManager's currentRunId to the outputValues\n Object.defineProperty(outputValues, RUN_KEY, {\n value: runManager ? { runId: runManager?.runId } : undefined,\n configurable: true,\n });\n return outputValues;\n }\n\n private _validateOutputs(outputs: Record<string, unknown>): void {\n const missingKeys = this.outputKeys.filter((k) => !(k in outputs));\n if (missingKeys.length) {\n throw new Error(\n `Missing output keys: ${missingKeys.join(\n \", \"\n )} from chain ${this._chainType()}`\n );\n }\n }\n\n async prepOutputs(\n inputs: Record<string, unknown>,\n outputs: Record<string, unknown>,\n returnOnlyOutputs = false\n ) {\n this._validateOutputs(outputs);\n if (this.memory) {\n await this.memory.saveContext(inputs, outputs);\n }\n if (returnOnlyOutputs) {\n return outputs;\n }\n return { ...inputs, ...outputs };\n }\n\n /**\n * Run the core logic of this chain and return the output\n */\n abstract _call(\n values: RunInput,\n runManager?: CallbackManagerForChainRun,\n config?: RunnableConfig\n ): Promise<RunOutput>;\n\n /**\n * Return the string type key uniquely identifying this class of chain.\n */\n abstract _chainType(): string;\n\n /**\n * Return a json-like object representing this chain.\n */\n serialize(): SerializedBaseChain {\n throw new Error(\"Method not implemented.\");\n }\n\n abstract get inputKeys(): string[];\n\n abstract get outputKeys(): string[];\n\n /** @deprecated Use .invoke() instead. Will be removed in 0.2.0. */\n async run(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input: any,\n config?: Callbacks | RunnableConfig\n ): Promise<string> {\n const inputKeys = this.inputKeys.filter(\n (k) => !this.memory?.memoryKeys.includes(k)\n );\n const isKeylessInput = inputKeys.length <= 1;\n if (!isKeylessInput) {\n throw new Error(\n `Chain ${this._chainType()} expects multiple inputs, cannot use 'run' `\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const values = inputKeys.length ? { [inputKeys[0]]: input } : ({} as any);\n const returnValues = await this.call(values, config);\n const keys = Object.keys(returnValues);\n\n if (keys.length === 1) {\n return returnValues[keys[0]];\n }\n throw new Error(\n \"return values have multiple keys, `run` only supported when one key currently\"\n );\n }\n\n protected async _formatValues(\n values: ChainValues & { signal?: AbortSignal; timeout?: number }\n ) {\n const fullValues = { ...values } as typeof values;\n if (fullValues.timeout && !fullValues.signal) {\n fullValues.signal = AbortSignal.timeout(fullValues.timeout);\n delete fullValues.timeout;\n }\n if (!(this.memory == null)) {\n const newValues = await this.memory.loadMemoryVariables(\n this._selectMemoryInputs(values)\n );\n for (const [key, value] of Object.entries(newValues)) {\n fullValues[key] = value;\n }\n }\n return fullValues;\n }\n\n /**\n * @deprecated Use .invoke() instead. Will be removed in 0.2.0.\n *\n * Run the core logic of this chain and add to output if desired.\n *\n * Wraps _call and handles memory.\n */\n async call(\n values: ChainValues & { signal?: AbortSignal; timeout?: number },\n config?: Callbacks | RunnableConfig,\n /** @deprecated */\n tags?: string[]\n ): Promise<RunOutput> {\n const parsedConfig = { tags, ...parseCallbackConfigArg(config) };\n return this.invoke(values as RunInput, parsedConfig);\n }\n\n /**\n * @deprecated Use .batch() instead. Will be removed in 0.2.0.\n *\n * Call the chain on all inputs in the list\n */\n async apply(\n inputs: RunInput[],\n config?: (Callbacks | RunnableConfig)[]\n ): Promise<RunOutput[]> {\n return Promise.all(\n inputs.map(async (i, idx) => this.call(i, config?.[idx]))\n );\n }\n\n /**\n * Load a chain from a json-like object describing it.\n */\n static async deserialize(\n data: SerializedBaseChain,\n values: LoadValues = {}\n ): Promise<BaseChain> {\n switch (data._type) {\n case \"llm_chain\": {\n const { LLMChain } = await import(\"./llm_chain.js\");\n return LLMChain.deserialize(data);\n }\n case \"sequential_chain\": {\n const { SequentialChain } = await import(\"./sequential_chain.js\");\n return SequentialChain.deserialize(data);\n }\n case \"simple_sequential_chain\": {\n const { SimpleSequentialChain } = await import(\"./sequential_chain.js\");\n return SimpleSequentialChain.deserialize(data);\n }\n case \"stuff_documents_chain\": {\n const { StuffDocumentsChain } = await import(\"./combine_docs_chain.js\");\n return StuffDocumentsChain.deserialize(data);\n }\n case \"map_reduce_documents_chain\": {\n const { MapReduceDocumentsChain } = await import(\n \"./combine_docs_chain.js\"\n );\n return MapReduceDocumentsChain.deserialize(data);\n }\n case \"refine_documents_chain\": {\n const { RefineDocumentsChain } = await import(\n \"./combine_docs_chain.js\"\n );\n return RefineDocumentsChain.deserialize(data);\n }\n case \"vector_db_qa\": {\n const { VectorDBQAChain } = await import(\"./vector_db_qa.js\");\n return VectorDBQAChain.deserialize(data, values);\n }\n case \"api_chain\": {\n const { APIChain } = await import(\"./api/api_chain.js\");\n return APIChain.deserialize(data);\n }\n default:\n throw new Error(\n `Invalid prompt type in config: ${\n (data as SerializedBaseChain)._type\n }`\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.cjs","names":["BaseLangChain","fields?: BaseMemory | ChainInputs","verbose?: boolean","callbacks?: Callbacks","values: ChainValues","input: RunInput","options?: RunnableConfig","CallbackManager","outputValues: RunOutput","listener: (() => void) | undefined","RUN_KEY","outputs: Record<string, unknown>","inputs: Record<string, unknown>","input: any","config?: Callbacks | RunnableConfig","values: ChainValues & { signal?: AbortSignal; timeout?: number }","tags?: string[]","inputs: RunInput[]","config?: (Callbacks | RunnableConfig)[]","data: SerializedBaseChain","values: LoadValues"],"sources":["../../src/chains/base.ts"],"sourcesContent":["import { BaseMemory } from \"@langchain/core/memory\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { RUN_KEY } from \"@langchain/core/outputs\";\nimport {\n CallbackManagerForChainRun,\n CallbackManager,\n Callbacks,\n parseCallbackConfigArg,\n} from \"@langchain/core/callbacks/manager\";\nimport { ensureConfig, type RunnableConfig } from \"@langchain/core/runnables\";\nimport {\n BaseLangChain,\n BaseLangChainParams,\n} from \"@langchain/core/language_models/base\";\nimport { SerializedBaseChain } from \"./serde.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nexport interface ChainInputs extends BaseLangChainParams {\n memory?: BaseMemory;\n\n /**\n * @deprecated Use `callbacks` instead\n */\n callbackManager?: CallbackManager;\n}\n\n/**\n * Base interface that all chains must implement.\n */\nexport abstract class BaseChain<\n RunInput extends ChainValues = ChainValues,\n RunOutput extends ChainValues = ChainValues\n >\n extends BaseLangChain<RunInput, RunOutput>\n implements ChainInputs\n{\n declare memory?: BaseMemory;\n\n get lc_namespace(): string[] {\n return [\"langchain\", \"chains\", this._chainType()];\n }\n\n constructor(\n fields?: BaseMemory | ChainInputs,\n /** @deprecated */\n verbose?: boolean,\n /** @deprecated */\n callbacks?: Callbacks\n ) {\n if (\n arguments.length === 1 &&\n typeof fields === \"object\" &&\n !(\"saveContext\" in fields)\n ) {\n // fields is not a BaseMemory\n const { memory, callbackManager, ...rest } = fields;\n super({ ...rest, callbacks: callbackManager ?? rest.callbacks });\n this.memory = memory;\n } else {\n // fields is a BaseMemory\n super({ verbose, callbacks });\n this.memory = fields as BaseMemory;\n }\n }\n\n /** @ignore */\n _selectMemoryInputs(values: ChainValues): ChainValues {\n const valuesForMemory = { ...values };\n if (\"signal\" in valuesForMemory) {\n delete valuesForMemory.signal;\n }\n if (\"timeout\" in valuesForMemory) {\n delete valuesForMemory.timeout;\n }\n return valuesForMemory;\n }\n\n /**\n * Invoke the chain with the provided input and returns the output.\n * @param input Input values for the chain run.\n * @param config Optional configuration for the Runnable.\n * @returns Promise that resolves with the output of the chain run.\n */\n async invoke(input: RunInput, options?: RunnableConfig): Promise<RunOutput> {\n const config = ensureConfig(options);\n const fullValues = await this._formatValues(input);\n const callbackManager_ = await CallbackManager.configure(\n config?.callbacks,\n this.callbacks,\n config?.tags,\n this.tags,\n config?.metadata,\n this.metadata,\n { verbose: this.verbose }\n );\n const runManager = await callbackManager_?.handleChainStart(\n this.toJSON(),\n fullValues,\n undefined,\n undefined,\n undefined,\n undefined,\n config?.runName\n );\n let outputValues: RunOutput;\n try {\n if (fullValues.signal) {\n let listener: (() => void) | undefined;\n outputValues = (await Promise.race([\n this._call(fullValues as RunInput, runManager, config),\n new Promise<never>((_, reject) => {\n listener = () => {\n reject(new Error(\"AbortError\"));\n };\n fullValues.signal?.addEventListener(\"abort\", listener);\n }),\n ]).finally(() => {\n if (fullValues.signal && listener) {\n fullValues.signal.removeEventListener(\"abort\", listener);\n }\n })) as RunOutput;\n } else {\n outputValues = await this._call(\n fullValues as RunInput,\n runManager,\n config\n );\n }\n } catch (e) {\n await runManager?.handleChainError(e);\n throw e;\n }\n if (!(this.memory == null)) {\n await this.memory.saveContext(\n this._selectMemoryInputs(input),\n outputValues\n );\n }\n await runManager?.handleChainEnd(outputValues);\n // add the runManager's currentRunId to the outputValues\n Object.defineProperty(outputValues, RUN_KEY, {\n value: runManager ? { runId: runManager?.runId } : undefined,\n configurable: true,\n });\n return outputValues;\n }\n\n private _validateOutputs(outputs: Record<string, unknown>): void {\n const missingKeys = this.outputKeys.filter((k) => !(k in outputs));\n if (missingKeys.length) {\n throw new Error(\n `Missing output keys: ${missingKeys.join(\n \", \"\n )} from chain ${this._chainType()}`\n );\n }\n }\n\n async prepOutputs(\n inputs: Record<string, unknown>,\n outputs: Record<string, unknown>,\n returnOnlyOutputs = false\n ) {\n this._validateOutputs(outputs);\n if (this.memory) {\n await this.memory.saveContext(inputs, outputs);\n }\n if (returnOnlyOutputs) {\n return outputs;\n }\n return { ...inputs, ...outputs };\n }\n\n /**\n * Run the core logic of this chain and return the output\n */\n abstract _call(\n values: RunInput,\n runManager?: CallbackManagerForChainRun,\n config?: RunnableConfig\n ): Promise<RunOutput>;\n\n /**\n * Return the string type key uniquely identifying this class of chain.\n */\n abstract _chainType(): string;\n\n /**\n * Return a json-like object representing this chain.\n */\n serialize(): SerializedBaseChain {\n throw new Error(\"Method not implemented.\");\n }\n\n abstract get inputKeys(): string[];\n\n abstract get outputKeys(): string[];\n\n /** @deprecated Use .invoke() instead. Will be removed in 0.2.0. */\n async run(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input: any,\n config?: Callbacks | RunnableConfig\n ): Promise<string> {\n const inputKeys = this.inputKeys.filter(\n (k) => !this.memory?.memoryKeys.includes(k)\n );\n const isKeylessInput = inputKeys.length <= 1;\n if (!isKeylessInput) {\n throw new Error(\n `Chain ${this._chainType()} expects multiple inputs, cannot use 'run' `\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const values = inputKeys.length ? { [inputKeys[0]]: input } : ({} as any);\n const returnValues = await this.call(values, config);\n const keys = Object.keys(returnValues);\n\n if (keys.length === 1) {\n return returnValues[keys[0]];\n }\n throw new Error(\n \"return values have multiple keys, `run` only supported when one key currently\"\n );\n }\n\n protected async _formatValues(\n values: ChainValues & { signal?: AbortSignal; timeout?: number }\n ) {\n const fullValues = { ...values } as typeof values;\n if (fullValues.timeout && !fullValues.signal) {\n fullValues.signal = AbortSignal.timeout(fullValues.timeout);\n delete fullValues.timeout;\n }\n if (!(this.memory == null)) {\n const newValues = await this.memory.loadMemoryVariables(\n this._selectMemoryInputs(values)\n );\n for (const [key, value] of Object.entries(newValues)) {\n fullValues[key] = value;\n }\n }\n return fullValues;\n }\n\n /**\n * @deprecated Use .invoke() instead. Will be removed in 0.2.0.\n *\n * Run the core logic of this chain and add to output if desired.\n *\n * Wraps _call and handles memory.\n */\n async call(\n values: ChainValues & { signal?: AbortSignal; timeout?: number },\n config?: Callbacks | RunnableConfig,\n /** @deprecated */\n tags?: string[]\n ): Promise<RunOutput> {\n const parsedConfig = { tags, ...parseCallbackConfigArg(config) };\n return this.invoke(values as RunInput, parsedConfig);\n }\n\n /**\n * @deprecated Use .batch() instead. Will be removed in 0.2.0.\n *\n * Call the chain on all inputs in the list\n */\n async apply(\n inputs: RunInput[],\n config?: (Callbacks | RunnableConfig)[]\n ): Promise<RunOutput[]> {\n return Promise.all(\n inputs.map(async (i, idx) => this.call(i, config?.[idx]))\n );\n }\n\n /**\n * Load a chain from a json-like object describing it.\n */\n static async deserialize(\n data: SerializedBaseChain,\n values: LoadValues = {}\n ): Promise<BaseChain> {\n switch (data._type) {\n case \"llm_chain\": {\n const { LLMChain } = await import(\"./llm_chain.js\");\n return LLMChain.deserialize(data);\n }\n case \"sequential_chain\": {\n const { SequentialChain } = await import(\"./sequential_chain.js\");\n return SequentialChain.deserialize(data);\n }\n case \"simple_sequential_chain\": {\n const { SimpleSequentialChain } = await import(\"./sequential_chain.js\");\n return SimpleSequentialChain.deserialize(data);\n }\n case \"stuff_documents_chain\": {\n const { StuffDocumentsChain } = await import(\"./combine_docs_chain.js\");\n return StuffDocumentsChain.deserialize(data);\n }\n case \"map_reduce_documents_chain\": {\n const { MapReduceDocumentsChain } = await import(\n \"./combine_docs_chain.js\"\n );\n return MapReduceDocumentsChain.deserialize(data);\n }\n case \"refine_documents_chain\": {\n const { RefineDocumentsChain } = await import(\n \"./combine_docs_chain.js\"\n );\n return RefineDocumentsChain.deserialize(data);\n }\n case \"vector_db_qa\": {\n const { VectorDBQAChain } = await import(\"./vector_db_qa.js\");\n return VectorDBQAChain.deserialize(data, values);\n }\n case \"api_chain\": {\n const { APIChain } = await import(\"./api/api_chain.js\");\n return APIChain.deserialize(data);\n }\n default:\n throw new Error(\n `Invalid prompt type in config: ${\n (data as SerializedBaseChain)._type\n }`\n );\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/chains/base.js
CHANGED
|
@@ -51,11 +51,17 @@ var BaseChain = class extends BaseLangChain {
|
|
|
51
51
|
const runManager = await callbackManager_?.handleChainStart(this.toJSON(), fullValues, void 0, void 0, void 0, void 0, config?.runName);
|
|
52
52
|
let outputValues;
|
|
53
53
|
try {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
if (fullValues.signal) {
|
|
55
|
+
let listener;
|
|
56
|
+
outputValues = await Promise.race([this._call(fullValues, runManager, config), new Promise((_, reject) => {
|
|
57
|
+
listener = () => {
|
|
58
|
+
reject(/* @__PURE__ */ new Error("AbortError"));
|
|
59
|
+
};
|
|
60
|
+
fullValues.signal?.addEventListener("abort", listener);
|
|
61
|
+
})]).finally(() => {
|
|
62
|
+
if (fullValues.signal && listener) fullValues.signal.removeEventListener("abort", listener);
|
|
57
63
|
});
|
|
58
|
-
}
|
|
64
|
+
} else outputValues = await this._call(fullValues, runManager, config);
|
|
59
65
|
} catch (e) {
|
|
60
66
|
await runManager?.handleChainError(e);
|
|
61
67
|
throw e;
|
package/dist/chains/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","names":["fields?: BaseMemory | ChainInputs","verbose?: boolean","callbacks?: Callbacks","values: ChainValues","input: RunInput","options?: RunnableConfig","outputValues: RunOutput","outputs: Record<string, unknown>","inputs: Record<string, unknown>","input: any","config?: Callbacks | RunnableConfig","values: ChainValues & { signal?: AbortSignal; timeout?: number }","tags?: string[]","inputs: RunInput[]","config?: (Callbacks | RunnableConfig)[]","data: SerializedBaseChain","values: LoadValues"],"sources":["../../src/chains/base.ts"],"sourcesContent":["import { BaseMemory } from \"@langchain/core/memory\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { RUN_KEY } from \"@langchain/core/outputs\";\nimport {\n CallbackManagerForChainRun,\n CallbackManager,\n Callbacks,\n parseCallbackConfigArg,\n} from \"@langchain/core/callbacks/manager\";\nimport { ensureConfig, type RunnableConfig } from \"@langchain/core/runnables\";\nimport {\n BaseLangChain,\n BaseLangChainParams,\n} from \"@langchain/core/language_models/base\";\nimport { SerializedBaseChain } from \"./serde.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nexport interface ChainInputs extends BaseLangChainParams {\n memory?: BaseMemory;\n\n /**\n * @deprecated Use `callbacks` instead\n */\n callbackManager?: CallbackManager;\n}\n\n/**\n * Base interface that all chains must implement.\n */\nexport abstract class BaseChain<\n RunInput extends ChainValues = ChainValues,\n RunOutput extends ChainValues = ChainValues\n >\n extends BaseLangChain<RunInput, RunOutput>\n implements ChainInputs\n{\n declare memory?: BaseMemory;\n\n get lc_namespace(): string[] {\n return [\"langchain\", \"chains\", this._chainType()];\n }\n\n constructor(\n fields?: BaseMemory | ChainInputs,\n /** @deprecated */\n verbose?: boolean,\n /** @deprecated */\n callbacks?: Callbacks\n ) {\n if (\n arguments.length === 1 &&\n typeof fields === \"object\" &&\n !(\"saveContext\" in fields)\n ) {\n // fields is not a BaseMemory\n const { memory, callbackManager, ...rest } = fields;\n super({ ...rest, callbacks: callbackManager ?? rest.callbacks });\n this.memory = memory;\n } else {\n // fields is a BaseMemory\n super({ verbose, callbacks });\n this.memory = fields as BaseMemory;\n }\n }\n\n /** @ignore */\n _selectMemoryInputs(values: ChainValues): ChainValues {\n const valuesForMemory = { ...values };\n if (\"signal\" in valuesForMemory) {\n delete valuesForMemory.signal;\n }\n if (\"timeout\" in valuesForMemory) {\n delete valuesForMemory.timeout;\n }\n return valuesForMemory;\n }\n\n /**\n * Invoke the chain with the provided input and returns the output.\n * @param input Input values for the chain run.\n * @param config Optional configuration for the Runnable.\n * @returns Promise that resolves with the output of the chain run.\n */\n async invoke(input: RunInput, options?: RunnableConfig): Promise<RunOutput> {\n const config = ensureConfig(options);\n const fullValues = await this._formatValues(input);\n const callbackManager_ = await CallbackManager.configure(\n config?.callbacks,\n this.callbacks,\n config?.tags,\n this.tags,\n config?.metadata,\n this.metadata,\n { verbose: this.verbose }\n );\n const runManager = await callbackManager_?.handleChainStart(\n this.toJSON(),\n fullValues,\n undefined,\n undefined,\n undefined,\n undefined,\n config?.runName\n );\n let outputValues: RunOutput;\n try {\n outputValues = await (fullValues.signal\n ? (Promise.race([\n this._call(fullValues as RunInput, runManager, config),\n new Promise((_, reject) => {\n fullValues.signal?.addEventListener(\"abort\", () => {\n reject(new Error(\"AbortError\"));\n });\n }),\n ]) as Promise<RunOutput>)\n : this._call(fullValues as RunInput, runManager, config));\n } catch (e) {\n await runManager?.handleChainError(e);\n throw e;\n }\n if (!(this.memory == null)) {\n await this.memory.saveContext(\n this._selectMemoryInputs(input),\n outputValues\n );\n }\n await runManager?.handleChainEnd(outputValues);\n // add the runManager's currentRunId to the outputValues\n Object.defineProperty(outputValues, RUN_KEY, {\n value: runManager ? { runId: runManager?.runId } : undefined,\n configurable: true,\n });\n return outputValues;\n }\n\n private _validateOutputs(outputs: Record<string, unknown>): void {\n const missingKeys = this.outputKeys.filter((k) => !(k in outputs));\n if (missingKeys.length) {\n throw new Error(\n `Missing output keys: ${missingKeys.join(\n \", \"\n )} from chain ${this._chainType()}`\n );\n }\n }\n\n async prepOutputs(\n inputs: Record<string, unknown>,\n outputs: Record<string, unknown>,\n returnOnlyOutputs = false\n ) {\n this._validateOutputs(outputs);\n if (this.memory) {\n await this.memory.saveContext(inputs, outputs);\n }\n if (returnOnlyOutputs) {\n return outputs;\n }\n return { ...inputs, ...outputs };\n }\n\n /**\n * Run the core logic of this chain and return the output\n */\n abstract _call(\n values: RunInput,\n runManager?: CallbackManagerForChainRun,\n config?: RunnableConfig\n ): Promise<RunOutput>;\n\n /**\n * Return the string type key uniquely identifying this class of chain.\n */\n abstract _chainType(): string;\n\n /**\n * Return a json-like object representing this chain.\n */\n serialize(): SerializedBaseChain {\n throw new Error(\"Method not implemented.\");\n }\n\n abstract get inputKeys(): string[];\n\n abstract get outputKeys(): string[];\n\n /** @deprecated Use .invoke() instead. Will be removed in 0.2.0. */\n async run(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input: any,\n config?: Callbacks | RunnableConfig\n ): Promise<string> {\n const inputKeys = this.inputKeys.filter(\n (k) => !this.memory?.memoryKeys.includes(k)\n );\n const isKeylessInput = inputKeys.length <= 1;\n if (!isKeylessInput) {\n throw new Error(\n `Chain ${this._chainType()} expects multiple inputs, cannot use 'run' `\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const values = inputKeys.length ? { [inputKeys[0]]: input } : ({} as any);\n const returnValues = await this.call(values, config);\n const keys = Object.keys(returnValues);\n\n if (keys.length === 1) {\n return returnValues[keys[0]];\n }\n throw new Error(\n \"return values have multiple keys, `run` only supported when one key currently\"\n );\n }\n\n protected async _formatValues(\n values: ChainValues & { signal?: AbortSignal; timeout?: number }\n ) {\n const fullValues = { ...values } as typeof values;\n if (fullValues.timeout && !fullValues.signal) {\n fullValues.signal = AbortSignal.timeout(fullValues.timeout);\n delete fullValues.timeout;\n }\n if (!(this.memory == null)) {\n const newValues = await this.memory.loadMemoryVariables(\n this._selectMemoryInputs(values)\n );\n for (const [key, value] of Object.entries(newValues)) {\n fullValues[key] = value;\n }\n }\n return fullValues;\n }\n\n /**\n * @deprecated Use .invoke() instead. Will be removed in 0.2.0.\n *\n * Run the core logic of this chain and add to output if desired.\n *\n * Wraps _call and handles memory.\n */\n async call(\n values: ChainValues & { signal?: AbortSignal; timeout?: number },\n config?: Callbacks | RunnableConfig,\n /** @deprecated */\n tags?: string[]\n ): Promise<RunOutput> {\n const parsedConfig = { tags, ...parseCallbackConfigArg(config) };\n return this.invoke(values as RunInput, parsedConfig);\n }\n\n /**\n * @deprecated Use .batch() instead. Will be removed in 0.2.0.\n *\n * Call the chain on all inputs in the list\n */\n async apply(\n inputs: RunInput[],\n config?: (Callbacks | RunnableConfig)[]\n ): Promise<RunOutput[]> {\n return Promise.all(\n inputs.map(async (i, idx) => this.call(i, config?.[idx]))\n );\n }\n\n /**\n * Load a chain from a json-like object describing it.\n */\n static async deserialize(\n data: SerializedBaseChain,\n values: LoadValues = {}\n ): Promise<BaseChain> {\n switch (data._type) {\n case \"llm_chain\": {\n const { LLMChain } = await import(\"./llm_chain.js\");\n return LLMChain.deserialize(data);\n }\n case \"sequential_chain\": {\n const { SequentialChain } = await import(\"./sequential_chain.js\");\n return SequentialChain.deserialize(data);\n }\n case \"simple_sequential_chain\": {\n const { SimpleSequentialChain } = await import(\"./sequential_chain.js\");\n return SimpleSequentialChain.deserialize(data);\n }\n case \"stuff_documents_chain\": {\n const { StuffDocumentsChain } = await import(\"./combine_docs_chain.js\");\n return StuffDocumentsChain.deserialize(data);\n }\n case \"map_reduce_documents_chain\": {\n const { MapReduceDocumentsChain } = await import(\n \"./combine_docs_chain.js\"\n );\n return MapReduceDocumentsChain.deserialize(data);\n }\n case \"refine_documents_chain\": {\n const { RefineDocumentsChain } = await import(\n \"./combine_docs_chain.js\"\n );\n return RefineDocumentsChain.deserialize(data);\n }\n case \"vector_db_qa\": {\n const { VectorDBQAChain } = await import(\"./vector_db_qa.js\");\n return VectorDBQAChain.deserialize(data, values);\n }\n case \"api_chain\": {\n const { APIChain } = await import(\"./api/api_chain.js\");\n return APIChain.deserialize(data);\n }\n default:\n throw new Error(\n `Invalid prompt type in config: ${\n (data as SerializedBaseChain)._type\n }`\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","names":["fields?: BaseMemory | ChainInputs","verbose?: boolean","callbacks?: Callbacks","values: ChainValues","input: RunInput","options?: RunnableConfig","outputValues: RunOutput","listener: (() => void) | undefined","outputs: Record<string, unknown>","inputs: Record<string, unknown>","input: any","config?: Callbacks | RunnableConfig","values: ChainValues & { signal?: AbortSignal; timeout?: number }","tags?: string[]","inputs: RunInput[]","config?: (Callbacks | RunnableConfig)[]","data: SerializedBaseChain","values: LoadValues"],"sources":["../../src/chains/base.ts"],"sourcesContent":["import { BaseMemory } from \"@langchain/core/memory\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { RUN_KEY } from \"@langchain/core/outputs\";\nimport {\n CallbackManagerForChainRun,\n CallbackManager,\n Callbacks,\n parseCallbackConfigArg,\n} from \"@langchain/core/callbacks/manager\";\nimport { ensureConfig, type RunnableConfig } from \"@langchain/core/runnables\";\nimport {\n BaseLangChain,\n BaseLangChainParams,\n} from \"@langchain/core/language_models/base\";\nimport { SerializedBaseChain } from \"./serde.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadValues = Record<string, any>;\n\nexport interface ChainInputs extends BaseLangChainParams {\n memory?: BaseMemory;\n\n /**\n * @deprecated Use `callbacks` instead\n */\n callbackManager?: CallbackManager;\n}\n\n/**\n * Base interface that all chains must implement.\n */\nexport abstract class BaseChain<\n RunInput extends ChainValues = ChainValues,\n RunOutput extends ChainValues = ChainValues\n >\n extends BaseLangChain<RunInput, RunOutput>\n implements ChainInputs\n{\n declare memory?: BaseMemory;\n\n get lc_namespace(): string[] {\n return [\"langchain\", \"chains\", this._chainType()];\n }\n\n constructor(\n fields?: BaseMemory | ChainInputs,\n /** @deprecated */\n verbose?: boolean,\n /** @deprecated */\n callbacks?: Callbacks\n ) {\n if (\n arguments.length === 1 &&\n typeof fields === \"object\" &&\n !(\"saveContext\" in fields)\n ) {\n // fields is not a BaseMemory\n const { memory, callbackManager, ...rest } = fields;\n super({ ...rest, callbacks: callbackManager ?? rest.callbacks });\n this.memory = memory;\n } else {\n // fields is a BaseMemory\n super({ verbose, callbacks });\n this.memory = fields as BaseMemory;\n }\n }\n\n /** @ignore */\n _selectMemoryInputs(values: ChainValues): ChainValues {\n const valuesForMemory = { ...values };\n if (\"signal\" in valuesForMemory) {\n delete valuesForMemory.signal;\n }\n if (\"timeout\" in valuesForMemory) {\n delete valuesForMemory.timeout;\n }\n return valuesForMemory;\n }\n\n /**\n * Invoke the chain with the provided input and returns the output.\n * @param input Input values for the chain run.\n * @param config Optional configuration for the Runnable.\n * @returns Promise that resolves with the output of the chain run.\n */\n async invoke(input: RunInput, options?: RunnableConfig): Promise<RunOutput> {\n const config = ensureConfig(options);\n const fullValues = await this._formatValues(input);\n const callbackManager_ = await CallbackManager.configure(\n config?.callbacks,\n this.callbacks,\n config?.tags,\n this.tags,\n config?.metadata,\n this.metadata,\n { verbose: this.verbose }\n );\n const runManager = await callbackManager_?.handleChainStart(\n this.toJSON(),\n fullValues,\n undefined,\n undefined,\n undefined,\n undefined,\n config?.runName\n );\n let outputValues: RunOutput;\n try {\n if (fullValues.signal) {\n let listener: (() => void) | undefined;\n outputValues = (await Promise.race([\n this._call(fullValues as RunInput, runManager, config),\n new Promise<never>((_, reject) => {\n listener = () => {\n reject(new Error(\"AbortError\"));\n };\n fullValues.signal?.addEventListener(\"abort\", listener);\n }),\n ]).finally(() => {\n if (fullValues.signal && listener) {\n fullValues.signal.removeEventListener(\"abort\", listener);\n }\n })) as RunOutput;\n } else {\n outputValues = await this._call(\n fullValues as RunInput,\n runManager,\n config\n );\n }\n } catch (e) {\n await runManager?.handleChainError(e);\n throw e;\n }\n if (!(this.memory == null)) {\n await this.memory.saveContext(\n this._selectMemoryInputs(input),\n outputValues\n );\n }\n await runManager?.handleChainEnd(outputValues);\n // add the runManager's currentRunId to the outputValues\n Object.defineProperty(outputValues, RUN_KEY, {\n value: runManager ? { runId: runManager?.runId } : undefined,\n configurable: true,\n });\n return outputValues;\n }\n\n private _validateOutputs(outputs: Record<string, unknown>): void {\n const missingKeys = this.outputKeys.filter((k) => !(k in outputs));\n if (missingKeys.length) {\n throw new Error(\n `Missing output keys: ${missingKeys.join(\n \", \"\n )} from chain ${this._chainType()}`\n );\n }\n }\n\n async prepOutputs(\n inputs: Record<string, unknown>,\n outputs: Record<string, unknown>,\n returnOnlyOutputs = false\n ) {\n this._validateOutputs(outputs);\n if (this.memory) {\n await this.memory.saveContext(inputs, outputs);\n }\n if (returnOnlyOutputs) {\n return outputs;\n }\n return { ...inputs, ...outputs };\n }\n\n /**\n * Run the core logic of this chain and return the output\n */\n abstract _call(\n values: RunInput,\n runManager?: CallbackManagerForChainRun,\n config?: RunnableConfig\n ): Promise<RunOutput>;\n\n /**\n * Return the string type key uniquely identifying this class of chain.\n */\n abstract _chainType(): string;\n\n /**\n * Return a json-like object representing this chain.\n */\n serialize(): SerializedBaseChain {\n throw new Error(\"Method not implemented.\");\n }\n\n abstract get inputKeys(): string[];\n\n abstract get outputKeys(): string[];\n\n /** @deprecated Use .invoke() instead. Will be removed in 0.2.0. */\n async run(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input: any,\n config?: Callbacks | RunnableConfig\n ): Promise<string> {\n const inputKeys = this.inputKeys.filter(\n (k) => !this.memory?.memoryKeys.includes(k)\n );\n const isKeylessInput = inputKeys.length <= 1;\n if (!isKeylessInput) {\n throw new Error(\n `Chain ${this._chainType()} expects multiple inputs, cannot use 'run' `\n );\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const values = inputKeys.length ? { [inputKeys[0]]: input } : ({} as any);\n const returnValues = await this.call(values, config);\n const keys = Object.keys(returnValues);\n\n if (keys.length === 1) {\n return returnValues[keys[0]];\n }\n throw new Error(\n \"return values have multiple keys, `run` only supported when one key currently\"\n );\n }\n\n protected async _formatValues(\n values: ChainValues & { signal?: AbortSignal; timeout?: number }\n ) {\n const fullValues = { ...values } as typeof values;\n if (fullValues.timeout && !fullValues.signal) {\n fullValues.signal = AbortSignal.timeout(fullValues.timeout);\n delete fullValues.timeout;\n }\n if (!(this.memory == null)) {\n const newValues = await this.memory.loadMemoryVariables(\n this._selectMemoryInputs(values)\n );\n for (const [key, value] of Object.entries(newValues)) {\n fullValues[key] = value;\n }\n }\n return fullValues;\n }\n\n /**\n * @deprecated Use .invoke() instead. Will be removed in 0.2.0.\n *\n * Run the core logic of this chain and add to output if desired.\n *\n * Wraps _call and handles memory.\n */\n async call(\n values: ChainValues & { signal?: AbortSignal; timeout?: number },\n config?: Callbacks | RunnableConfig,\n /** @deprecated */\n tags?: string[]\n ): Promise<RunOutput> {\n const parsedConfig = { tags, ...parseCallbackConfigArg(config) };\n return this.invoke(values as RunInput, parsedConfig);\n }\n\n /**\n * @deprecated Use .batch() instead. Will be removed in 0.2.0.\n *\n * Call the chain on all inputs in the list\n */\n async apply(\n inputs: RunInput[],\n config?: (Callbacks | RunnableConfig)[]\n ): Promise<RunOutput[]> {\n return Promise.all(\n inputs.map(async (i, idx) => this.call(i, config?.[idx]))\n );\n }\n\n /**\n * Load a chain from a json-like object describing it.\n */\n static async deserialize(\n data: SerializedBaseChain,\n values: LoadValues = {}\n ): Promise<BaseChain> {\n switch (data._type) {\n case \"llm_chain\": {\n const { LLMChain } = await import(\"./llm_chain.js\");\n return LLMChain.deserialize(data);\n }\n case \"sequential_chain\": {\n const { SequentialChain } = await import(\"./sequential_chain.js\");\n return SequentialChain.deserialize(data);\n }\n case \"simple_sequential_chain\": {\n const { SimpleSequentialChain } = await import(\"./sequential_chain.js\");\n return SimpleSequentialChain.deserialize(data);\n }\n case \"stuff_documents_chain\": {\n const { StuffDocumentsChain } = await import(\"./combine_docs_chain.js\");\n return StuffDocumentsChain.deserialize(data);\n }\n case \"map_reduce_documents_chain\": {\n const { MapReduceDocumentsChain } = await import(\n \"./combine_docs_chain.js\"\n );\n return MapReduceDocumentsChain.deserialize(data);\n }\n case \"refine_documents_chain\": {\n const { RefineDocumentsChain } = await import(\n \"./combine_docs_chain.js\"\n );\n return RefineDocumentsChain.deserialize(data);\n }\n case \"vector_db_qa\": {\n const { VectorDBQAChain } = await import(\"./vector_db_qa.js\");\n return VectorDBQAChain.deserialize(data, values);\n }\n case \"api_chain\": {\n const { APIChain } = await import(\"./api/api_chain.js\");\n return APIChain.deserialize(data);\n }\n default:\n throw new Error(\n `Invalid prompt type in config: ${\n (data as SerializedBaseChain)._type\n }`\n );\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/chains/index.cjs
CHANGED
|
@@ -22,6 +22,7 @@ const require_transform = require('./transform.cjs');
|
|
|
22
22
|
const require_extraction = require('./openai_functions/extraction.cjs');
|
|
23
23
|
const require_tagging = require('./openai_functions/tagging.cjs');
|
|
24
24
|
const require_openapi = require('./openai_functions/openapi.cjs');
|
|
25
|
+
const require_openai_moderation = require('./openai_moderation.cjs');
|
|
25
26
|
|
|
26
27
|
//#region src/chains/index.ts
|
|
27
28
|
var chains_exports = {};
|
|
@@ -40,6 +41,7 @@ require_rolldown_runtime.__export(chains_exports, {
|
|
|
40
41
|
MultiPromptChain: () => require_multi_prompt.MultiPromptChain,
|
|
41
42
|
MultiRetrievalQAChain: () => require_multi_retrieval_qa.MultiRetrievalQAChain,
|
|
42
43
|
MultiRouteChain: () => require_multi_route.MultiRouteChain,
|
|
44
|
+
OpenAIModerationChain: () => require_openai_moderation.OpenAIModerationChain,
|
|
43
45
|
PRINCIPLES: () => require_constitutional_principle.PRINCIPLES,
|
|
44
46
|
RefineDocumentsChain: () => require_combine_docs_chain.RefineDocumentsChain,
|
|
45
47
|
RetrievalQAChain: () => require_retrieval_qa.RetrievalQAChain,
|
|
@@ -77,6 +79,7 @@ exports.MapReduceDocumentsChain = require_combine_docs_chain.MapReduceDocumentsC
|
|
|
77
79
|
exports.MultiPromptChain = require_multi_prompt.MultiPromptChain;
|
|
78
80
|
exports.MultiRetrievalQAChain = require_multi_retrieval_qa.MultiRetrievalQAChain;
|
|
79
81
|
exports.MultiRouteChain = require_multi_route.MultiRouteChain;
|
|
82
|
+
exports.OpenAIModerationChain = require_openai_moderation.OpenAIModerationChain;
|
|
80
83
|
exports.PRINCIPLES = require_constitutional_principle.PRINCIPLES;
|
|
81
84
|
exports.RefineDocumentsChain = require_combine_docs_chain.RefineDocumentsChain;
|
|
82
85
|
exports.RetrievalQAChain = require_retrieval_qa.RetrievalQAChain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/chains/index.ts"],"sourcesContent":["export { BaseChain, type ChainInputs } from \"./base.js\";\nexport { LLMChain, type LLMChainInput } from \"./llm_chain.js\";\nexport {\n APIChain,\n type APIChainInput,\n type APIChainOptions,\n} from \"./api/api_chain.js\";\nexport { ConversationChain } from \"./conversation.js\";\nexport {\n SequentialChain,\n type SequentialChainInput,\n SimpleSequentialChain,\n type SimpleSequentialChainInput,\n} from \"./sequential_chain.js\";\nexport {\n StuffDocumentsChain,\n type StuffDocumentsChainInput,\n MapReduceDocumentsChain,\n type MapReduceDocumentsChainInput,\n RefineDocumentsChain,\n type RefineDocumentsChainInput,\n} from \"./combine_docs_chain.js\";\nexport {\n ChatVectorDBQAChain,\n type ChatVectorDBQAChainInput,\n} from \"./chat_vector_db_chain.js\";\nexport {\n AnalyzeDocumentChain,\n type AnalyzeDocumentChainInput,\n} from \"./analyze_documents_chain.js\";\nexport { VectorDBQAChain, type VectorDBQAChainInput } from \"./vector_db_qa.js\";\nexport {\n loadQAChain,\n type QAChainParams,\n loadQAStuffChain,\n type StuffQAChainParams,\n loadQAMapReduceChain,\n type MapReduceQAChainParams,\n loadQARefineChain,\n type RefineQAChainParams,\n} from \"./question_answering/load.js\";\nexport {\n loadSummarizationChain,\n type SummarizationChainParams,\n} from \"./summarization/load.js\";\nexport {\n ConversationalRetrievalQAChain,\n type ConversationalRetrievalQAChainInput,\n} from \"./conversational_retrieval_chain.js\";\nexport {\n RetrievalQAChain,\n type RetrievalQAChainInput,\n} from \"./retrieval_qa.js\";\nexport {\n type ConstitutionalChainInput,\n ConstitutionalChain,\n} from \"./constitutional_ai/constitutional_chain.js\";\nexport {\n ConstitutionalPrinciple,\n PRINCIPLES,\n} from \"./constitutional_ai/constitutional_principle.js\";\nexport type {\n SerializedLLMChain,\n SerializedSequentialChain,\n SerializedSimpleSequentialChain,\n SerializedAnalyzeDocumentChain,\n SerializedAPIChain,\n SerializedBaseChain,\n SerializedChatVectorDBQAChain,\n SerializedMapReduceDocumentsChain,\n SerializedStuffDocumentsChain,\n SerializedVectorDBQAChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nexport {\n MultiRouteChain,\n type MultiRouteChainInput,\n RouterChain,\n} from \"./router/multi_route.js\";\nexport {\n LLMRouterChain,\n type LLMRouterChainInput,\n type RouterOutputSchema,\n} from \"./router/llm_router.js\";\nexport { MultiPromptChain } from \"./router/multi_prompt.js\";\nexport { MultiRetrievalQAChain } from \"./router/multi_retrieval_qa.js\";\nexport { TransformChain, type TransformChainFields } from \"./transform.js\";\nexport {\n createExtractionChain,\n createExtractionChainFromZod,\n} from \"./openai_functions/extraction.js\";\nexport {\n type TaggingChainOptions,\n createTaggingChain,\n createTaggingChainFromZod,\n} from \"./openai_functions/tagging.js\";\nexport {\n type OpenAPIChainOptions,\n createOpenAPIChain,\n convertOpenAPISpecToOpenAIFunctions,\n} from \"./openai_functions/openapi.js\";\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/chains/index.ts"],"sourcesContent":["export { BaseChain, type ChainInputs } from \"./base.js\";\nexport { LLMChain, type LLMChainInput } from \"./llm_chain.js\";\nexport {\n APIChain,\n type APIChainInput,\n type APIChainOptions,\n} from \"./api/api_chain.js\";\nexport { ConversationChain } from \"./conversation.js\";\nexport {\n SequentialChain,\n type SequentialChainInput,\n SimpleSequentialChain,\n type SimpleSequentialChainInput,\n} from \"./sequential_chain.js\";\nexport {\n StuffDocumentsChain,\n type StuffDocumentsChainInput,\n MapReduceDocumentsChain,\n type MapReduceDocumentsChainInput,\n RefineDocumentsChain,\n type RefineDocumentsChainInput,\n} from \"./combine_docs_chain.js\";\nexport {\n ChatVectorDBQAChain,\n type ChatVectorDBQAChainInput,\n} from \"./chat_vector_db_chain.js\";\nexport {\n AnalyzeDocumentChain,\n type AnalyzeDocumentChainInput,\n} from \"./analyze_documents_chain.js\";\nexport { VectorDBQAChain, type VectorDBQAChainInput } from \"./vector_db_qa.js\";\nexport {\n loadQAChain,\n type QAChainParams,\n loadQAStuffChain,\n type StuffQAChainParams,\n loadQAMapReduceChain,\n type MapReduceQAChainParams,\n loadQARefineChain,\n type RefineQAChainParams,\n} from \"./question_answering/load.js\";\nexport {\n loadSummarizationChain,\n type SummarizationChainParams,\n} from \"./summarization/load.js\";\nexport {\n ConversationalRetrievalQAChain,\n type ConversationalRetrievalQAChainInput,\n} from \"./conversational_retrieval_chain.js\";\nexport {\n RetrievalQAChain,\n type RetrievalQAChainInput,\n} from \"./retrieval_qa.js\";\nexport {\n type ConstitutionalChainInput,\n ConstitutionalChain,\n} from \"./constitutional_ai/constitutional_chain.js\";\nexport {\n ConstitutionalPrinciple,\n PRINCIPLES,\n} from \"./constitutional_ai/constitutional_principle.js\";\nexport type {\n SerializedLLMChain,\n SerializedSequentialChain,\n SerializedSimpleSequentialChain,\n SerializedAnalyzeDocumentChain,\n SerializedAPIChain,\n SerializedBaseChain,\n SerializedChatVectorDBQAChain,\n SerializedMapReduceDocumentsChain,\n SerializedStuffDocumentsChain,\n SerializedVectorDBQAChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nexport {\n MultiRouteChain,\n type MultiRouteChainInput,\n RouterChain,\n} from \"./router/multi_route.js\";\nexport {\n LLMRouterChain,\n type LLMRouterChainInput,\n type RouterOutputSchema,\n} from \"./router/llm_router.js\";\nexport { MultiPromptChain } from \"./router/multi_prompt.js\";\nexport { MultiRetrievalQAChain } from \"./router/multi_retrieval_qa.js\";\nexport { TransformChain, type TransformChainFields } from \"./transform.js\";\nexport {\n createExtractionChain,\n createExtractionChainFromZod,\n} from \"./openai_functions/extraction.js\";\nexport {\n type TaggingChainOptions,\n createTaggingChain,\n createTaggingChainFromZod,\n} from \"./openai_functions/tagging.js\";\nexport {\n type OpenAPIChainOptions,\n createOpenAPIChain,\n convertOpenAPISpecToOpenAIFunctions,\n} from \"./openai_functions/openapi.js\";\n\nexport {\n type OpenAIModerationChainInput,\n OpenAIModerationChain,\n} from \"./openai_moderation.js\";\n"],"mappings":""}
|
package/dist/chains/index.d.cts
CHANGED
|
@@ -22,4 +22,5 @@ import { TransformChain, TransformChainFields } from "./transform.cjs";
|
|
|
22
22
|
import { createExtractionChain, createExtractionChainFromZod } from "./openai_functions/extraction.cjs";
|
|
23
23
|
import { TaggingChainOptions, createTaggingChain, createTaggingChainFromZod } from "./openai_functions/tagging.cjs";
|
|
24
24
|
import { OpenAPIChainOptions, convertOpenAPISpecToOpenAIFunctions, createOpenAPIChain } from "./openai_functions/openapi.cjs";
|
|
25
|
-
|
|
25
|
+
import { OpenAIModerationChain, OpenAIModerationChainInput } from "./openai_moderation.cjs";
|
|
26
|
+
export { APIChain, type APIChainInput, type APIChainOptions, AnalyzeDocumentChain, type AnalyzeDocumentChainInput, BaseChain, type ChainInputs, ChatVectorDBQAChain, type ChatVectorDBQAChainInput, ConstitutionalChain, type ConstitutionalChainInput, ConstitutionalPrinciple, ConversationChain, ConversationalRetrievalQAChain, type ConversationalRetrievalQAChainInput, LLMChain, type LLMChainInput, LLMRouterChain, type LLMRouterChainInput, MapReduceDocumentsChain, type MapReduceDocumentsChainInput, type MapReduceQAChainParams, MultiPromptChain, MultiRetrievalQAChain, MultiRouteChain, type MultiRouteChainInput, OpenAIModerationChain, type OpenAIModerationChainInput, type OpenAPIChainOptions, PRINCIPLES, type QAChainParams, RefineDocumentsChain, type RefineDocumentsChainInput, type RefineQAChainParams, RetrievalQAChain, type RetrievalQAChainInput, RouterChain, type RouterOutputSchema, SequentialChain, type SequentialChainInput, type SerializedAPIChain, type SerializedAnalyzeDocumentChain, type SerializedBaseChain, type SerializedChatVectorDBQAChain, type SerializedLLMChain, type SerializedMapReduceDocumentsChain, type SerializedRefineDocumentsChain, type SerializedSequentialChain, type SerializedSimpleSequentialChain, type SerializedStuffDocumentsChain, type SerializedVectorDBQAChain, SimpleSequentialChain, type SimpleSequentialChainInput, StuffDocumentsChain, type StuffDocumentsChainInput, type StuffQAChainParams, type SummarizationChainParams, type TaggingChainOptions, TransformChain, type TransformChainFields, VectorDBQAChain, type VectorDBQAChainInput, convertOpenAPISpecToOpenAIFunctions, createExtractionChain, createExtractionChainFromZod, createOpenAPIChain, createTaggingChain, createTaggingChainFromZod, loadQAChain, loadQAMapReduceChain, loadQARefineChain, loadQAStuffChain, loadSummarizationChain };
|
package/dist/chains/index.d.ts
CHANGED
|
@@ -22,4 +22,5 @@ import { TransformChain, TransformChainFields } from "./transform.js";
|
|
|
22
22
|
import { createExtractionChain, createExtractionChainFromZod } from "./openai_functions/extraction.js";
|
|
23
23
|
import { TaggingChainOptions, createTaggingChain, createTaggingChainFromZod } from "./openai_functions/tagging.js";
|
|
24
24
|
import { OpenAPIChainOptions, convertOpenAPISpecToOpenAIFunctions, createOpenAPIChain } from "./openai_functions/openapi.js";
|
|
25
|
-
|
|
25
|
+
import { OpenAIModerationChain, OpenAIModerationChainInput } from "./openai_moderation.js";
|
|
26
|
+
export { APIChain, type APIChainInput, type APIChainOptions, AnalyzeDocumentChain, type AnalyzeDocumentChainInput, BaseChain, type ChainInputs, ChatVectorDBQAChain, type ChatVectorDBQAChainInput, ConstitutionalChain, type ConstitutionalChainInput, ConstitutionalPrinciple, ConversationChain, ConversationalRetrievalQAChain, type ConversationalRetrievalQAChainInput, LLMChain, type LLMChainInput, LLMRouterChain, type LLMRouterChainInput, MapReduceDocumentsChain, type MapReduceDocumentsChainInput, type MapReduceQAChainParams, MultiPromptChain, MultiRetrievalQAChain, MultiRouteChain, type MultiRouteChainInput, OpenAIModerationChain, type OpenAIModerationChainInput, type OpenAPIChainOptions, PRINCIPLES, type QAChainParams, RefineDocumentsChain, type RefineDocumentsChainInput, type RefineQAChainParams, RetrievalQAChain, type RetrievalQAChainInput, RouterChain, type RouterOutputSchema, SequentialChain, type SequentialChainInput, type SerializedAPIChain, type SerializedAnalyzeDocumentChain, type SerializedBaseChain, type SerializedChatVectorDBQAChain, type SerializedLLMChain, type SerializedMapReduceDocumentsChain, type SerializedRefineDocumentsChain, type SerializedSequentialChain, type SerializedSimpleSequentialChain, type SerializedStuffDocumentsChain, type SerializedVectorDBQAChain, SimpleSequentialChain, type SimpleSequentialChainInput, StuffDocumentsChain, type StuffDocumentsChainInput, type StuffQAChainParams, type SummarizationChainParams, type TaggingChainOptions, TransformChain, type TransformChainFields, VectorDBQAChain, type VectorDBQAChainInput, convertOpenAPISpecToOpenAIFunctions, createExtractionChain, createExtractionChainFromZod, createOpenAPIChain, createTaggingChain, createTaggingChainFromZod, loadQAChain, loadQAMapReduceChain, loadQARefineChain, loadQAStuffChain, loadSummarizationChain };
|
package/dist/chains/index.js
CHANGED
|
@@ -22,6 +22,7 @@ import { TransformChain } from "./transform.js";
|
|
|
22
22
|
import { createExtractionChain, createExtractionChainFromZod } from "./openai_functions/extraction.js";
|
|
23
23
|
import { createTaggingChain, createTaggingChainFromZod } from "./openai_functions/tagging.js";
|
|
24
24
|
import { convertOpenAPISpecToOpenAIFunctions, createOpenAPIChain } from "./openai_functions/openapi.js";
|
|
25
|
+
import { OpenAIModerationChain } from "./openai_moderation.js";
|
|
25
26
|
|
|
26
27
|
//#region src/chains/index.ts
|
|
27
28
|
var chains_exports = {};
|
|
@@ -40,6 +41,7 @@ __export(chains_exports, {
|
|
|
40
41
|
MultiPromptChain: () => MultiPromptChain,
|
|
41
42
|
MultiRetrievalQAChain: () => MultiRetrievalQAChain,
|
|
42
43
|
MultiRouteChain: () => MultiRouteChain,
|
|
44
|
+
OpenAIModerationChain: () => OpenAIModerationChain,
|
|
43
45
|
PRINCIPLES: () => PRINCIPLES,
|
|
44
46
|
RefineDocumentsChain: () => RefineDocumentsChain,
|
|
45
47
|
RetrievalQAChain: () => RetrievalQAChain,
|
|
@@ -63,5 +65,5 @@ __export(chains_exports, {
|
|
|
63
65
|
});
|
|
64
66
|
|
|
65
67
|
//#endregion
|
|
66
|
-
export { APIChain, AnalyzeDocumentChain, BaseChain, ChatVectorDBQAChain, ConstitutionalChain, ConstitutionalPrinciple, ConversationChain, ConversationalRetrievalQAChain, LLMChain, LLMRouterChain, MapReduceDocumentsChain, MultiPromptChain, MultiRetrievalQAChain, MultiRouteChain, PRINCIPLES, RefineDocumentsChain, RetrievalQAChain, RouterChain, SequentialChain, SimpleSequentialChain, StuffDocumentsChain, TransformChain, VectorDBQAChain, chains_exports, convertOpenAPISpecToOpenAIFunctions, createExtractionChain, createExtractionChainFromZod, createOpenAPIChain, createTaggingChain, createTaggingChainFromZod, loadQAChain, loadQAMapReduceChain, loadQARefineChain, loadQAStuffChain, loadSummarizationChain };
|
|
68
|
+
export { APIChain, AnalyzeDocumentChain, BaseChain, ChatVectorDBQAChain, ConstitutionalChain, ConstitutionalPrinciple, ConversationChain, ConversationalRetrievalQAChain, LLMChain, LLMRouterChain, MapReduceDocumentsChain, MultiPromptChain, MultiRetrievalQAChain, MultiRouteChain, OpenAIModerationChain, PRINCIPLES, RefineDocumentsChain, RetrievalQAChain, RouterChain, SequentialChain, SimpleSequentialChain, StuffDocumentsChain, TransformChain, VectorDBQAChain, chains_exports, convertOpenAPISpecToOpenAIFunctions, createExtractionChain, createExtractionChainFromZod, createOpenAPIChain, createTaggingChain, createTaggingChainFromZod, loadQAChain, loadQAMapReduceChain, loadQARefineChain, loadQAStuffChain, loadSummarizationChain };
|
|
67
69
|
//# sourceMappingURL=index.js.map
|
package/dist/chains/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/chains/index.ts"],"sourcesContent":["export { BaseChain, type ChainInputs } from \"./base.js\";\nexport { LLMChain, type LLMChainInput } from \"./llm_chain.js\";\nexport {\n APIChain,\n type APIChainInput,\n type APIChainOptions,\n} from \"./api/api_chain.js\";\nexport { ConversationChain } from \"./conversation.js\";\nexport {\n SequentialChain,\n type SequentialChainInput,\n SimpleSequentialChain,\n type SimpleSequentialChainInput,\n} from \"./sequential_chain.js\";\nexport {\n StuffDocumentsChain,\n type StuffDocumentsChainInput,\n MapReduceDocumentsChain,\n type MapReduceDocumentsChainInput,\n RefineDocumentsChain,\n type RefineDocumentsChainInput,\n} from \"./combine_docs_chain.js\";\nexport {\n ChatVectorDBQAChain,\n type ChatVectorDBQAChainInput,\n} from \"./chat_vector_db_chain.js\";\nexport {\n AnalyzeDocumentChain,\n type AnalyzeDocumentChainInput,\n} from \"./analyze_documents_chain.js\";\nexport { VectorDBQAChain, type VectorDBQAChainInput } from \"./vector_db_qa.js\";\nexport {\n loadQAChain,\n type QAChainParams,\n loadQAStuffChain,\n type StuffQAChainParams,\n loadQAMapReduceChain,\n type MapReduceQAChainParams,\n loadQARefineChain,\n type RefineQAChainParams,\n} from \"./question_answering/load.js\";\nexport {\n loadSummarizationChain,\n type SummarizationChainParams,\n} from \"./summarization/load.js\";\nexport {\n ConversationalRetrievalQAChain,\n type ConversationalRetrievalQAChainInput,\n} from \"./conversational_retrieval_chain.js\";\nexport {\n RetrievalQAChain,\n type RetrievalQAChainInput,\n} from \"./retrieval_qa.js\";\nexport {\n type ConstitutionalChainInput,\n ConstitutionalChain,\n} from \"./constitutional_ai/constitutional_chain.js\";\nexport {\n ConstitutionalPrinciple,\n PRINCIPLES,\n} from \"./constitutional_ai/constitutional_principle.js\";\nexport type {\n SerializedLLMChain,\n SerializedSequentialChain,\n SerializedSimpleSequentialChain,\n SerializedAnalyzeDocumentChain,\n SerializedAPIChain,\n SerializedBaseChain,\n SerializedChatVectorDBQAChain,\n SerializedMapReduceDocumentsChain,\n SerializedStuffDocumentsChain,\n SerializedVectorDBQAChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nexport {\n MultiRouteChain,\n type MultiRouteChainInput,\n RouterChain,\n} from \"./router/multi_route.js\";\nexport {\n LLMRouterChain,\n type LLMRouterChainInput,\n type RouterOutputSchema,\n} from \"./router/llm_router.js\";\nexport { MultiPromptChain } from \"./router/multi_prompt.js\";\nexport { MultiRetrievalQAChain } from \"./router/multi_retrieval_qa.js\";\nexport { TransformChain, type TransformChainFields } from \"./transform.js\";\nexport {\n createExtractionChain,\n createExtractionChainFromZod,\n} from \"./openai_functions/extraction.js\";\nexport {\n type TaggingChainOptions,\n createTaggingChain,\n createTaggingChainFromZod,\n} from \"./openai_functions/tagging.js\";\nexport {\n type OpenAPIChainOptions,\n createOpenAPIChain,\n convertOpenAPISpecToOpenAIFunctions,\n} from \"./openai_functions/openapi.js\";\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/chains/index.ts"],"sourcesContent":["export { BaseChain, type ChainInputs } from \"./base.js\";\nexport { LLMChain, type LLMChainInput } from \"./llm_chain.js\";\nexport {\n APIChain,\n type APIChainInput,\n type APIChainOptions,\n} from \"./api/api_chain.js\";\nexport { ConversationChain } from \"./conversation.js\";\nexport {\n SequentialChain,\n type SequentialChainInput,\n SimpleSequentialChain,\n type SimpleSequentialChainInput,\n} from \"./sequential_chain.js\";\nexport {\n StuffDocumentsChain,\n type StuffDocumentsChainInput,\n MapReduceDocumentsChain,\n type MapReduceDocumentsChainInput,\n RefineDocumentsChain,\n type RefineDocumentsChainInput,\n} from \"./combine_docs_chain.js\";\nexport {\n ChatVectorDBQAChain,\n type ChatVectorDBQAChainInput,\n} from \"./chat_vector_db_chain.js\";\nexport {\n AnalyzeDocumentChain,\n type AnalyzeDocumentChainInput,\n} from \"./analyze_documents_chain.js\";\nexport { VectorDBQAChain, type VectorDBQAChainInput } from \"./vector_db_qa.js\";\nexport {\n loadQAChain,\n type QAChainParams,\n loadQAStuffChain,\n type StuffQAChainParams,\n loadQAMapReduceChain,\n type MapReduceQAChainParams,\n loadQARefineChain,\n type RefineQAChainParams,\n} from \"./question_answering/load.js\";\nexport {\n loadSummarizationChain,\n type SummarizationChainParams,\n} from \"./summarization/load.js\";\nexport {\n ConversationalRetrievalQAChain,\n type ConversationalRetrievalQAChainInput,\n} from \"./conversational_retrieval_chain.js\";\nexport {\n RetrievalQAChain,\n type RetrievalQAChainInput,\n} from \"./retrieval_qa.js\";\nexport {\n type ConstitutionalChainInput,\n ConstitutionalChain,\n} from \"./constitutional_ai/constitutional_chain.js\";\nexport {\n ConstitutionalPrinciple,\n PRINCIPLES,\n} from \"./constitutional_ai/constitutional_principle.js\";\nexport type {\n SerializedLLMChain,\n SerializedSequentialChain,\n SerializedSimpleSequentialChain,\n SerializedAnalyzeDocumentChain,\n SerializedAPIChain,\n SerializedBaseChain,\n SerializedChatVectorDBQAChain,\n SerializedMapReduceDocumentsChain,\n SerializedStuffDocumentsChain,\n SerializedVectorDBQAChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nexport {\n MultiRouteChain,\n type MultiRouteChainInput,\n RouterChain,\n} from \"./router/multi_route.js\";\nexport {\n LLMRouterChain,\n type LLMRouterChainInput,\n type RouterOutputSchema,\n} from \"./router/llm_router.js\";\nexport { MultiPromptChain } from \"./router/multi_prompt.js\";\nexport { MultiRetrievalQAChain } from \"./router/multi_retrieval_qa.js\";\nexport { TransformChain, type TransformChainFields } from \"./transform.js\";\nexport {\n createExtractionChain,\n createExtractionChainFromZod,\n} from \"./openai_functions/extraction.js\";\nexport {\n type TaggingChainOptions,\n createTaggingChain,\n createTaggingChainFromZod,\n} from \"./openai_functions/tagging.js\";\nexport {\n type OpenAPIChainOptions,\n createOpenAPIChain,\n convertOpenAPISpecToOpenAIFunctions,\n} from \"./openai_functions/openapi.js\";\n\nexport {\n type OpenAIModerationChainInput,\n OpenAIModerationChain,\n} from \"./openai_moderation.js\";\n"],"mappings":""}
|