@langchain/classic 1.0.17 → 1.0.18
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 +7 -0
- package/dist/_virtual/{rolldown_runtime.cjs → _rolldown/runtime.cjs} +24 -13
- package/dist/_virtual/_rolldown/runtime.js +36 -0
- package/dist/agents/agent.cjs +9 -11
- package/dist/agents/agent.cjs.map +1 -1
- package/dist/agents/agent.d.cts +0 -1
- package/dist/agents/agent.d.cts.map +1 -1
- package/dist/agents/agent.d.ts +2 -3
- package/dist/agents/agent.d.ts.map +1 -1
- package/dist/agents/agent.js +1 -3
- package/dist/agents/agent.js.map +1 -1
- package/dist/agents/chat/index.cjs +11 -15
- package/dist/agents/chat/index.cjs.map +1 -1
- package/dist/agents/chat/index.d.cts +0 -1
- package/dist/agents/chat/index.d.cts.map +1 -1
- package/dist/agents/chat/index.d.ts +0 -1
- package/dist/agents/chat/index.d.ts.map +1 -1
- package/dist/agents/chat/index.js +7 -11
- package/dist/agents/chat/index.js.map +1 -1
- package/dist/agents/chat/outputParser.cjs +4 -5
- package/dist/agents/chat/outputParser.cjs.map +1 -1
- package/dist/agents/chat/outputParser.d.cts +2 -3
- package/dist/agents/chat/outputParser.d.cts.map +1 -1
- package/dist/agents/chat/outputParser.d.ts +0 -1
- package/dist/agents/chat/outputParser.d.ts.map +1 -1
- package/dist/agents/chat/outputParser.js +1 -2
- package/dist/agents/chat/outputParser.js.map +1 -1
- package/dist/agents/chat/prompt.cjs.map +1 -1
- package/dist/agents/chat/prompt.js.map +1 -1
- package/dist/agents/chat_convo/index.cjs +21 -25
- package/dist/agents/chat_convo/index.cjs.map +1 -1
- package/dist/agents/chat_convo/index.d.cts +0 -1
- package/dist/agents/chat_convo/index.d.cts.map +1 -1
- package/dist/agents/chat_convo/index.d.ts +1 -2
- package/dist/agents/chat_convo/index.d.ts.map +1 -1
- package/dist/agents/chat_convo/index.js +11 -15
- package/dist/agents/chat_convo/index.js.map +1 -1
- package/dist/agents/chat_convo/outputParser.cjs +10 -13
- package/dist/agents/chat_convo/outputParser.cjs.map +1 -1
- package/dist/agents/chat_convo/outputParser.d.cts.map +1 -1
- package/dist/agents/chat_convo/outputParser.d.ts.map +1 -1
- package/dist/agents/chat_convo/outputParser.js +4 -7
- package/dist/agents/chat_convo/outputParser.js.map +1 -1
- package/dist/agents/chat_convo/prompt.cjs.map +1 -1
- package/dist/agents/chat_convo/prompt.js.map +1 -1
- package/dist/agents/executor.cjs +25 -33
- package/dist/agents/executor.cjs.map +1 -1
- package/dist/agents/executor.d.cts +0 -1
- package/dist/agents/executor.d.cts.map +1 -1
- package/dist/agents/executor.d.ts +0 -1
- package/dist/agents/executor.d.ts.map +1 -1
- package/dist/agents/executor.js +11 -19
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/format_scratchpad/log.cjs +4 -5
- package/dist/agents/format_scratchpad/log.cjs.map +1 -1
- package/dist/agents/format_scratchpad/log.d.cts +0 -1
- package/dist/agents/format_scratchpad/log.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/log.d.ts +0 -1
- package/dist/agents/format_scratchpad/log.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/log.js +3 -5
- package/dist/agents/format_scratchpad/log.js.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.cjs +8 -9
- package/dist/agents/format_scratchpad/log_to_message.cjs.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/log_to_message.js +4 -6
- package/dist/agents/format_scratchpad/log_to_message.js.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.cjs +9 -11
- package/dist/agents/format_scratchpad/openai_functions.cjs.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.d.cts +0 -1
- package/dist/agents/format_scratchpad/openai_functions.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.d.ts +0 -1
- package/dist/agents/format_scratchpad/openai_functions.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.js +5 -8
- package/dist/agents/format_scratchpad/openai_functions.js.map +1 -1
- package/dist/agents/format_scratchpad/openai_tools.cjs +3 -3
- package/dist/agents/format_scratchpad/openai_tools.js +2 -3
- package/dist/agents/format_scratchpad/tool_calling.cjs +8 -10
- package/dist/agents/format_scratchpad/tool_calling.cjs.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.d.cts +0 -1
- package/dist/agents/format_scratchpad/tool_calling.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.d.ts +0 -1
- package/dist/agents/format_scratchpad/tool_calling.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.js +5 -7
- package/dist/agents/format_scratchpad/tool_calling.js.map +1 -1
- package/dist/agents/format_scratchpad/xml.cjs +3 -3
- package/dist/agents/format_scratchpad/xml.cjs.map +1 -1
- package/dist/agents/format_scratchpad/xml.d.cts.map +1 -1
- package/dist/agents/format_scratchpad/xml.d.ts.map +1 -1
- package/dist/agents/format_scratchpad/xml.js +2 -3
- package/dist/agents/format_scratchpad/xml.js.map +1 -1
- package/dist/agents/helpers.cjs +2 -2
- package/dist/agents/helpers.cjs.map +1 -1
- package/dist/agents/helpers.js +2 -2
- package/dist/agents/helpers.js.map +1 -1
- package/dist/agents/index.cjs +6 -6
- package/dist/agents/index.js +2 -3
- package/dist/agents/initialize.cjs +12 -16
- package/dist/agents/initialize.cjs.map +1 -1
- package/dist/agents/initialize.d.cts +8 -2
- package/dist/agents/initialize.d.cts.map +1 -1
- package/dist/agents/initialize.d.ts +8 -2
- package/dist/agents/initialize.d.ts.map +1 -1
- package/dist/agents/initialize.js +12 -16
- package/dist/agents/initialize.js.map +1 -1
- package/dist/agents/load.cjs +5 -5
- package/dist/agents/load.cjs.map +1 -1
- package/dist/agents/load.d.cts +8 -2
- package/dist/agents/load.d.cts.map +1 -1
- package/dist/agents/load.d.ts +8 -2
- package/dist/agents/load.d.ts.map +1 -1
- package/dist/agents/load.js +4 -5
- package/dist/agents/load.js.map +1 -1
- package/dist/agents/mrkl/index.cjs +16 -21
- package/dist/agents/mrkl/index.cjs.map +1 -1
- package/dist/agents/mrkl/index.d.cts +0 -1
- package/dist/agents/mrkl/index.d.cts.map +1 -1
- package/dist/agents/mrkl/index.d.ts +0 -1
- package/dist/agents/mrkl/index.d.ts.map +1 -1
- package/dist/agents/mrkl/index.js +13 -18
- package/dist/agents/mrkl/index.js.map +1 -1
- package/dist/agents/mrkl/outputParser.cjs +4 -5
- package/dist/agents/mrkl/outputParser.cjs.map +1 -1
- package/dist/agents/mrkl/outputParser.d.cts +1 -2
- package/dist/agents/mrkl/outputParser.d.cts.map +1 -1
- package/dist/agents/mrkl/outputParser.d.ts +0 -1
- package/dist/agents/mrkl/outputParser.d.ts.map +1 -1
- package/dist/agents/mrkl/outputParser.js +1 -2
- package/dist/agents/mrkl/outputParser.js.map +1 -1
- package/dist/agents/mrkl/prompt.cjs.map +1 -1
- package/dist/agents/mrkl/prompt.js.map +1 -1
- package/dist/agents/openai/output_parser.cjs +3 -3
- package/dist/agents/openai/output_parser.js +2 -3
- package/dist/agents/openai_functions/index.cjs +22 -25
- package/dist/agents/openai_functions/index.cjs.map +1 -1
- package/dist/agents/openai_functions/index.d.cts +2 -5
- package/dist/agents/openai_functions/index.d.cts.map +1 -1
- package/dist/agents/openai_functions/index.d.ts +3 -6
- package/dist/agents/openai_functions/index.d.ts.map +1 -1
- package/dist/agents/openai_functions/index.js +8 -11
- package/dist/agents/openai_functions/index.js.map +1 -1
- package/dist/agents/openai_functions/output_parser.cjs +5 -5
- package/dist/agents/openai_functions/output_parser.cjs.map +1 -1
- package/dist/agents/openai_functions/output_parser.d.cts +0 -1
- package/dist/agents/openai_functions/output_parser.d.cts.map +1 -1
- package/dist/agents/openai_functions/output_parser.d.ts +1 -2
- package/dist/agents/openai_functions/output_parser.d.ts.map +1 -1
- package/dist/agents/openai_functions/output_parser.js +1 -1
- package/dist/agents/openai_functions/output_parser.js.map +1 -1
- package/dist/agents/openai_functions/prompt.cjs.map +1 -1
- package/dist/agents/openai_functions/prompt.js.map +1 -1
- package/dist/agents/openai_tools/index.cjs +8 -9
- package/dist/agents/openai_tools/index.cjs.map +1 -1
- package/dist/agents/openai_tools/index.d.cts +4 -6
- package/dist/agents/openai_tools/index.d.cts.map +1 -1
- package/dist/agents/openai_tools/index.d.ts +4 -6
- package/dist/agents/openai_tools/index.d.ts.map +1 -1
- package/dist/agents/openai_tools/index.js +3 -4
- package/dist/agents/openai_tools/index.js.map +1 -1
- package/dist/agents/openai_tools/output_parser.cjs +5 -6
- package/dist/agents/openai_tools/output_parser.cjs.map +1 -1
- package/dist/agents/openai_tools/output_parser.d.cts +0 -1
- package/dist/agents/openai_tools/output_parser.d.cts.map +1 -1
- package/dist/agents/openai_tools/output_parser.d.ts +1 -2
- package/dist/agents/openai_tools/output_parser.d.ts.map +1 -1
- package/dist/agents/openai_tools/output_parser.js +1 -2
- package/dist/agents/openai_tools/output_parser.js.map +1 -1
- package/dist/agents/react/index.cjs +5 -6
- package/dist/agents/react/index.cjs.map +1 -1
- package/dist/agents/react/index.d.cts +3 -5
- package/dist/agents/react/index.d.cts.map +1 -1
- package/dist/agents/react/index.d.ts +3 -5
- package/dist/agents/react/index.d.ts.map +1 -1
- package/dist/agents/react/index.js +2 -3
- package/dist/agents/react/index.js.map +1 -1
- package/dist/agents/react/output_parser.cjs +15 -22
- package/dist/agents/react/output_parser.cjs.map +1 -1
- package/dist/agents/react/output_parser.d.cts +0 -1
- package/dist/agents/react/output_parser.d.cts.map +1 -1
- package/dist/agents/react/output_parser.d.ts +0 -1
- package/dist/agents/react/output_parser.d.ts.map +1 -1
- package/dist/agents/react/output_parser.js +9 -17
- package/dist/agents/react/output_parser.js.map +1 -1
- package/dist/agents/react/prompt.cjs.map +1 -1
- package/dist/agents/react/prompt.js.map +1 -1
- package/dist/agents/structured_chat/index.cjs +26 -29
- package/dist/agents/structured_chat/index.cjs.map +1 -1
- package/dist/agents/structured_chat/index.d.cts +1 -4
- package/dist/agents/structured_chat/index.d.cts.map +1 -1
- package/dist/agents/structured_chat/index.d.ts +3 -6
- package/dist/agents/structured_chat/index.d.ts.map +1 -1
- package/dist/agents/structured_chat/index.js +12 -15
- package/dist/agents/structured_chat/index.js.map +1 -1
- package/dist/agents/structured_chat/outputParser.cjs +10 -13
- package/dist/agents/structured_chat/outputParser.cjs.map +1 -1
- package/dist/agents/structured_chat/outputParser.d.cts +0 -1
- package/dist/agents/structured_chat/outputParser.d.cts.map +1 -1
- package/dist/agents/structured_chat/outputParser.d.ts +0 -1
- package/dist/agents/structured_chat/outputParser.d.ts.map +1 -1
- package/dist/agents/structured_chat/outputParser.js +3 -6
- package/dist/agents/structured_chat/outputParser.js.map +1 -1
- package/dist/agents/structured_chat/prompt.cjs.map +1 -1
- package/dist/agents/structured_chat/prompt.js.map +1 -1
- package/dist/agents/tool_calling/index.cjs +5 -6
- package/dist/agents/tool_calling/index.cjs.map +1 -1
- package/dist/agents/tool_calling/index.d.cts +4 -6
- package/dist/agents/tool_calling/index.d.cts.map +1 -1
- package/dist/agents/tool_calling/index.d.ts +2 -4
- package/dist/agents/tool_calling/index.d.ts.map +1 -1
- package/dist/agents/tool_calling/index.js +2 -3
- package/dist/agents/tool_calling/index.js.map +1 -1
- package/dist/agents/tool_calling/output_parser.cjs +5 -5
- package/dist/agents/tool_calling/output_parser.cjs.map +1 -1
- package/dist/agents/tool_calling/output_parser.d.cts +0 -1
- package/dist/agents/tool_calling/output_parser.d.cts.map +1 -1
- package/dist/agents/tool_calling/output_parser.d.ts +1 -2
- package/dist/agents/tool_calling/output_parser.d.ts.map +1 -1
- package/dist/agents/tool_calling/output_parser.js +1 -1
- package/dist/agents/tool_calling/output_parser.js.map +1 -1
- package/dist/agents/toolkits/base.cjs +2 -2
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs +1 -2
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.cts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.js +1 -2
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.js.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +6 -6
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts +0 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +0 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.cjs +6 -7
- package/dist/agents/toolkits/conversational_retrieval/tool.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.d.cts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.d.ts.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.js +2 -3
- package/dist/agents/toolkits/conversational_retrieval/tool.js.map +1 -1
- package/dist/agents/toolkits/index.cjs +3 -3
- package/dist/agents/toolkits/index.js +2 -3
- package/dist/agents/toolkits/json/json.cjs +11 -13
- package/dist/agents/toolkits/json/json.cjs.map +1 -1
- package/dist/agents/toolkits/json/json.d.cts +0 -1
- package/dist/agents/toolkits/json/json.d.cts.map +1 -1
- package/dist/agents/toolkits/json/json.d.ts +0 -1
- package/dist/agents/toolkits/json/json.d.ts.map +1 -1
- package/dist/agents/toolkits/json/json.js +8 -10
- package/dist/agents/toolkits/json/json.js.map +1 -1
- package/dist/agents/toolkits/json/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/json/prompt.js.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.cjs +14 -18
- package/dist/agents/toolkits/openapi/openapi.cjs.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.d.cts +0 -1
- package/dist/agents/toolkits/openapi/openapi.d.cts.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.d.ts +0 -1
- package/dist/agents/toolkits/openapi/openapi.d.ts.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.js +10 -14
- package/dist/agents/toolkits/openapi/openapi.js.map +1 -1
- package/dist/agents/toolkits/openapi/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/openapi/prompt.js.map +1 -1
- package/dist/agents/toolkits/sql/index.cjs +3 -3
- package/dist/agents/toolkits/sql/index.js +2 -3
- package/dist/agents/toolkits/sql/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/sql/prompt.d.cts.map +1 -1
- package/dist/agents/toolkits/sql/prompt.d.ts.map +1 -1
- package/dist/agents/toolkits/sql/prompt.js.map +1 -1
- package/dist/agents/toolkits/sql/sql.cjs +13 -15
- package/dist/agents/toolkits/sql/sql.cjs.map +1 -1
- package/dist/agents/toolkits/sql/sql.d.cts +0 -1
- package/dist/agents/toolkits/sql/sql.d.cts.map +1 -1
- package/dist/agents/toolkits/sql/sql.d.ts +0 -1
- package/dist/agents/toolkits/sql/sql.d.ts.map +1 -1
- package/dist/agents/toolkits/sql/sql.js +8 -10
- package/dist/agents/toolkits/sql/sql.js.map +1 -1
- package/dist/agents/toolkits/vectorstore/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/vectorstore/prompt.js.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs +20 -24
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.d.cts +0 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.d.cts.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +0 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.d.ts.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.js +16 -20
- package/dist/agents/toolkits/vectorstore/vectorstore.js.map +1 -1
- package/dist/agents/types.cjs +4 -4
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +0 -1
- package/dist/agents/types.d.cts.map +1 -1
- package/dist/agents/types.d.ts +1 -2
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js.map +1 -1
- package/dist/agents/xml/index.cjs +12 -15
- package/dist/agents/xml/index.cjs.map +1 -1
- package/dist/agents/xml/index.d.cts +1 -4
- package/dist/agents/xml/index.d.cts.map +1 -1
- package/dist/agents/xml/index.d.ts +1 -4
- package/dist/agents/xml/index.d.ts.map +1 -1
- package/dist/agents/xml/index.js +7 -10
- package/dist/agents/xml/index.js.map +1 -1
- package/dist/agents/xml/output_parser.cjs +7 -9
- package/dist/agents/xml/output_parser.cjs.map +1 -1
- package/dist/agents/xml/output_parser.d.cts +0 -1
- package/dist/agents/xml/output_parser.d.cts.map +1 -1
- package/dist/agents/xml/output_parser.d.ts +0 -1
- package/dist/agents/xml/output_parser.d.ts.map +1 -1
- package/dist/agents/xml/output_parser.js +4 -7
- package/dist/agents/xml/output_parser.js.map +1 -1
- package/dist/agents/xml/prompt.cjs.map +1 -1
- package/dist/agents/xml/prompt.js.map +1 -1
- package/dist/cache/file_system.cjs +11 -9
- package/dist/cache/file_system.cjs.map +1 -1
- package/dist/cache/file_system.d.cts +0 -1
- package/dist/cache/file_system.d.cts.map +1 -1
- package/dist/cache/file_system.d.ts +0 -1
- package/dist/cache/file_system.d.ts.map +1 -1
- package/dist/cache/file_system.js +2 -3
- package/dist/cache/file_system.js.map +1 -1
- package/dist/callbacks/handlers/console.cjs +6 -6
- package/dist/callbacks/handlers/console.d.cts +3 -2
- package/dist/callbacks/handlers/console.d.cts.map +1 -1
- package/dist/callbacks/handlers/console.d.ts +3 -2
- package/dist/callbacks/handlers/console.d.ts.map +1 -1
- package/dist/callbacks/handlers/console.js +4 -4
- package/dist/callbacks/handlers/run_collector.cjs +6 -6
- package/dist/callbacks/handlers/run_collector.d.cts +3 -2
- package/dist/callbacks/handlers/run_collector.d.cts.map +1 -1
- package/dist/callbacks/handlers/run_collector.d.ts +3 -2
- package/dist/callbacks/handlers/run_collector.d.ts.map +1 -1
- package/dist/callbacks/handlers/run_collector.js +4 -4
- package/dist/callbacks/handlers/tracer.cjs +6 -6
- package/dist/callbacks/handlers/tracer.d.cts +3 -2
- package/dist/callbacks/handlers/tracer.d.cts.map +1 -1
- package/dist/callbacks/handlers/tracer.d.ts +3 -2
- package/dist/callbacks/handlers/tracer.d.ts.map +1 -1
- package/dist/callbacks/handlers/tracer.js +4 -4
- package/dist/callbacks/handlers/tracer_langchain.cjs +6 -6
- package/dist/callbacks/handlers/tracer_langchain.d.cts +3 -2
- package/dist/callbacks/handlers/tracer_langchain.d.cts.map +1 -1
- package/dist/callbacks/handlers/tracer_langchain.d.ts +3 -2
- package/dist/callbacks/handlers/tracer_langchain.d.ts.map +1 -1
- package/dist/callbacks/handlers/tracer_langchain.js +4 -4
- package/dist/callbacks/index.cjs +3 -3
- package/dist/callbacks/index.js +2 -3
- package/dist/callbacks/promises.cjs +6 -6
- package/dist/callbacks/promises.d.cts +3 -2
- package/dist/callbacks/promises.d.cts.map +1 -1
- package/dist/callbacks/promises.d.ts +3 -2
- package/dist/callbacks/promises.d.ts.map +1 -1
- package/dist/callbacks/promises.js +4 -4
- package/dist/chains/analyze_documents_chain.cjs +6 -8
- package/dist/chains/analyze_documents_chain.cjs.map +1 -1
- package/dist/chains/analyze_documents_chain.d.cts.map +1 -1
- package/dist/chains/analyze_documents_chain.d.ts +1 -1
- package/dist/chains/analyze_documents_chain.d.ts.map +1 -1
- package/dist/chains/analyze_documents_chain.js +3 -5
- package/dist/chains/analyze_documents_chain.js.map +1 -1
- package/dist/chains/api/api_chain.cjs +1 -2
- package/dist/chains/api/api_chain.cjs.map +1 -1
- package/dist/chains/api/api_chain.d.cts +0 -1
- package/dist/chains/api/api_chain.d.cts.map +1 -1
- package/dist/chains/api/api_chain.d.ts +0 -1
- package/dist/chains/api/api_chain.d.ts.map +1 -1
- package/dist/chains/api/api_chain.js +1 -2
- package/dist/chains/api/api_chain.js.map +1 -1
- package/dist/chains/api/prompts.cjs +4 -4
- package/dist/chains/api/prompts.cjs.map +1 -1
- package/dist/chains/api/prompts.js.map +1 -1
- package/dist/chains/base.cjs +12 -14
- package/dist/chains/base.cjs.map +1 -1
- package/dist/chains/base.d.cts +3 -0
- package/dist/chains/base.d.cts.map +1 -1
- package/dist/chains/base.d.ts +3 -0
- package/dist/chains/base.d.ts.map +1 -1
- package/dist/chains/base.js +3 -5
- package/dist/chains/base.js.map +1 -1
- package/dist/chains/chat_vector_db_chain.cjs +9 -11
- package/dist/chains/chat_vector_db_chain.cjs.map +1 -1
- package/dist/chains/chat_vector_db_chain.d.cts.map +1 -1
- package/dist/chains/chat_vector_db_chain.d.ts.map +1 -1
- package/dist/chains/chat_vector_db_chain.js +6 -8
- package/dist/chains/chat_vector_db_chain.js.map +1 -1
- package/dist/chains/combine_docs_chain.cjs +15 -24
- package/dist/chains/combine_docs_chain.cjs.map +1 -1
- package/dist/chains/combine_docs_chain.d.cts.map +1 -1
- package/dist/chains/combine_docs_chain.d.ts +1 -1
- package/dist/chains/combine_docs_chain.d.ts.map +1 -1
- package/dist/chains/combine_docs_chain.js +12 -21
- package/dist/chains/combine_docs_chain.js.map +1 -1
- package/dist/chains/combine_documents/base.cjs +5 -6
- package/dist/chains/combine_documents/base.cjs.map +1 -1
- package/dist/chains/combine_documents/base.js +2 -3
- package/dist/chains/combine_documents/base.js.map +1 -1
- package/dist/chains/combine_documents/index.cjs +3 -3
- package/dist/chains/combine_documents/index.js +2 -3
- package/dist/chains/combine_documents/reduce.cjs +5 -7
- package/dist/chains/combine_documents/reduce.cjs.map +1 -1
- package/dist/chains/combine_documents/reduce.d.cts +0 -1
- package/dist/chains/combine_documents/reduce.d.cts.map +1 -1
- package/dist/chains/combine_documents/reduce.d.ts +0 -1
- package/dist/chains/combine_documents/reduce.d.ts.map +1 -1
- package/dist/chains/combine_documents/reduce.js +4 -7
- package/dist/chains/combine_documents/reduce.js.map +1 -1
- package/dist/chains/combine_documents/stuff.cjs +6 -6
- package/dist/chains/combine_documents/stuff.cjs.map +1 -1
- package/dist/chains/combine_documents/stuff.d.cts +0 -1
- package/dist/chains/combine_documents/stuff.d.cts.map +1 -1
- package/dist/chains/combine_documents/stuff.d.ts +0 -1
- package/dist/chains/combine_documents/stuff.d.ts.map +1 -1
- package/dist/chains/combine_documents/stuff.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.d.cts +0 -1
- package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.d.ts +0 -1
- package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs +5 -5
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.js.map +1 -1
- package/dist/chains/conversation.cjs +4 -4
- package/dist/chains/conversation.cjs.map +1 -1
- package/dist/chains/conversation.d.cts +0 -1
- package/dist/chains/conversation.d.cts.map +1 -1
- package/dist/chains/conversation.d.ts +0 -1
- package/dist/chains/conversation.d.ts.map +1 -1
- package/dist/chains/conversation.js +1 -1
- package/dist/chains/conversation.js.map +1 -1
- package/dist/chains/conversational_retrieval_chain.cjs +12 -14
- package/dist/chains/conversational_retrieval_chain.cjs.map +1 -1
- package/dist/chains/conversational_retrieval_chain.d.cts +2 -4
- package/dist/chains/conversational_retrieval_chain.d.cts.map +1 -1
- package/dist/chains/conversational_retrieval_chain.d.ts +3 -5
- package/dist/chains/conversational_retrieval_chain.d.ts.map +1 -1
- package/dist/chains/conversational_retrieval_chain.js +7 -9
- package/dist/chains/conversational_retrieval_chain.js.map +1 -1
- package/dist/chains/graph_qa/cypher.cjs +8 -10
- package/dist/chains/graph_qa/cypher.cjs.map +1 -1
- package/dist/chains/graph_qa/cypher.d.cts.map +1 -1
- package/dist/chains/graph_qa/cypher.d.ts.map +1 -1
- package/dist/chains/graph_qa/cypher.js +7 -10
- package/dist/chains/graph_qa/cypher.js.map +1 -1
- package/dist/chains/graph_qa/prompts.cjs +4 -4
- package/dist/chains/graph_qa/prompts.cjs.map +1 -1
- package/dist/chains/graph_qa/prompts.js.map +1 -1
- package/dist/chains/history_aware_retriever.cjs +7 -8
- package/dist/chains/history_aware_retriever.cjs.map +1 -1
- package/dist/chains/history_aware_retriever.d.cts +0 -1
- package/dist/chains/history_aware_retriever.d.cts.map +1 -1
- package/dist/chains/history_aware_retriever.d.ts +2 -3
- package/dist/chains/history_aware_retriever.d.ts.map +1 -1
- package/dist/chains/history_aware_retriever.js +3 -5
- package/dist/chains/history_aware_retriever.js.map +1 -1
- package/dist/chains/index.cjs +3 -3
- package/dist/chains/index.js +2 -3
- package/dist/chains/llm_chain.cjs +12 -15
- package/dist/chains/llm_chain.cjs.map +1 -1
- package/dist/chains/llm_chain.d.cts.map +1 -1
- package/dist/chains/llm_chain.d.ts +1 -1
- package/dist/chains/llm_chain.d.ts.map +1 -1
- package/dist/chains/llm_chain.js +3 -6
- package/dist/chains/llm_chain.js.map +1 -1
- package/dist/chains/load.cjs +3 -3
- package/dist/chains/load.cjs.map +1 -1
- package/dist/chains/load.d.cts +0 -1
- package/dist/chains/load.d.cts.map +1 -1
- package/dist/chains/load.d.ts +0 -1
- package/dist/chains/load.d.ts.map +1 -1
- package/dist/chains/load.js +2 -3
- package/dist/chains/load.js.map +1 -1
- package/dist/chains/openai_functions/base.cjs +8 -10
- package/dist/chains/openai_functions/base.cjs.map +1 -1
- package/dist/chains/openai_functions/base.d.cts +3 -7
- package/dist/chains/openai_functions/base.d.cts.map +1 -1
- package/dist/chains/openai_functions/base.d.ts +4 -8
- package/dist/chains/openai_functions/base.d.ts.map +1 -1
- package/dist/chains/openai_functions/base.js +5 -7
- package/dist/chains/openai_functions/base.js.map +1 -1
- package/dist/chains/openai_functions/extraction.cjs +5 -5
- package/dist/chains/openai_functions/extraction.cjs.map +1 -1
- package/dist/chains/openai_functions/extraction.d.cts +0 -1
- package/dist/chains/openai_functions/extraction.d.cts.map +1 -1
- package/dist/chains/openai_functions/extraction.d.ts +1 -2
- package/dist/chains/openai_functions/extraction.d.ts.map +1 -1
- package/dist/chains/openai_functions/extraction.js.map +1 -1
- package/dist/chains/openai_functions/index.cjs +3 -3
- package/dist/chains/openai_functions/index.js +2 -3
- package/dist/chains/openai_functions/openapi.cjs +12 -19
- package/dist/chains/openai_functions/openapi.cjs.map +1 -1
- package/dist/chains/openai_functions/openapi.d.cts +0 -2
- package/dist/chains/openai_functions/openapi.d.cts.map +1 -1
- package/dist/chains/openai_functions/openapi.d.ts +0 -2
- package/dist/chains/openai_functions/openapi.d.ts.map +1 -1
- package/dist/chains/openai_functions/openapi.js +9 -16
- package/dist/chains/openai_functions/openapi.js.map +1 -1
- package/dist/chains/openai_functions/tagging.cjs +5 -5
- package/dist/chains/openai_functions/tagging.cjs.map +1 -1
- package/dist/chains/openai_functions/tagging.d.cts +0 -1
- package/dist/chains/openai_functions/tagging.d.cts.map +1 -1
- package/dist/chains/openai_functions/tagging.d.ts +1 -2
- package/dist/chains/openai_functions/tagging.d.ts.map +1 -1
- package/dist/chains/openai_functions/tagging.js +1 -1
- package/dist/chains/openai_functions/tagging.js.map +1 -1
- package/dist/chains/openai_moderation.cjs +7 -7
- package/dist/chains/openai_moderation.cjs.map +1 -1
- package/dist/chains/openai_moderation.d.cts +0 -1
- package/dist/chains/openai_moderation.d.cts.map +1 -1
- package/dist/chains/openai_moderation.d.ts +0 -1
- package/dist/chains/openai_moderation.d.ts.map +1 -1
- package/dist/chains/openai_moderation.js.map +1 -1
- package/dist/chains/query_constructor/index.cjs +19 -25
- package/dist/chains/query_constructor/index.cjs.map +1 -1
- package/dist/chains/query_constructor/index.d.cts +0 -1
- package/dist/chains/query_constructor/index.d.cts.map +1 -1
- package/dist/chains/query_constructor/index.d.ts +0 -1
- package/dist/chains/query_constructor/index.d.ts.map +1 -1
- package/dist/chains/query_constructor/index.js +11 -18
- package/dist/chains/query_constructor/index.js.map +1 -1
- package/dist/chains/query_constructor/ir.cjs +7 -6
- package/dist/chains/query_constructor/ir.js +4 -4
- package/dist/chains/query_constructor/parser.cjs +8 -9
- package/dist/chains/query_constructor/parser.cjs.map +1 -1
- package/dist/chains/query_constructor/parser.d.cts +0 -1
- package/dist/chains/query_constructor/parser.d.cts.map +1 -1
- package/dist/chains/query_constructor/parser.d.ts +0 -1
- package/dist/chains/query_constructor/parser.d.ts.map +1 -1
- package/dist/chains/query_constructor/parser.js +1 -2
- package/dist/chains/query_constructor/parser.js.map +1 -1
- package/dist/chains/query_constructor/prompt.cjs +3 -3
- package/dist/chains/query_constructor/prompt.cjs.map +1 -1
- package/dist/chains/query_constructor/prompt.d.cts +0 -1
- package/dist/chains/query_constructor/prompt.d.cts.map +1 -1
- package/dist/chains/query_constructor/prompt.d.ts +0 -1
- package/dist/chains/query_constructor/prompt.d.ts.map +1 -1
- package/dist/chains/query_constructor/prompt.js.map +1 -1
- package/dist/chains/question_answering/load.cjs +32 -41
- package/dist/chains/question_answering/load.cjs.map +1 -1
- package/dist/chains/question_answering/load.d.cts +0 -1
- package/dist/chains/question_answering/load.d.cts.map +1 -1
- package/dist/chains/question_answering/load.d.ts +0 -1
- package/dist/chains/question_answering/load.d.ts.map +1 -1
- package/dist/chains/question_answering/load.js +32 -41
- package/dist/chains/question_answering/load.js.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.cjs +13 -15
- package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.js +4 -6
- package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
- package/dist/chains/question_answering/refine_prompts.cjs +16 -18
- package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/refine_prompts.js +7 -9
- package/dist/chains/question_answering/refine_prompts.js.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.cjs +8 -9
- package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.js +2 -3
- package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
- package/dist/chains/retrieval.cjs +7 -8
- package/dist/chains/retrieval.cjs.map +1 -1
- package/dist/chains/retrieval.d.cts +0 -1
- package/dist/chains/retrieval.d.cts.map +1 -1
- package/dist/chains/retrieval.d.ts +2 -3
- package/dist/chains/retrieval.d.ts.map +1 -1
- package/dist/chains/retrieval.js +3 -5
- package/dist/chains/retrieval.js.map +1 -1
- package/dist/chains/retrieval_qa.cjs.map +1 -1
- package/dist/chains/retrieval_qa.d.cts.map +1 -1
- package/dist/chains/retrieval_qa.d.ts.map +1 -1
- package/dist/chains/retrieval_qa.js.map +1 -1
- package/dist/chains/router/llm_router.cjs.map +1 -1
- package/dist/chains/router/llm_router.d.cts +0 -1
- package/dist/chains/router/llm_router.d.cts.map +1 -1
- package/dist/chains/router/llm_router.d.ts +0 -1
- package/dist/chains/router/llm_router.d.ts.map +1 -1
- package/dist/chains/router/llm_router.js.map +1 -1
- package/dist/chains/router/multi_prompt.cjs +8 -10
- package/dist/chains/router/multi_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_prompt.d.cts +0 -1
- package/dist/chains/router/multi_prompt.d.cts.map +1 -1
- package/dist/chains/router/multi_prompt.d.ts +0 -1
- package/dist/chains/router/multi_prompt.d.ts.map +1 -1
- package/dist/chains/router/multi_prompt.js +3 -5
- package/dist/chains/router/multi_prompt.js.map +1 -1
- package/dist/chains/router/multi_prompt_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_prompt_prompt.js.map +1 -1
- package/dist/chains/router/multi_retrieval_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_retrieval_prompt.js.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.cjs +15 -22
- package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.d.cts +0 -1
- package/dist/chains/router/multi_retrieval_qa.d.cts.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.d.ts +0 -1
- package/dist/chains/router/multi_retrieval_qa.d.ts.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.js +11 -18
- package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
- package/dist/chains/router/multi_route.cjs.map +1 -1
- package/dist/chains/router/multi_route.d.cts +0 -1
- package/dist/chains/router/multi_route.d.cts.map +1 -1
- package/dist/chains/router/multi_route.d.ts +0 -1
- package/dist/chains/router/multi_route.d.ts.map +1 -1
- package/dist/chains/router/multi_route.js.map +1 -1
- package/dist/chains/router/utils.cjs.map +1 -1
- package/dist/chains/router/utils.js.map +1 -1
- package/dist/chains/sequential_chain.cjs.map +1 -1
- package/dist/chains/sequential_chain.d.cts +0 -1
- package/dist/chains/sequential_chain.d.cts.map +1 -1
- package/dist/chains/sequential_chain.d.ts +0 -1
- package/dist/chains/sequential_chain.d.ts.map +1 -1
- package/dist/chains/sequential_chain.js.map +1 -1
- package/dist/chains/serde.d.cts +0 -1
- package/dist/chains/serde.d.cts.map +1 -1
- package/dist/chains/serde.d.ts +0 -1
- package/dist/chains/serde.d.ts.map +1 -1
- package/dist/chains/sql_db/index.cjs +3 -3
- package/dist/chains/sql_db/index.js +2 -3
- package/dist/chains/sql_db/sql_db_chain.cjs +19 -24
- package/dist/chains/sql_db/sql_db_chain.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.d.cts +0 -1
- package/dist/chains/sql_db/sql_db_chain.d.cts.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.d.ts +0 -1
- package/dist/chains/sql_db/sql_db_chain.d.ts.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.js +13 -18
- package/dist/chains/sql_db/sql_db_chain.js.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.cjs +9 -9
- package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.d.cts.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.d.ts.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
- package/dist/chains/summarization/load.cjs +32 -41
- package/dist/chains/summarization/load.cjs.map +1 -1
- package/dist/chains/summarization/load.d.cts +0 -1
- package/dist/chains/summarization/load.d.cts.map +1 -1
- package/dist/chains/summarization/load.d.ts +0 -1
- package/dist/chains/summarization/load.d.ts.map +1 -1
- package/dist/chains/summarization/load.js +32 -41
- package/dist/chains/summarization/load.js.map +1 -1
- package/dist/chains/summarization/refine_prompts.cjs +3 -3
- package/dist/chains/summarization/refine_prompts.cjs.map +1 -1
- package/dist/chains/summarization/refine_prompts.js.map +1 -1
- package/dist/chains/summarization/stuff_prompts.cjs +3 -3
- package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
- package/dist/chains/summarization/stuff_prompts.js.map +1 -1
- package/dist/chains/transform.cjs.map +1 -1
- package/dist/chains/transform.d.cts +0 -1
- package/dist/chains/transform.d.cts.map +1 -1
- package/dist/chains/transform.d.ts +0 -1
- package/dist/chains/transform.d.ts.map +1 -1
- package/dist/chains/transform.js.map +1 -1
- package/dist/chains/vector_db_qa.cjs.map +1 -1
- package/dist/chains/vector_db_qa.d.cts.map +1 -1
- package/dist/chains/vector_db_qa.d.ts.map +1 -1
- package/dist/chains/vector_db_qa.js.map +1 -1
- package/dist/chat_models/universal.cjs +33 -39
- package/dist/chat_models/universal.cjs.map +1 -1
- package/dist/chat_models/universal.d.cts.map +1 -1
- package/dist/chat_models/universal.d.ts +1 -1
- package/dist/chat_models/universal.d.ts.map +1 -1
- package/dist/chat_models/universal.js +20 -27
- package/dist/chat_models/universal.js.map +1 -1
- package/dist/document.cjs +5 -5
- package/dist/document.js +2 -3
- package/dist/document_loaders/base.cjs +7 -6
- package/dist/document_loaders/base.js +4 -4
- package/dist/document_loaders/fs/buffer.cjs +7 -7
- package/dist/document_loaders/fs/buffer.cjs.map +1 -1
- package/dist/document_loaders/fs/buffer.d.cts +0 -1
- package/dist/document_loaders/fs/buffer.d.cts.map +1 -1
- package/dist/document_loaders/fs/buffer.d.ts +1 -2
- package/dist/document_loaders/fs/buffer.d.ts.map +1 -1
- package/dist/document_loaders/fs/buffer.js +2 -3
- package/dist/document_loaders/fs/buffer.js.map +1 -1
- package/dist/document_loaders/fs/directory.cjs +7 -7
- package/dist/document_loaders/fs/directory.cjs.map +1 -1
- package/dist/document_loaders/fs/directory.d.cts.map +1 -1
- package/dist/document_loaders/fs/directory.d.ts +1 -1
- package/dist/document_loaders/fs/directory.d.ts.map +1 -1
- package/dist/document_loaders/fs/directory.js +2 -3
- package/dist/document_loaders/fs/directory.js.map +1 -1
- package/dist/document_loaders/fs/json.cjs +7 -8
- package/dist/document_loaders/fs/json.cjs.map +1 -1
- package/dist/document_loaders/fs/json.d.cts +0 -1
- package/dist/document_loaders/fs/json.d.cts.map +1 -1
- package/dist/document_loaders/fs/json.d.ts +0 -1
- package/dist/document_loaders/fs/json.d.ts.map +1 -1
- package/dist/document_loaders/fs/json.js +4 -7
- package/dist/document_loaders/fs/json.js.map +1 -1
- package/dist/document_loaders/fs/multi_file.cjs +8 -9
- package/dist/document_loaders/fs/multi_file.cjs.map +1 -1
- package/dist/document_loaders/fs/multi_file.d.cts +0 -1
- package/dist/document_loaders/fs/multi_file.d.cts.map +1 -1
- package/dist/document_loaders/fs/multi_file.d.ts +0 -1
- package/dist/document_loaders/fs/multi_file.d.ts.map +1 -1
- package/dist/document_loaders/fs/multi_file.js +3 -5
- package/dist/document_loaders/fs/multi_file.js.map +1 -1
- package/dist/document_loaders/fs/text.cjs +9 -9
- package/dist/document_loaders/fs/text.cjs.map +1 -1
- package/dist/document_loaders/fs/text.d.cts +0 -1
- package/dist/document_loaders/fs/text.d.cts.map +1 -1
- package/dist/document_loaders/fs/text.d.ts +1 -2
- package/dist/document_loaders/fs/text.d.ts.map +1 -1
- package/dist/document_loaders/fs/text.js +3 -4
- package/dist/document_loaders/fs/text.js.map +1 -1
- package/dist/document_transformers/openai_functions.cjs +12 -14
- package/dist/document_transformers/openai_functions.cjs.map +1 -1
- package/dist/document_transformers/openai_functions.d.cts +0 -1
- package/dist/document_transformers/openai_functions.d.cts.map +1 -1
- package/dist/document_transformers/openai_functions.d.ts +1 -1
- package/dist/document_transformers/openai_functions.d.ts.map +1 -1
- package/dist/document_transformers/openai_functions.js +6 -9
- package/dist/document_transformers/openai_functions.js.map +1 -1
- package/dist/embeddings/cache_backed.cjs +7 -7
- package/dist/embeddings/cache_backed.cjs.map +1 -1
- package/dist/embeddings/cache_backed.d.cts +0 -1
- package/dist/embeddings/cache_backed.d.cts.map +1 -1
- package/dist/embeddings/cache_backed.d.ts +0 -1
- package/dist/embeddings/cache_backed.d.ts.map +1 -1
- package/dist/embeddings/cache_backed.js +2 -3
- package/dist/embeddings/cache_backed.js.map +1 -1
- package/dist/embeddings/fake.cjs +7 -6
- package/dist/embeddings/fake.js +4 -4
- package/dist/evaluation/agents/index.js +2 -0
- package/dist/evaluation/agents/prompt.cjs +15 -12
- package/dist/evaluation/agents/prompt.cjs.map +1 -1
- package/dist/evaluation/agents/prompt.js +3 -0
- package/dist/evaluation/agents/prompt.js.map +1 -1
- package/dist/evaluation/agents/trajectory.cjs +5 -5
- package/dist/evaluation/agents/trajectory.cjs.map +1 -1
- package/dist/evaluation/agents/trajectory.d.cts +2 -2
- package/dist/evaluation/agents/trajectory.d.cts.map +1 -1
- package/dist/evaluation/agents/trajectory.d.ts +2 -2
- package/dist/evaluation/agents/trajectory.d.ts.map +1 -1
- package/dist/evaluation/agents/trajectory.js.map +1 -1
- package/dist/evaluation/base.cjs.map +1 -1
- package/dist/evaluation/base.d.cts.map +1 -1
- package/dist/evaluation/base.d.ts.map +1 -1
- package/dist/evaluation/base.js.map +1 -1
- package/dist/evaluation/comparison/index.js +2 -0
- package/dist/evaluation/comparison/pairwise.cjs +16 -21
- package/dist/evaluation/comparison/pairwise.cjs.map +1 -1
- package/dist/evaluation/comparison/pairwise.d.cts +3 -3
- package/dist/evaluation/comparison/pairwise.d.cts.map +1 -1
- package/dist/evaluation/comparison/pairwise.d.ts +3 -3
- package/dist/evaluation/comparison/pairwise.d.ts.map +1 -1
- package/dist/evaluation/comparison/pairwise.js +11 -16
- package/dist/evaluation/comparison/pairwise.js.map +1 -1
- package/dist/evaluation/comparison/prompt.cjs +11 -4
- package/dist/evaluation/comparison/prompt.cjs.map +1 -1
- package/dist/evaluation/comparison/prompt.js +7 -0
- package/dist/evaluation/comparison/prompt.js.map +1 -1
- package/dist/evaluation/criteria/criteria.cjs +7 -9
- package/dist/evaluation/criteria/criteria.cjs.map +1 -1
- package/dist/evaluation/criteria/criteria.d.cts +3 -3
- package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
- package/dist/evaluation/criteria/criteria.d.ts +3 -3
- package/dist/evaluation/criteria/criteria.d.ts.map +1 -1
- package/dist/evaluation/criteria/criteria.js +2 -4
- package/dist/evaluation/criteria/criteria.js.map +1 -1
- package/dist/evaluation/criteria/index.js +2 -0
- package/dist/evaluation/criteria/prompt.cjs +4 -4
- package/dist/evaluation/criteria/prompt.cjs.map +1 -1
- package/dist/evaluation/criteria/prompt.js.map +1 -1
- package/dist/evaluation/embedding_distance/base.cjs +5 -9
- package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
- package/dist/evaluation/embedding_distance/base.d.cts +0 -1
- package/dist/evaluation/embedding_distance/base.d.cts.map +1 -1
- package/dist/evaluation/embedding_distance/base.d.ts +0 -1
- package/dist/evaluation/embedding_distance/base.d.ts.map +1 -1
- package/dist/evaluation/embedding_distance/base.js +5 -9
- package/dist/evaluation/embedding_distance/base.js.map +1 -1
- package/dist/evaluation/embedding_distance/index.js +2 -0
- package/dist/evaluation/index.cjs +3 -3
- package/dist/evaluation/index.js +2 -3
- package/dist/evaluation/loader.cjs +3 -3
- package/dist/evaluation/loader.cjs.map +1 -1
- package/dist/evaluation/loader.d.cts.map +1 -1
- package/dist/evaluation/loader.d.ts.map +1 -1
- package/dist/evaluation/loader.js.map +1 -1
- package/dist/evaluation/qa/eval_chain.cjs +1 -2
- package/dist/evaluation/qa/eval_chain.cjs.map +1 -1
- package/dist/evaluation/qa/eval_chain.d.cts.map +1 -1
- package/dist/evaluation/qa/eval_chain.d.ts.map +1 -1
- package/dist/evaluation/qa/eval_chain.js +1 -2
- package/dist/evaluation/qa/eval_chain.js.map +1 -1
- package/dist/evaluation/qa/index.js +2 -0
- package/dist/evaluation/qa/prompt.cjs +3 -3
- package/dist/evaluation/qa/prompt.cjs.map +1 -1
- package/dist/evaluation/qa/prompt.js.map +1 -1
- package/dist/evaluation/types.d.cts.map +1 -1
- package/dist/evaluation/types.d.ts.map +1 -1
- package/dist/experimental/autogpt/agent.cjs +18 -21
- package/dist/experimental/autogpt/agent.cjs.map +1 -1
- package/dist/experimental/autogpt/agent.d.cts +0 -1
- package/dist/experimental/autogpt/agent.d.cts.map +1 -1
- package/dist/experimental/autogpt/agent.d.ts +1 -2
- package/dist/experimental/autogpt/agent.d.ts.map +1 -1
- package/dist/experimental/autogpt/agent.js +12 -15
- package/dist/experimental/autogpt/agent.js.map +1 -1
- package/dist/experimental/autogpt/index.cjs +3 -3
- package/dist/experimental/autogpt/index.js +2 -3
- package/dist/experimental/autogpt/output_parser.cjs +3 -3
- package/dist/experimental/autogpt/output_parser.cjs.map +1 -1
- package/dist/experimental/autogpt/output_parser.d.cts +0 -1
- package/dist/experimental/autogpt/output_parser.d.cts.map +1 -1
- package/dist/experimental/autogpt/output_parser.d.ts +0 -1
- package/dist/experimental/autogpt/output_parser.d.ts.map +1 -1
- package/dist/experimental/autogpt/output_parser.js.map +1 -1
- package/dist/experimental/autogpt/prompt.cjs +13 -18
- package/dist/experimental/autogpt/prompt.cjs.map +1 -1
- package/dist/experimental/autogpt/prompt.d.cts +2 -2
- package/dist/experimental/autogpt/prompt.d.cts.map +1 -1
- package/dist/experimental/autogpt/prompt.d.ts +3 -3
- package/dist/experimental/autogpt/prompt.d.ts.map +1 -1
- package/dist/experimental/autogpt/prompt.js +7 -12
- package/dist/experimental/autogpt/prompt.js.map +1 -1
- package/dist/experimental/autogpt/prompt_generator.cjs +7 -11
- package/dist/experimental/autogpt/prompt_generator.cjs.map +1 -1
- package/dist/experimental/autogpt/prompt_generator.js +3 -7
- package/dist/experimental/autogpt/prompt_generator.js.map +1 -1
- package/dist/experimental/autogpt/schema.d.cts +0 -1
- package/dist/experimental/autogpt/schema.d.cts.map +1 -1
- package/dist/experimental/autogpt/schema.d.ts +0 -1
- package/dist/experimental/autogpt/schema.d.ts.map +1 -1
- package/dist/experimental/babyagi/agent.cjs +16 -20
- package/dist/experimental/babyagi/agent.cjs.map +1 -1
- package/dist/experimental/babyagi/agent.d.cts +0 -1
- package/dist/experimental/babyagi/agent.d.cts.map +1 -1
- package/dist/experimental/babyagi/agent.d.ts +0 -1
- package/dist/experimental/babyagi/agent.d.ts.map +1 -1
- package/dist/experimental/babyagi/agent.js +13 -17
- package/dist/experimental/babyagi/agent.js.map +1 -1
- package/dist/experimental/babyagi/index.cjs +3 -3
- package/dist/experimental/babyagi/index.js +2 -3
- package/dist/experimental/babyagi/task_creation.cjs +11 -13
- package/dist/experimental/babyagi/task_creation.cjs.map +1 -1
- package/dist/experimental/babyagi/task_creation.d.cts.map +1 -1
- package/dist/experimental/babyagi/task_creation.d.ts.map +1 -1
- package/dist/experimental/babyagi/task_creation.js +9 -11
- package/dist/experimental/babyagi/task_creation.js.map +1 -1
- package/dist/experimental/babyagi/task_execution.cjs +10 -12
- package/dist/experimental/babyagi/task_execution.cjs.map +1 -1
- package/dist/experimental/babyagi/task_execution.d.cts.map +1 -1
- package/dist/experimental/babyagi/task_execution.d.ts.map +1 -1
- package/dist/experimental/babyagi/task_execution.js +8 -10
- package/dist/experimental/babyagi/task_execution.js.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.cjs +10 -12
- package/dist/experimental/babyagi/task_prioritization.cjs.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.d.cts.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.d.ts.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.js +8 -10
- package/dist/experimental/babyagi/task_prioritization.js.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/index.cjs +3 -3
- package/dist/experimental/chains/violation_of_expectations/index.js +2 -3
- package/dist/experimental/chains/violation_of_expectations/types.cjs.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.d.cts +0 -1
- package/dist/experimental/chains/violation_of_expectations/types.d.cts.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.d.ts +0 -1
- package/dist/experimental/chains/violation_of_expectations/types.d.ts.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.js.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs +20 -30
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts +0 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts +1 -2
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.js +16 -26
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.js.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs +6 -6
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.cjs +30 -43
- package/dist/experimental/generative_agents/generative_agent.cjs.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.d.cts +0 -1
- package/dist/experimental/generative_agents/generative_agent.d.cts.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.d.ts +0 -1
- package/dist/experimental/generative_agents/generative_agent.d.ts.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.js +23 -36
- package/dist/experimental/generative_agents/generative_agent.js.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.cjs +17 -26
- package/dist/experimental/generative_agents/generative_agent_memory.cjs.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.d.cts.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.d.ts +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.d.ts.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.js +9 -18
- package/dist/experimental/generative_agents/generative_agent_memory.js.map +1 -1
- package/dist/experimental/generative_agents/index.cjs +3 -3
- package/dist/experimental/generative_agents/index.js +2 -3
- package/dist/experimental/masking/index.cjs +3 -3
- package/dist/experimental/masking/index.js +2 -3
- package/dist/experimental/masking/parser.cjs.map +1 -1
- package/dist/experimental/masking/parser.d.cts +0 -1
- package/dist/experimental/masking/parser.d.cts.map +1 -1
- package/dist/experimental/masking/parser.d.ts +0 -1
- package/dist/experimental/masking/parser.d.ts.map +1 -1
- package/dist/experimental/masking/parser.js.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.cjs +1 -2
- package/dist/experimental/masking/regex_masking_transformer.cjs.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.d.cts +0 -1
- package/dist/experimental/masking/regex_masking_transformer.d.cts.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.d.ts +0 -1
- package/dist/experimental/masking/regex_masking_transformer.d.ts.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.js +1 -2
- package/dist/experimental/masking/regex_masking_transformer.js.map +1 -1
- package/dist/experimental/masking/transformer.cjs.map +1 -1
- package/dist/experimental/masking/transformer.d.cts.map +1 -1
- package/dist/experimental/masking/transformer.d.ts.map +1 -1
- package/dist/experimental/masking/transformer.js.map +1 -1
- package/dist/experimental/masking/types.d.cts +0 -1
- package/dist/experimental/masking/types.d.cts.map +1 -1
- package/dist/experimental/masking/types.d.ts +0 -1
- package/dist/experimental/masking/types.d.ts.map +1 -1
- package/dist/experimental/openai_assistant/index.cjs +32 -40
- package/dist/experimental/openai_assistant/index.cjs.map +1 -1
- package/dist/experimental/openai_assistant/index.d.cts.map +1 -1
- package/dist/experimental/openai_assistant/index.d.ts.map +1 -1
- package/dist/experimental/openai_assistant/index.js +21 -30
- package/dist/experimental/openai_assistant/index.js.map +1 -1
- package/dist/experimental/openai_assistant/schema.d.cts.map +1 -1
- package/dist/experimental/openai_assistant/schema.d.ts.map +1 -1
- package/dist/experimental/openai_files/index.cjs +7 -7
- package/dist/experimental/openai_files/index.cjs.map +1 -1
- package/dist/experimental/openai_files/index.d.cts.map +1 -1
- package/dist/experimental/openai_files/index.d.ts.map +1 -1
- package/dist/experimental/openai_files/index.js +2 -3
- package/dist/experimental/openai_files/index.js.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.cjs +3 -5
- package/dist/experimental/plan_and_execute/agent_executor.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.d.cts +0 -1
- package/dist/experimental/plan_and_execute/agent_executor.d.cts.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.d.ts +0 -1
- package/dist/experimental/plan_and_execute/agent_executor.d.ts.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.js +3 -5
- package/dist/experimental/plan_and_execute/agent_executor.js.map +1 -1
- package/dist/experimental/plan_and_execute/base.cjs +1 -2
- package/dist/experimental/plan_and_execute/base.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/base.d.cts +0 -1
- package/dist/experimental/plan_and_execute/base.d.cts.map +1 -1
- package/dist/experimental/plan_and_execute/base.d.ts +0 -1
- package/dist/experimental/plan_and_execute/base.d.ts.map +1 -1
- package/dist/experimental/plan_and_execute/base.js +1 -2
- package/dist/experimental/plan_and_execute/base.js.map +1 -1
- package/dist/experimental/plan_and_execute/index.cjs +3 -3
- package/dist/experimental/plan_and_execute/index.js +2 -3
- package/dist/experimental/plan_and_execute/outputParser.cjs +3 -3
- package/dist/experimental/plan_and_execute/outputParser.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.d.cts +0 -1
- package/dist/experimental/plan_and_execute/outputParser.d.cts.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.d.ts +0 -1
- package/dist/experimental/plan_and_execute/outputParser.d.ts.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.js.map +1 -1
- package/dist/experimental/plan_and_execute/prompt.cjs +3 -3
- package/dist/experimental/plan_and_execute/prompt.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/prompt.js.map +1 -1
- package/dist/experimental/prompts/custom_format.cjs +6 -6
- package/dist/experimental/prompts/custom_format.cjs.map +1 -1
- package/dist/experimental/prompts/custom_format.d.cts.map +1 -1
- package/dist/experimental/prompts/custom_format.d.ts.map +1 -1
- package/dist/experimental/prompts/custom_format.js +3 -4
- package/dist/experimental/prompts/custom_format.js.map +1 -1
- package/dist/experimental/prompts/handlebars.cjs +6 -6
- package/dist/experimental/prompts/handlebars.cjs.map +1 -1
- package/dist/experimental/prompts/handlebars.d.cts.map +1 -1
- package/dist/experimental/prompts/handlebars.d.ts.map +1 -1
- package/dist/experimental/prompts/handlebars.js +3 -5
- package/dist/experimental/prompts/handlebars.js.map +1 -1
- package/dist/hub/base.cjs +2 -5
- package/dist/hub/base.cjs.map +1 -1
- package/dist/hub/base.d.cts +2 -5
- package/dist/hub/base.d.cts.map +1 -1
- package/dist/hub/base.d.ts +2 -5
- package/dist/hub/base.d.ts.map +1 -1
- package/dist/hub/base.js +2 -5
- package/dist/hub/base.js.map +1 -1
- package/dist/hub/index.cjs +2 -2
- package/dist/hub/index.cjs.map +1 -1
- package/dist/hub/index.d.cts +0 -1
- package/dist/hub/index.d.cts.map +1 -1
- package/dist/hub/index.d.ts +0 -1
- package/dist/hub/index.d.ts.map +1 -1
- package/dist/hub/index.js +1 -2
- package/dist/hub/index.js.map +1 -1
- package/dist/hub/node.cjs +7 -13
- package/dist/hub/node.cjs.map +1 -1
- package/dist/hub/node.d.cts +0 -1
- package/dist/hub/node.d.cts.map +1 -1
- package/dist/hub/node.d.ts +0 -1
- package/dist/hub/node.d.ts.map +1 -1
- package/dist/hub/node.js +6 -13
- package/dist/hub/node.js.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/indexes/index.cjs +16 -16
- package/dist/indexes/index.js +2 -3
- package/dist/load/import_constants.cjs.map +1 -1
- package/dist/load/import_constants.js.map +1 -1
- package/dist/load/import_map.cjs +25 -26
- package/dist/load/import_map.cjs.map +1 -1
- package/dist/load/import_map.js +29 -30
- package/dist/load/import_map.js.map +1 -1
- package/dist/load/import_type.d.cts.map +1 -1
- package/dist/load/import_type.d.ts.map +1 -1
- package/dist/load/index.cjs +13 -3
- package/dist/load/index.cjs.map +1 -1
- package/dist/load/index.d.cts +9 -1
- package/dist/load/index.d.cts.map +1 -1
- package/dist/load/index.d.ts +9 -1
- package/dist/load/index.d.ts.map +1 -1
- package/dist/load/index.js +9 -0
- package/dist/load/index.js.map +1 -1
- package/dist/load/map_keys.d.cts.map +1 -1
- package/dist/load/map_keys.d.ts.map +1 -1
- package/dist/load/serializable.cjs +7 -6
- package/dist/load/serializable.js +4 -4
- package/dist/memory/buffer_memory.cjs +4 -8
- package/dist/memory/buffer_memory.cjs.map +1 -1
- package/dist/memory/buffer_memory.d.cts +0 -1
- package/dist/memory/buffer_memory.d.cts.map +1 -1
- package/dist/memory/buffer_memory.d.ts +0 -1
- package/dist/memory/buffer_memory.d.ts.map +1 -1
- package/dist/memory/buffer_memory.js +2 -6
- package/dist/memory/buffer_memory.js.map +1 -1
- package/dist/memory/buffer_token_memory.cjs +6 -10
- package/dist/memory/buffer_token_memory.cjs.map +1 -1
- package/dist/memory/buffer_token_memory.d.cts +0 -1
- package/dist/memory/buffer_token_memory.d.cts.map +1 -1
- package/dist/memory/buffer_token_memory.d.ts +0 -1
- package/dist/memory/buffer_token_memory.d.ts.map +1 -1
- package/dist/memory/buffer_token_memory.js +2 -6
- package/dist/memory/buffer_token_memory.js.map +1 -1
- package/dist/memory/buffer_window_memory.cjs +4 -8
- package/dist/memory/buffer_window_memory.cjs.map +1 -1
- package/dist/memory/buffer_window_memory.d.cts +0 -1
- package/dist/memory/buffer_window_memory.d.cts.map +1 -1
- package/dist/memory/buffer_window_memory.d.ts +0 -1
- package/dist/memory/buffer_window_memory.d.ts.map +1 -1
- package/dist/memory/buffer_window_memory.js +2 -6
- package/dist/memory/buffer_window_memory.js.map +1 -1
- package/dist/memory/chat_memory.cjs +9 -9
- package/dist/memory/chat_memory.cjs.map +1 -1
- package/dist/memory/chat_memory.d.cts +0 -1
- package/dist/memory/chat_memory.d.cts.map +1 -1
- package/dist/memory/chat_memory.d.ts +0 -1
- package/dist/memory/chat_memory.d.ts.map +1 -1
- package/dist/memory/chat_memory.js +2 -3
- package/dist/memory/chat_memory.js.map +1 -1
- package/dist/memory/combined_memory.cjs.map +1 -1
- package/dist/memory/combined_memory.d.cts +0 -1
- package/dist/memory/combined_memory.d.cts.map +1 -1
- package/dist/memory/combined_memory.d.ts +0 -1
- package/dist/memory/combined_memory.d.ts.map +1 -1
- package/dist/memory/combined_memory.js.map +1 -1
- package/dist/memory/entity_memory.cjs +7 -8
- package/dist/memory/entity_memory.cjs.map +1 -1
- package/dist/memory/entity_memory.d.cts +0 -1
- package/dist/memory/entity_memory.d.cts.map +1 -1
- package/dist/memory/entity_memory.d.ts +0 -1
- package/dist/memory/entity_memory.d.ts.map +1 -1
- package/dist/memory/entity_memory.js +1 -2
- package/dist/memory/entity_memory.js.map +1 -1
- package/dist/memory/index.cjs +16 -16
- package/dist/memory/index.js +2 -3
- package/dist/memory/prompt.cjs +6 -6
- package/dist/memory/prompt.cjs.map +1 -1
- package/dist/memory/prompt.d.cts +0 -1
- package/dist/memory/prompt.d.cts.map +1 -1
- package/dist/memory/prompt.d.ts +0 -1
- package/dist/memory/prompt.d.ts.map +1 -1
- package/dist/memory/prompt.js.map +1 -1
- package/dist/memory/stores/entity/base.cjs +3 -3
- package/dist/memory/stores/entity/base.cjs.map +1 -1
- package/dist/memory/stores/entity/base.d.cts +0 -1
- package/dist/memory/stores/entity/base.d.cts.map +1 -1
- package/dist/memory/stores/entity/base.d.ts +0 -1
- package/dist/memory/stores/entity/base.d.ts.map +1 -1
- package/dist/memory/stores/entity/base.js.map +1 -1
- package/dist/memory/stores/entity/in_memory.cjs.map +1 -1
- package/dist/memory/stores/entity/in_memory.js.map +1 -1
- package/dist/memory/summary.cjs +8 -13
- package/dist/memory/summary.cjs.map +1 -1
- package/dist/memory/summary.d.cts +0 -1
- package/dist/memory/summary.d.cts.map +1 -1
- package/dist/memory/summary.d.ts +1 -2
- package/dist/memory/summary.d.ts.map +1 -1
- package/dist/memory/summary.js +4 -9
- package/dist/memory/summary.js.map +1 -1
- package/dist/memory/summary_buffer.cjs +5 -5
- package/dist/memory/summary_buffer.cjs.map +1 -1
- package/dist/memory/summary_buffer.d.cts +0 -1
- package/dist/memory/summary_buffer.d.cts.map +1 -1
- package/dist/memory/summary_buffer.d.ts +0 -1
- package/dist/memory/summary_buffer.d.ts.map +1 -1
- package/dist/memory/summary_buffer.js.map +1 -1
- package/dist/memory/vector_store.cjs +6 -6
- package/dist/memory/vector_store.cjs.map +1 -1
- package/dist/memory/vector_store.d.cts.map +1 -1
- package/dist/memory/vector_store.d.ts.map +1 -1
- package/dist/memory/vector_store.js +1 -1
- package/dist/memory/vector_store.js.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/client.d.cts +1242 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/client.d.cts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/client.d.ts +1242 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/client.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/_runner.d.cts +4 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/_runner.d.ts +4 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluate_comparative.d.cts +2 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluate_comparative.d.ts +2 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluator.d.cts +66 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluator.d.cts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluator.d.ts +66 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluator.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/index.d.cts +4 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/index.d.ts +4 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/string_evaluator.d.cts +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/string_evaluator.d.ts +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/index.d.cts +4 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/index.d.ts +4 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/run_trees.d.cts +145 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/run_trees.d.cts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/run_trees.d.ts +145 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/run_trees.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/schemas.d.cts +411 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/schemas.d.cts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/schemas.d.ts +411 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/schemas.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.cts +8 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.cts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.ts +8 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/types.d.cts +38 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/types.d.cts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/types.d.ts +38 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/types.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.cts +27 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.cts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.ts +27 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/p-queue.d.cts +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/p-queue.d.ts +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/prompt_cache/index.d.cts +129 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/prompt_cache/index.d.cts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/prompt_cache/index.d.ts +129 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/prompt_cache/index.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/evaluation.d.cts +2 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/evaluation.d.ts +2 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/singletons/traceable.d.cts +2 -0
- package/dist/node_modules/.pnpm/langsmith@0.5.3_@opentelemetry_api@1.9.0_openai@5.23.2_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/singletons/traceable.d.ts +2 -0
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.d.cts +1 -0
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.d.ts +1 -0
- package/dist/output_parsers/combining.cjs +4 -4
- package/dist/output_parsers/combining.cjs.map +1 -1
- package/dist/output_parsers/combining.d.cts +0 -1
- package/dist/output_parsers/combining.d.cts.map +1 -1
- package/dist/output_parsers/combining.d.ts +0 -1
- package/dist/output_parsers/combining.d.ts.map +1 -1
- package/dist/output_parsers/combining.js +1 -1
- package/dist/output_parsers/combining.js.map +1 -1
- package/dist/output_parsers/datetime.cjs +4 -4
- package/dist/output_parsers/datetime.cjs.map +1 -1
- package/dist/output_parsers/datetime.d.cts +0 -1
- package/dist/output_parsers/datetime.d.cts.map +1 -1
- package/dist/output_parsers/datetime.d.ts +0 -1
- package/dist/output_parsers/datetime.d.ts.map +1 -1
- package/dist/output_parsers/datetime.js.map +1 -1
- package/dist/output_parsers/expression.cjs +7 -9
- package/dist/output_parsers/expression.cjs.map +1 -1
- package/dist/output_parsers/expression.d.cts.map +1 -1
- package/dist/output_parsers/expression.d.ts.map +1 -1
- package/dist/output_parsers/expression.js +4 -7
- package/dist/output_parsers/expression.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.cjs +1 -2
- package/dist/output_parsers/expression_type_handlers/base.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -1
- package/dist/output_parsers/expression_type_handlers/base.d.cts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -1
- package/dist/output_parsers/expression_type_handlers/base.d.ts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.js +1 -2
- package/dist/output_parsers/expression_type_handlers/base.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.cjs +1 -4
- package/dist/output_parsers/expression_type_handlers/factory.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.js +1 -4
- package/dist/output_parsers/expression_type_handlers/factory.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +1 -2
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +2 -4
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +2 -4
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +1 -2
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +1 -2
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/types.d.cts.map +1 -1
- package/dist/output_parsers/expression_type_handlers/types.d.ts.map +1 -1
- package/dist/output_parsers/fix.cjs +10 -16
- package/dist/output_parsers/fix.cjs.map +1 -1
- package/dist/output_parsers/fix.d.cts.map +1 -1
- package/dist/output_parsers/fix.d.ts.map +1 -1
- package/dist/output_parsers/fix.js +6 -12
- package/dist/output_parsers/fix.js.map +1 -1
- package/dist/output_parsers/http_response.cjs +5 -8
- package/dist/output_parsers/http_response.cjs.map +1 -1
- package/dist/output_parsers/http_response.d.cts.map +1 -1
- package/dist/output_parsers/http_response.d.ts +1 -1
- package/dist/output_parsers/http_response.d.ts.map +1 -1
- package/dist/output_parsers/http_response.js +1 -4
- package/dist/output_parsers/http_response.js.map +1 -1
- package/dist/output_parsers/index.cjs +10 -10
- package/dist/output_parsers/index.js +2 -3
- package/dist/output_parsers/noop.cjs +3 -3
- package/dist/output_parsers/noop.cjs.map +1 -1
- package/dist/output_parsers/noop.js.map +1 -1
- package/dist/output_parsers/openai_functions.cjs +15 -18
- package/dist/output_parsers/openai_functions.cjs.map +1 -1
- package/dist/output_parsers/openai_functions.d.cts +0 -1
- package/dist/output_parsers/openai_functions.d.cts.map +1 -1
- package/dist/output_parsers/openai_functions.d.ts +0 -1
- package/dist/output_parsers/openai_functions.d.ts.map +1 -1
- package/dist/output_parsers/openai_functions.js +6 -9
- package/dist/output_parsers/openai_functions.js.map +1 -1
- package/dist/output_parsers/openai_tools.cjs +5 -6
- package/dist/output_parsers/openai_tools.cjs.map +1 -1
- package/dist/output_parsers/openai_tools.d.cts +4 -9
- package/dist/output_parsers/openai_tools.d.cts.map +1 -1
- package/dist/output_parsers/openai_tools.d.ts +4 -9
- package/dist/output_parsers/openai_tools.d.ts.map +1 -1
- package/dist/output_parsers/openai_tools.js +1 -2
- package/dist/output_parsers/openai_tools.js.map +1 -1
- package/dist/output_parsers/prompts.cjs +3 -3
- package/dist/output_parsers/prompts.cjs.map +1 -1
- package/dist/output_parsers/prompts.js.map +1 -1
- package/dist/output_parsers/regex.cjs +4 -4
- package/dist/output_parsers/regex.cjs.map +1 -1
- package/dist/output_parsers/regex.d.cts.map +1 -1
- package/dist/output_parsers/regex.d.ts.map +1 -1
- package/dist/output_parsers/regex.js.map +1 -1
- package/dist/output_parsers/router.cjs +3 -3
- package/dist/output_parsers/router.cjs.map +1 -1
- package/dist/output_parsers/router.d.cts +0 -1
- package/dist/output_parsers/router.d.cts.map +1 -1
- package/dist/output_parsers/router.d.ts +0 -1
- package/dist/output_parsers/router.d.ts.map +1 -1
- package/dist/output_parsers/router.js.map +1 -1
- package/dist/output_parsers/structured.cjs +19 -20
- package/dist/output_parsers/structured.cjs.map +1 -1
- package/dist/output_parsers/structured.d.cts.map +1 -1
- package/dist/output_parsers/structured.d.ts.map +1 -1
- package/dist/output_parsers/structured.js +6 -7
- package/dist/output_parsers/structured.js.map +1 -1
- package/dist/retrievers/contextual_compression.cjs +6 -7
- package/dist/retrievers/contextual_compression.cjs.map +1 -1
- package/dist/retrievers/contextual_compression.d.cts +0 -1
- package/dist/retrievers/contextual_compression.d.cts.map +1 -1
- package/dist/retrievers/contextual_compression.d.ts +1 -2
- package/dist/retrievers/contextual_compression.d.ts.map +1 -1
- package/dist/retrievers/contextual_compression.js +3 -5
- package/dist/retrievers/contextual_compression.js.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.cjs +16 -19
- package/dist/retrievers/document_compressors/chain_extract.cjs.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.d.cts +0 -1
- package/dist/retrievers/document_compressors/chain_extract.d.cts.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.d.ts +1 -2
- package/dist/retrievers/document_compressors/chain_extract.d.ts.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.js +10 -14
- package/dist/retrievers/document_compressors/chain_extract.js.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract_prompt.js.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.cjs +5 -5
- package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.js +2 -3
- package/dist/retrievers/document_compressors/embeddings_filter.js.map +1 -1
- package/dist/retrievers/document_compressors/index.cjs +3 -3
- package/dist/retrievers/document_compressors/index.cjs.map +1 -1
- package/dist/retrievers/document_compressors/index.d.cts +0 -1
- package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
- package/dist/retrievers/document_compressors/index.d.ts +1 -2
- package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
- package/dist/retrievers/document_compressors/index.js +2 -3
- package/dist/retrievers/document_compressors/index.js.map +1 -1
- package/dist/retrievers/ensemble.cjs +7 -9
- package/dist/retrievers/ensemble.cjs.map +1 -1
- package/dist/retrievers/ensemble.d.cts.map +1 -1
- package/dist/retrievers/ensemble.d.ts +1 -1
- package/dist/retrievers/ensemble.d.ts.map +1 -1
- package/dist/retrievers/ensemble.js +4 -7
- package/dist/retrievers/ensemble.js.map +1 -1
- package/dist/retrievers/hyde.cjs +11 -13
- package/dist/retrievers/hyde.cjs.map +1 -1
- package/dist/retrievers/hyde.d.cts +0 -1
- package/dist/retrievers/hyde.d.cts.map +1 -1
- package/dist/retrievers/hyde.d.ts +1 -2
- package/dist/retrievers/hyde.d.ts.map +1 -1
- package/dist/retrievers/hyde.js +4 -7
- package/dist/retrievers/hyde.js.map +1 -1
- package/dist/retrievers/matryoshka_retriever.cjs +9 -9
- package/dist/retrievers/matryoshka_retriever.cjs.map +1 -1
- package/dist/retrievers/matryoshka_retriever.d.cts +0 -1
- package/dist/retrievers/matryoshka_retriever.d.cts.map +1 -1
- package/dist/retrievers/matryoshka_retriever.d.ts +0 -1
- package/dist/retrievers/matryoshka_retriever.d.ts.map +1 -1
- package/dist/retrievers/matryoshka_retriever.js +2 -3
- package/dist/retrievers/matryoshka_retriever.js.map +1 -1
- package/dist/retrievers/multi_query.cjs +15 -19
- package/dist/retrievers/multi_query.cjs.map +1 -1
- package/dist/retrievers/multi_query.d.cts.map +1 -1
- package/dist/retrievers/multi_query.d.ts +1 -1
- package/dist/retrievers/multi_query.d.ts.map +1 -1
- package/dist/retrievers/multi_query.js +8 -13
- package/dist/retrievers/multi_query.js.map +1 -1
- package/dist/retrievers/multi_vector.cjs +6 -7
- package/dist/retrievers/multi_vector.cjs.map +1 -1
- package/dist/retrievers/multi_vector.d.cts +0 -1
- package/dist/retrievers/multi_vector.d.cts.map +1 -1
- package/dist/retrievers/multi_vector.d.ts +0 -1
- package/dist/retrievers/multi_vector.d.ts.map +1 -1
- package/dist/retrievers/multi_vector.js +3 -5
- package/dist/retrievers/multi_vector.js.map +1 -1
- package/dist/retrievers/parent_document.cjs +8 -9
- package/dist/retrievers/parent_document.cjs.map +1 -1
- package/dist/retrievers/parent_document.d.cts.map +1 -1
- package/dist/retrievers/parent_document.d.ts +1 -1
- package/dist/retrievers/parent_document.d.ts.map +1 -1
- package/dist/retrievers/parent_document.js +4 -7
- package/dist/retrievers/parent_document.js.map +1 -1
- package/dist/retrievers/score_threshold.cjs +6 -7
- package/dist/retrievers/score_threshold.cjs.map +1 -1
- package/dist/retrievers/score_threshold.d.cts.map +1 -1
- package/dist/retrievers/score_threshold.d.ts.map +1 -1
- package/dist/retrievers/score_threshold.js +3 -5
- package/dist/retrievers/score_threshold.js.map +1 -1
- package/dist/retrievers/self_query/functional.cjs +5 -5
- package/dist/retrievers/self_query/functional.js +2 -3
- package/dist/retrievers/self_query/index.cjs +13 -13
- package/dist/retrievers/self_query/index.cjs.map +1 -1
- package/dist/retrievers/self_query/index.d.cts +0 -1
- package/dist/retrievers/self_query/index.d.cts.map +1 -1
- package/dist/retrievers/self_query/index.d.ts +1 -2
- package/dist/retrievers/self_query/index.d.ts.map +1 -1
- package/dist/retrievers/self_query/index.js +3 -4
- package/dist/retrievers/self_query/index.js.map +1 -1
- package/dist/retrievers/time_weighted.cjs +6 -7
- package/dist/retrievers/time_weighted.cjs.map +1 -1
- package/dist/retrievers/time_weighted.d.cts +0 -1
- package/dist/retrievers/time_weighted.d.cts.map +1 -1
- package/dist/retrievers/time_weighted.d.ts +1 -2
- package/dist/retrievers/time_weighted.d.ts.map +1 -1
- package/dist/retrievers/time_weighted.js +3 -5
- package/dist/retrievers/time_weighted.js.map +1 -1
- package/dist/schema/prompt_template.cjs +3 -3
- package/dist/schema/prompt_template.cjs.map +1 -1
- package/dist/schema/prompt_template.d.cts +0 -1
- package/dist/schema/prompt_template.d.cts.map +1 -1
- package/dist/schema/prompt_template.d.ts +1 -2
- package/dist/schema/prompt_template.d.ts.map +1 -1
- package/dist/schema/prompt_template.js +2 -3
- package/dist/schema/prompt_template.js.map +1 -1
- package/dist/schema/query_constructor.cjs +3 -3
- package/dist/schema/query_constructor.cjs.map +1 -1
- package/dist/schema/query_constructor.d.cts.map +1 -1
- package/dist/schema/query_constructor.d.ts.map +1 -1
- package/dist/schema/query_constructor.js +2 -3
- package/dist/schema/query_constructor.js.map +1 -1
- package/dist/smith/config.cjs.map +1 -1
- package/dist/smith/config.d.cts +10 -9
- package/dist/smith/config.d.cts.map +1 -1
- package/dist/smith/config.d.ts +10 -9
- package/dist/smith/config.d.ts.map +1 -1
- package/dist/smith/config.js.map +1 -1
- package/dist/smith/index.cjs +3 -3
- package/dist/smith/index.js +2 -3
- package/dist/smith/name_generation.cjs +1 -4
- package/dist/smith/name_generation.cjs.map +1 -1
- package/dist/smith/name_generation.js +1 -4
- package/dist/smith/name_generation.js.map +1 -1
- package/dist/smith/progress.cjs.map +1 -1
- package/dist/smith/progress.js.map +1 -1
- package/dist/smith/runner_utils.cjs +30 -37
- package/dist/smith/runner_utils.cjs.map +1 -1
- package/dist/smith/runner_utils.d.cts +2 -1
- package/dist/smith/runner_utils.d.cts.map +1 -1
- package/dist/smith/runner_utils.d.ts +2 -1
- package/dist/smith/runner_utils.d.ts.map +1 -1
- package/dist/smith/runner_utils.js +12 -19
- package/dist/smith/runner_utils.js.map +1 -1
- package/dist/sql_db.cjs +5 -5
- package/dist/sql_db.cjs.map +1 -1
- package/dist/sql_db.d.cts +0 -1
- package/dist/sql_db.d.cts.map +1 -1
- package/dist/sql_db.d.ts +0 -1
- package/dist/sql_db.d.ts.map +1 -1
- package/dist/sql_db.js +2 -3
- package/dist/sql_db.js.map +1 -1
- package/dist/storage/encoder_backed.cjs +9 -10
- package/dist/storage/encoder_backed.cjs.map +1 -1
- package/dist/storage/encoder_backed.d.cts +0 -1
- package/dist/storage/encoder_backed.d.cts.map +1 -1
- package/dist/storage/encoder_backed.d.ts +0 -1
- package/dist/storage/encoder_backed.d.ts.map +1 -1
- package/dist/storage/encoder_backed.js +4 -6
- package/dist/storage/encoder_backed.js.map +1 -1
- package/dist/storage/file_system.cjs +12 -11
- package/dist/storage/file_system.cjs.map +1 -1
- package/dist/storage/file_system.d.cts +0 -1
- package/dist/storage/file_system.d.cts.map +1 -1
- package/dist/storage/file_system.d.ts +0 -1
- package/dist/storage/file_system.d.ts.map +1 -1
- package/dist/storage/file_system.js +5 -7
- package/dist/storage/file_system.js.map +1 -1
- package/dist/storage/in_memory.cjs +5 -5
- package/dist/storage/in_memory.js +2 -3
- package/dist/stores/doc/base.cjs +3 -3
- package/dist/stores/doc/base.cjs.map +1 -1
- package/dist/stores/doc/base.d.cts +0 -1
- package/dist/stores/doc/base.d.cts.map +1 -1
- package/dist/stores/doc/base.d.ts +0 -1
- package/dist/stores/doc/base.d.ts.map +1 -1
- package/dist/stores/doc/base.js +2 -3
- package/dist/stores/doc/base.js.map +1 -1
- package/dist/stores/doc/in_memory.cjs +3 -3
- package/dist/stores/doc/in_memory.cjs.map +1 -1
- package/dist/stores/doc/in_memory.d.cts +0 -1
- package/dist/stores/doc/in_memory.d.cts.map +1 -1
- package/dist/stores/doc/in_memory.d.ts +0 -1
- package/dist/stores/doc/in_memory.d.ts.map +1 -1
- package/dist/stores/doc/in_memory.js +2 -3
- package/dist/stores/doc/in_memory.js.map +1 -1
- package/dist/stores/file/base.cjs +3 -3
- package/dist/stores/file/base.cjs.map +1 -1
- package/dist/stores/file/base.d.cts +0 -1
- package/dist/stores/file/base.d.cts.map +1 -1
- package/dist/stores/file/base.d.ts +0 -1
- package/dist/stores/file/base.d.ts.map +1 -1
- package/dist/stores/file/base.js.map +1 -1
- package/dist/stores/file/in_memory.cjs +3 -3
- package/dist/stores/file/in_memory.cjs.map +1 -1
- package/dist/stores/file/in_memory.d.cts +0 -1
- package/dist/stores/file/in_memory.d.cts.map +1 -1
- package/dist/stores/file/in_memory.d.ts +0 -1
- package/dist/stores/file/in_memory.d.ts.map +1 -1
- package/dist/stores/file/in_memory.js +2 -3
- package/dist/stores/file/in_memory.js.map +1 -1
- package/dist/stores/file/node.cjs +7 -6
- package/dist/stores/file/node.cjs.map +1 -1
- package/dist/stores/file/node.d.cts +0 -1
- package/dist/stores/file/node.d.cts.map +1 -1
- package/dist/stores/file/node.d.ts +0 -1
- package/dist/stores/file/node.d.ts.map +1 -1
- package/dist/stores/file/node.js +6 -7
- package/dist/stores/file/node.js.map +1 -1
- package/dist/stores/message/in_memory.cjs +5 -5
- package/dist/stores/message/in_memory.js +2 -3
- package/dist/text_splitter.cjs +7 -6
- package/dist/text_splitter.d.cts +3 -2
- package/dist/text_splitter.d.cts.map +1 -1
- package/dist/text_splitter.d.ts +3 -2
- package/dist/text_splitter.d.ts.map +1 -1
- package/dist/text_splitter.js +4 -4
- package/dist/tools/chain.cjs +6 -6
- package/dist/tools/chain.cjs.map +1 -1
- package/dist/tools/chain.d.cts +0 -1
- package/dist/tools/chain.d.cts.map +1 -1
- package/dist/tools/chain.d.ts +0 -1
- package/dist/tools/chain.d.ts.map +1 -1
- package/dist/tools/chain.js +3 -4
- package/dist/tools/chain.js.map +1 -1
- package/dist/tools/fs.cjs +6 -6
- package/dist/tools/fs.cjs.map +1 -1
- package/dist/tools/fs.d.cts +0 -1
- package/dist/tools/fs.d.cts.map +1 -1
- package/dist/tools/fs.d.ts +0 -1
- package/dist/tools/fs.d.ts.map +1 -1
- package/dist/tools/fs.js +1 -1
- package/dist/tools/fs.js.map +1 -1
- package/dist/tools/index.cjs +13 -13
- package/dist/tools/index.js +2 -3
- package/dist/tools/json.cjs +10 -11
- package/dist/tools/json.cjs.map +1 -1
- package/dist/tools/json.d.cts.map +1 -1
- package/dist/tools/json.d.ts.map +1 -1
- package/dist/tools/json.js +2 -4
- package/dist/tools/json.js.map +1 -1
- package/dist/tools/render.cjs +9 -9
- package/dist/tools/render.cjs.map +1 -1
- package/dist/tools/render.d.cts +0 -1
- package/dist/tools/render.d.cts.map +1 -1
- package/dist/tools/render.d.ts +0 -1
- package/dist/tools/render.d.ts.map +1 -1
- package/dist/tools/render.js +2 -3
- package/dist/tools/render.js.map +1 -1
- package/dist/tools/requests.cjs +7 -11
- package/dist/tools/requests.cjs.map +1 -1
- package/dist/tools/requests.d.cts.map +1 -1
- package/dist/tools/requests.d.ts.map +1 -1
- package/dist/tools/requests.js +3 -7
- package/dist/tools/requests.js.map +1 -1
- package/dist/tools/retriever.cjs +7 -8
- package/dist/tools/retriever.cjs.map +1 -1
- package/dist/tools/retriever.d.cts.map +1 -1
- package/dist/tools/retriever.d.ts.map +1 -1
- package/dist/tools/retriever.js +3 -5
- package/dist/tools/retriever.js.map +1 -1
- package/dist/tools/sql.cjs +11 -12
- package/dist/tools/sql.cjs.map +1 -1
- package/dist/tools/sql.d.cts +0 -1
- package/dist/tools/sql.d.cts.map +1 -1
- package/dist/tools/sql.d.ts +0 -1
- package/dist/tools/sql.d.ts.map +1 -1
- package/dist/tools/sql.js +3 -5
- package/dist/tools/sql.js.map +1 -1
- package/dist/tools/vectorstore.cjs +3 -3
- package/dist/tools/vectorstore.cjs.map +1 -1
- package/dist/tools/vectorstore.d.cts +0 -1
- package/dist/tools/vectorstore.d.cts.map +1 -1
- package/dist/tools/vectorstore.d.ts +0 -1
- package/dist/tools/vectorstore.d.ts.map +1 -1
- package/dist/tools/vectorstore.js.map +1 -1
- package/dist/tools/webbrowser.cjs +18 -23
- package/dist/tools/webbrowser.cjs.map +1 -1
- package/dist/tools/webbrowser.d.cts.map +1 -1
- package/dist/tools/webbrowser.d.ts +1 -1
- package/dist/tools/webbrowser.d.ts.map +1 -1
- package/dist/tools/webbrowser.js +9 -16
- package/dist/tools/webbrowser.js.map +1 -1
- package/dist/types/expression-parser.d.cts.map +1 -1
- package/dist/types/expression-parser.d.ts.map +1 -1
- package/dist/types/type-utils.d.cts.map +1 -1
- package/dist/types/type-utils.d.ts.map +1 -1
- package/dist/util/document.cjs +3 -3
- package/dist/util/document.cjs.map +1 -1
- package/dist/util/document.d.cts +0 -1
- package/dist/util/document.d.cts.map +1 -1
- package/dist/util/document.d.ts +0 -1
- package/dist/util/document.d.ts.map +1 -1
- package/dist/util/document.js +2 -3
- package/dist/util/document.js.map +1 -1
- package/dist/util/entrypoint_deprecation.js +2 -0
- package/dist/util/env.cjs +2 -2
- package/dist/util/env.js +2 -0
- package/dist/util/extname.cjs.map +1 -1
- package/dist/util/extname.js.map +1 -1
- package/dist/util/hub.cjs +9 -11
- package/dist/util/hub.cjs.map +1 -1
- package/dist/util/hub.js +5 -7
- package/dist/util/hub.js.map +1 -1
- package/dist/util/is-network-error/index.cjs +2 -3
- package/dist/util/is-network-error/index.cjs.map +1 -1
- package/dist/util/is-network-error/index.js +2 -3
- package/dist/util/is-network-error/index.js.map +1 -1
- package/dist/util/load.cjs +1 -2
- package/dist/util/load.cjs.map +1 -1
- package/dist/util/load.d.cts.map +1 -1
- package/dist/util/load.d.ts.map +1 -1
- package/dist/util/load.js +1 -2
- package/dist/util/load.js.map +1 -1
- package/dist/util/math.cjs +7 -6
- package/dist/util/math.js +4 -4
- package/dist/util/ml-distance/distances.cjs.map +1 -1
- package/dist/util/ml-distance/distances.js.map +1 -1
- package/dist/util/ml-distance/similarities.cjs.map +1 -1
- package/dist/util/ml-distance/similarities.d.cts.map +1 -1
- package/dist/util/ml-distance/similarities.d.ts.map +1 -1
- package/dist/util/ml-distance/similarities.js.map +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.cjs.map +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.js.map +1 -1
- package/dist/util/openapi.cjs +6 -7
- package/dist/util/openapi.cjs.map +1 -1
- package/dist/util/openapi.d.cts.map +1 -1
- package/dist/util/openapi.d.ts.map +1 -1
- package/dist/util/openapi.js +3 -5
- package/dist/util/openapi.js.map +1 -1
- package/dist/util/p-retry/index.cjs +2 -2
- package/dist/util/p-retry/index.cjs.map +1 -1
- package/dist/util/p-retry/index.js +2 -2
- package/dist/util/p-retry/index.js.map +1 -1
- package/dist/util/parse.cjs +3 -2
- package/dist/util/parse.cjs.map +1 -1
- package/dist/util/parse.js.map +1 -1
- package/dist/util/set.cjs.map +1 -1
- package/dist/util/set.js.map +1 -1
- package/dist/util/sql_utils.cjs +16 -28
- package/dist/util/sql_utils.cjs.map +1 -1
- package/dist/util/sql_utils.d.cts.map +1 -1
- package/dist/util/sql_utils.d.ts.map +1 -1
- package/dist/util/sql_utils.js +16 -28
- package/dist/util/sql_utils.js.map +1 -1
- package/dist/util/time.cjs +3 -3
- package/dist/util/time.cjs.map +1 -1
- package/dist/util/time.d.cts.map +1 -1
- package/dist/util/time.d.ts.map +1 -1
- package/dist/util/time.js +2 -3
- package/dist/util/time.js.map +1 -1
- package/dist/vectorstores/memory.cjs +15 -22
- package/dist/vectorstores/memory.cjs.map +1 -1
- package/dist/vectorstores/memory.d.cts +0 -1
- package/dist/vectorstores/memory.d.cts.map +1 -1
- package/dist/vectorstores/memory.d.ts +0 -1
- package/dist/vectorstores/memory.d.ts.map +1 -1
- package/dist/vectorstores/memory.js +9 -17
- package/dist/vectorstores/memory.js.map +1 -1
- package/package.json +18 -18
- package/dist/_virtual/rolldown_runtime.js +0 -25
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
2
|
const require_base = require('./base.cjs');
|
|
3
3
|
const require_llm_chain = require('./llm_chain.cjs');
|
|
4
|
-
|
|
4
|
+
let _langchain_core_prompts = require("@langchain/core/prompts");
|
|
5
5
|
|
|
6
6
|
//#region src/chains/combine_docs_chain.ts
|
|
7
7
|
/**
|
|
@@ -31,9 +31,8 @@ var StuffDocumentsChain = class StuffDocumentsChain extends require_base.BaseCha
|
|
|
31
31
|
/** @ignore */
|
|
32
32
|
_prepInputs(values) {
|
|
33
33
|
if (!(this.inputKey in values)) throw new Error(`Document key ${this.inputKey} not found.`);
|
|
34
|
-
const { [this.inputKey]: docs
|
|
35
|
-
const
|
|
36
|
-
const text = texts.join("\n\n");
|
|
34
|
+
const { [this.inputKey]: docs, ...rest } = values;
|
|
35
|
+
const text = docs.map(({ pageContent }) => pageContent).join("\n\n");
|
|
37
36
|
return {
|
|
38
37
|
...rest,
|
|
39
38
|
[this.documentVariableName]: text
|
|
@@ -41,8 +40,7 @@ var StuffDocumentsChain = class StuffDocumentsChain extends require_base.BaseCha
|
|
|
41
40
|
}
|
|
42
41
|
/** @ignore */
|
|
43
42
|
async _call(values, runManager) {
|
|
44
|
-
|
|
45
|
-
return result;
|
|
43
|
+
return await this.llmChain.call(this._prepInputs(values), runManager?.getChild("combine_documents"));
|
|
46
44
|
}
|
|
47
45
|
_chainType() {
|
|
48
46
|
return "stuff_documents_chain";
|
|
@@ -95,7 +93,7 @@ var MapReduceDocumentsChain = class MapReduceDocumentsChain extends require_base
|
|
|
95
93
|
/** @ignore */
|
|
96
94
|
async _call(values, runManager) {
|
|
97
95
|
if (!(this.inputKey in values)) throw new Error(`Document key ${this.inputKey} not found.`);
|
|
98
|
-
const { [this.inputKey]: docs
|
|
96
|
+
const { [this.inputKey]: docs, ...rest } = values;
|
|
99
97
|
let currentDocs = docs;
|
|
100
98
|
let intermediateSteps = [];
|
|
101
99
|
for (let i = 0; i < this.maxIterations; i += 1) {
|
|
@@ -103,17 +101,14 @@ var MapReduceDocumentsChain = class MapReduceDocumentsChain extends require_base
|
|
|
103
101
|
[this.documentVariableName]: d.pageContent,
|
|
104
102
|
...rest
|
|
105
103
|
}));
|
|
106
|
-
|
|
107
|
-
if (canSkipMapStep) {
|
|
104
|
+
if (i !== 0 || !this.ensureMapStep) {
|
|
108
105
|
const formatted = await this.combineDocumentChain.llmChain.prompt.format(this.combineDocumentChain._prepInputs({
|
|
109
106
|
[this.combineDocumentChain.inputKey]: currentDocs,
|
|
110
107
|
...rest
|
|
111
108
|
}));
|
|
112
|
-
|
|
113
|
-
const withinTokenLimit = length < this.maxTokens;
|
|
114
|
-
if (withinTokenLimit) break;
|
|
109
|
+
if (await this.combineDocumentChain.llmChain._getNumTokens(formatted) < this.maxTokens) break;
|
|
115
110
|
}
|
|
116
|
-
const results = await this.llmChain.apply(inputs, runManager ? Array.from({ length: inputs.length }, (_, i
|
|
111
|
+
const results = await this.llmChain.apply(inputs, runManager ? Array.from({ length: inputs.length }, (_, i) => runManager.getChild(`map_${i + 1}`)) : void 0);
|
|
117
112
|
const { outputKey } = this.llmChain;
|
|
118
113
|
if (this.returnIntermediateSteps) intermediateSteps = intermediateSteps.concat(results.map((r) => r[outputKey]));
|
|
119
114
|
currentDocs = results.map((r) => ({
|
|
@@ -167,7 +162,7 @@ var RefineDocumentsChain = class RefineDocumentsChain extends require_base.BaseC
|
|
|
167
162
|
initialResponseName = "existing_answer";
|
|
168
163
|
refineLLMChain;
|
|
169
164
|
get defaultDocumentPrompt() {
|
|
170
|
-
return new
|
|
165
|
+
return new _langchain_core_prompts.PromptTemplate({
|
|
171
166
|
inputVariables: ["page_content"],
|
|
172
167
|
template: "{page_content}"
|
|
173
168
|
});
|
|
@@ -203,12 +198,10 @@ var RefineDocumentsChain = class RefineDocumentsChain extends require_base.BaseC
|
|
|
203
198
|
this.documentPrompt.inputVariables.forEach((value) => {
|
|
204
199
|
documentInfo[value] = baseInfo[value];
|
|
205
200
|
});
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
...baseInputs,
|
|
201
|
+
return {
|
|
202
|
+
[this.documentVariableName]: await this.documentPrompt.format({ ...documentInfo }),
|
|
209
203
|
...rest
|
|
210
204
|
};
|
|
211
|
-
return inputs;
|
|
212
205
|
}
|
|
213
206
|
/** @ignore */
|
|
214
207
|
async _constructRefineInputs(doc, res) {
|
|
@@ -221,24 +214,22 @@ var RefineDocumentsChain = class RefineDocumentsChain extends require_base.BaseC
|
|
|
221
214
|
documentInfo[value] = baseInfo[value];
|
|
222
215
|
});
|
|
223
216
|
const baseInputs = { [this.documentVariableName]: await this.documentPrompt.format({ ...documentInfo }) };
|
|
224
|
-
|
|
217
|
+
return {
|
|
225
218
|
[this.initialResponseName]: res,
|
|
226
219
|
...baseInputs
|
|
227
220
|
};
|
|
228
|
-
return inputs;
|
|
229
221
|
}
|
|
230
222
|
/** @ignore */
|
|
231
223
|
async _call(values, runManager) {
|
|
232
224
|
if (!(this.inputKey in values)) throw new Error(`Document key ${this.inputKey} not found.`);
|
|
233
|
-
const { [this.inputKey]: docs
|
|
225
|
+
const { [this.inputKey]: docs, ...rest } = values;
|
|
234
226
|
const currentDocs = docs;
|
|
235
227
|
const initialInputs = await this._constructInitialInputs(currentDocs[0], rest);
|
|
236
228
|
let res = await this.llmChain.predict({ ...initialInputs }, runManager?.getChild("answer"));
|
|
237
229
|
const refineSteps = [res];
|
|
238
230
|
for (let i = 1; i < currentDocs.length; i += 1) {
|
|
239
|
-
const refineInputs = await this._constructRefineInputs(currentDocs[i], res);
|
|
240
231
|
const inputs = {
|
|
241
|
-
...
|
|
232
|
+
...await this._constructRefineInputs(currentDocs[i], res),
|
|
242
233
|
...rest
|
|
243
234
|
};
|
|
244
235
|
res = await this.refineLLMChain.predict({ ...inputs }, runManager?.getChild("refine"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine_docs_chain.cjs","names":["BaseChain","fields: StuffDocumentsChainInput","values: ChainValues","runManager?: CallbackManagerForChainRun","data: SerializedStuffDocumentsChain","LLMChain","fields: MapReduceDocumentsChainInput","intermediateSteps: string[]","i","data: SerializedMapReduceDocumentsChain","PromptTemplate","fields: RefineDocumentsChainInput","doc: Document","rest: Record<string, unknown>","baseInfo: Record<string, unknown>","documentInfo: Record<string, unknown>","baseInputs: Record<string, unknown>","res: string","data: SerializedRefineDocumentsChain"],"sources":["../../src/chains/combine_docs_chain.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport type {\n SerializedStuffDocumentsChain,\n SerializedMapReduceDocumentsChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\n\n/**\n * Interface for the input properties of the StuffDocumentsChain class.\n */\nexport interface StuffDocumentsChainInput extends ChainInputs {\n /** LLM Wrapper to use after formatting documents */\n llmChain: LLMChain;\n inputKey?: string;\n /** Variable name in the LLM chain to put the documents in */\n documentVariableName?: string;\n}\n\n/**\n * Chain that combines documents by stuffing into context.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class StuffDocumentsChain\n extends BaseChain\n implements StuffDocumentsChainInput\n{\n static lc_name() {\n return \"StuffDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n get inputKeys() {\n return [this.inputKey, ...this.llmChain.inputKeys].filter(\n (key) => key !== this.documentVariableName\n );\n }\n\n get outputKeys() {\n return this.llmChain.outputKeys;\n }\n\n constructor(fields: StuffDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n }\n\n /** @ignore */\n _prepInputs(values: ChainValues): ChainValues {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n const texts = (docs as Document[]).map(({ pageContent }) => pageContent);\n const text = texts.join(\"\\n\\n\");\n return {\n ...rest,\n [this.documentVariableName]: text,\n };\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const result = await this.llmChain.call(\n this._prepInputs(values),\n runManager?.getChild(\"combine_documents\")\n );\n return result;\n }\n\n _chainType() {\n return \"stuff_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedStuffDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n return new StuffDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n });\n }\n\n serialize(): SerializedStuffDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the MapReduceDocumentsChain\n * class.\n */\nexport interface MapReduceDocumentsChainInput extends StuffDocumentsChainInput {\n /** The maximum number of tokens before requiring to do the reduction */\n maxTokens?: number;\n /** The maximum number of iterations to run through the map */\n maxIterations?: number;\n /** Ensures that the map step is taken regardless of max tokens */\n ensureMapStep?: boolean;\n /** Chain to use to combine results of applying llm_chain to documents. */\n combineDocumentChain: StuffDocumentsChain;\n /** Return the results of the map steps in the output. */\n returnIntermediateSteps?: boolean;\n}\n\n/**\n * Combine documents by mapping a chain over them, then combining results.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class MapReduceDocumentsChain\n extends BaseChain\n implements MapReduceDocumentsChainInput\n{\n static lc_name() {\n return \"MapReduceDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n returnIntermediateSteps = false;\n\n get inputKeys() {\n return [this.inputKey, ...this.combineDocumentChain.inputKeys];\n }\n\n get outputKeys() {\n return this.combineDocumentChain.outputKeys;\n }\n\n maxTokens = 3000;\n\n maxIterations = 10;\n\n ensureMapStep = false;\n\n combineDocumentChain: StuffDocumentsChain;\n\n constructor(fields: MapReduceDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.combineDocumentChain = fields.combineDocumentChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.ensureMapStep = fields.ensureMapStep ?? this.ensureMapStep;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.maxTokens = fields.maxTokens ?? this.maxTokens;\n this.maxIterations = fields.maxIterations ?? this.maxIterations;\n this.returnIntermediateSteps = fields.returnIntermediateSteps ?? false;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n let currentDocs = docs as Document[];\n let intermediateSteps: string[] = [];\n\n // For each iteration, we'll use the `llmChain` to get a new result\n for (let i = 0; i < this.maxIterations; i += 1) {\n const inputs = currentDocs.map((d) => ({\n [this.documentVariableName]: d.pageContent,\n ...rest,\n }));\n\n const canSkipMapStep = i !== 0 || !this.ensureMapStep;\n if (canSkipMapStep) {\n // Calculate the total tokens required in the input\n const formatted =\n await this.combineDocumentChain.llmChain.prompt.format(\n this.combineDocumentChain._prepInputs({\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n })\n );\n const length =\n await this.combineDocumentChain.llmChain._getNumTokens(formatted);\n\n const withinTokenLimit = length < this.maxTokens;\n // If we can skip the map step, and we're within the token limit, we don't\n // need to run the map step, so just break out of the loop.\n if (withinTokenLimit) {\n break;\n }\n }\n\n const results = await this.llmChain.apply(\n inputs,\n // If we have a runManager, then we need to create a child for each input\n // so that we can track the progress of each input.\n runManager\n ? Array.from({ length: inputs.length }, (_, i) =>\n runManager.getChild(`map_${i + 1}`)\n )\n : undefined\n );\n const { outputKey } = this.llmChain;\n\n // If the flag is set, then concat that to the intermediate steps\n if (this.returnIntermediateSteps) {\n intermediateSteps = intermediateSteps.concat(\n results.map((r) => r[outputKey])\n );\n }\n\n currentDocs = results.map((r) => ({\n pageContent: r[outputKey],\n metadata: {},\n }));\n }\n\n // Now, with the final result of all the inputs from the `llmChain`, we can\n // run the `combineDocumentChain` over them.\n const newInputs = {\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n };\n const result = await this.combineDocumentChain.call(\n newInputs,\n runManager?.getChild(\"combine_documents\")\n );\n\n // Return the intermediate steps results if the flag is set\n if (this.returnIntermediateSteps) {\n return { ...result, intermediateSteps };\n }\n return result;\n }\n\n _chainType() {\n return \"map_reduce_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedMapReduceDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n if (!data.combine_document_chain) {\n throw new Error(\"Missing combine_document_chain\");\n }\n\n return new MapReduceDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n combineDocumentChain: await StuffDocumentsChain.deserialize(\n data.combine_document_chain\n ),\n });\n }\n\n serialize(): SerializedMapReduceDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n combine_document_chain: this.combineDocumentChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the RefineDocumentsChain class.\n */\nexport interface RefineDocumentsChainInput extends StuffDocumentsChainInput {\n refineLLMChain: LLMChain;\n documentPrompt?: BasePromptTemplate;\n initialResponseName?: string;\n documentVariableName?: string;\n outputKey?: string;\n}\n\n/**\n * Combine documents by doing a first pass and then refining on more documents.\n * @augments BaseChain\n * @augments RefineDocumentsChainInput\n */\nexport class RefineDocumentsChain\n extends BaseChain\n implements RefineDocumentsChainInput\n{\n static lc_name() {\n return \"RefineDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n outputKey = \"output_text\";\n\n documentVariableName = \"context\";\n\n initialResponseName = \"existing_answer\";\n\n refineLLMChain: LLMChain;\n\n get defaultDocumentPrompt(): BasePromptTemplate {\n return new PromptTemplate({\n inputVariables: [\"page_content\"],\n template: \"{page_content}\",\n });\n }\n\n documentPrompt = this.defaultDocumentPrompt;\n\n get inputKeys() {\n return [\n ...new Set([\n this.inputKey,\n ...this.llmChain.inputKeys,\n ...this.refineLLMChain.inputKeys,\n ]),\n ].filter(\n (key) =>\n key !== this.documentVariableName && key !== this.initialResponseName\n );\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n constructor(fields: RefineDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.refineLLMChain = fields.refineLLMChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.documentPrompt = fields.documentPrompt ?? this.documentPrompt;\n this.initialResponseName =\n fields.initialResponseName ?? this.initialResponseName;\n }\n\n /** @ignore */\n async _constructInitialInputs(doc: Document, rest: Record<string, unknown>) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { ...baseInputs, ...rest };\n return inputs;\n }\n\n /** @ignore */\n async _constructRefineInputs(doc: Document, res: string) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { [this.initialResponseName]: res, ...baseInputs };\n return inputs;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n const currentDocs = docs as Document[];\n\n const initialInputs = await this._constructInitialInputs(\n currentDocs[0],\n rest\n );\n let res = await this.llmChain.predict(\n { ...initialInputs },\n runManager?.getChild(\"answer\")\n );\n\n const refineSteps = [res];\n\n for (let i = 1; i < currentDocs.length; i += 1) {\n const refineInputs = await this._constructRefineInputs(\n currentDocs[i],\n res\n );\n const inputs = { ...refineInputs, ...rest };\n res = await this.refineLLMChain.predict(\n { ...inputs },\n runManager?.getChild(\"refine\")\n );\n refineSteps.push(res);\n }\n\n return { [this.outputKey]: res };\n }\n\n _chainType() {\n return \"refine_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedRefineDocumentsChain) {\n const SerializedLLMChain = data.llm_chain;\n\n if (!SerializedLLMChain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n const SerializedRefineDocumentChain = data.refine_llm_chain;\n\n if (!SerializedRefineDocumentChain) {\n throw new Error(\"Missing refine_llm_chain\");\n }\n\n return new RefineDocumentsChain({\n llmChain: await LLMChain.deserialize(SerializedLLMChain),\n refineLLMChain: await LLMChain.deserialize(SerializedRefineDocumentChain),\n });\n }\n\n serialize(): SerializedRefineDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n refine_llm_chain: this.refineLLMChain.serialize(),\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combine_docs_chain.cjs","names":["BaseChain","LLMChain","PromptTemplate"],"sources":["../../src/chains/combine_docs_chain.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport type {\n SerializedStuffDocumentsChain,\n SerializedMapReduceDocumentsChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\n\n/**\n * Interface for the input properties of the StuffDocumentsChain class.\n */\nexport interface StuffDocumentsChainInput extends ChainInputs {\n /** LLM Wrapper to use after formatting documents */\n llmChain: LLMChain;\n inputKey?: string;\n /** Variable name in the LLM chain to put the documents in */\n documentVariableName?: string;\n}\n\n/**\n * Chain that combines documents by stuffing into context.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class StuffDocumentsChain\n extends BaseChain\n implements StuffDocumentsChainInput\n{\n static lc_name() {\n return \"StuffDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n get inputKeys() {\n return [this.inputKey, ...this.llmChain.inputKeys].filter(\n (key) => key !== this.documentVariableName\n );\n }\n\n get outputKeys() {\n return this.llmChain.outputKeys;\n }\n\n constructor(fields: StuffDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n }\n\n /** @ignore */\n _prepInputs(values: ChainValues): ChainValues {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n const texts = (docs as Document[]).map(({ pageContent }) => pageContent);\n const text = texts.join(\"\\n\\n\");\n return {\n ...rest,\n [this.documentVariableName]: text,\n };\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const result = await this.llmChain.call(\n this._prepInputs(values),\n runManager?.getChild(\"combine_documents\")\n );\n return result;\n }\n\n _chainType() {\n return \"stuff_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedStuffDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n return new StuffDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n });\n }\n\n serialize(): SerializedStuffDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the MapReduceDocumentsChain\n * class.\n */\nexport interface MapReduceDocumentsChainInput extends StuffDocumentsChainInput {\n /** The maximum number of tokens before requiring to do the reduction */\n maxTokens?: number;\n /** The maximum number of iterations to run through the map */\n maxIterations?: number;\n /** Ensures that the map step is taken regardless of max tokens */\n ensureMapStep?: boolean;\n /** Chain to use to combine results of applying llm_chain to documents. */\n combineDocumentChain: StuffDocumentsChain;\n /** Return the results of the map steps in the output. */\n returnIntermediateSteps?: boolean;\n}\n\n/**\n * Combine documents by mapping a chain over them, then combining results.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class MapReduceDocumentsChain\n extends BaseChain\n implements MapReduceDocumentsChainInput\n{\n static lc_name() {\n return \"MapReduceDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n returnIntermediateSteps = false;\n\n get inputKeys() {\n return [this.inputKey, ...this.combineDocumentChain.inputKeys];\n }\n\n get outputKeys() {\n return this.combineDocumentChain.outputKeys;\n }\n\n maxTokens = 3000;\n\n maxIterations = 10;\n\n ensureMapStep = false;\n\n combineDocumentChain: StuffDocumentsChain;\n\n constructor(fields: MapReduceDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.combineDocumentChain = fields.combineDocumentChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.ensureMapStep = fields.ensureMapStep ?? this.ensureMapStep;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.maxTokens = fields.maxTokens ?? this.maxTokens;\n this.maxIterations = fields.maxIterations ?? this.maxIterations;\n this.returnIntermediateSteps = fields.returnIntermediateSteps ?? false;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n let currentDocs = docs as Document[];\n let intermediateSteps: string[] = [];\n\n // For each iteration, we'll use the `llmChain` to get a new result\n for (let i = 0; i < this.maxIterations; i += 1) {\n const inputs = currentDocs.map((d) => ({\n [this.documentVariableName]: d.pageContent,\n ...rest,\n }));\n\n const canSkipMapStep = i !== 0 || !this.ensureMapStep;\n if (canSkipMapStep) {\n // Calculate the total tokens required in the input\n const formatted =\n await this.combineDocumentChain.llmChain.prompt.format(\n this.combineDocumentChain._prepInputs({\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n })\n );\n const length =\n await this.combineDocumentChain.llmChain._getNumTokens(formatted);\n\n const withinTokenLimit = length < this.maxTokens;\n // If we can skip the map step, and we're within the token limit, we don't\n // need to run the map step, so just break out of the loop.\n if (withinTokenLimit) {\n break;\n }\n }\n\n const results = await this.llmChain.apply(\n inputs,\n // If we have a runManager, then we need to create a child for each input\n // so that we can track the progress of each input.\n runManager\n ? Array.from({ length: inputs.length }, (_, i) =>\n runManager.getChild(`map_${i + 1}`)\n )\n : undefined\n );\n const { outputKey } = this.llmChain;\n\n // If the flag is set, then concat that to the intermediate steps\n if (this.returnIntermediateSteps) {\n intermediateSteps = intermediateSteps.concat(\n results.map((r) => r[outputKey])\n );\n }\n\n currentDocs = results.map((r) => ({\n pageContent: r[outputKey],\n metadata: {},\n }));\n }\n\n // Now, with the final result of all the inputs from the `llmChain`, we can\n // run the `combineDocumentChain` over them.\n const newInputs = {\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n };\n const result = await this.combineDocumentChain.call(\n newInputs,\n runManager?.getChild(\"combine_documents\")\n );\n\n // Return the intermediate steps results if the flag is set\n if (this.returnIntermediateSteps) {\n return { ...result, intermediateSteps };\n }\n return result;\n }\n\n _chainType() {\n return \"map_reduce_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedMapReduceDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n if (!data.combine_document_chain) {\n throw new Error(\"Missing combine_document_chain\");\n }\n\n return new MapReduceDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n combineDocumentChain: await StuffDocumentsChain.deserialize(\n data.combine_document_chain\n ),\n });\n }\n\n serialize(): SerializedMapReduceDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n combine_document_chain: this.combineDocumentChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the RefineDocumentsChain class.\n */\nexport interface RefineDocumentsChainInput extends StuffDocumentsChainInput {\n refineLLMChain: LLMChain;\n documentPrompt?: BasePromptTemplate;\n initialResponseName?: string;\n documentVariableName?: string;\n outputKey?: string;\n}\n\n/**\n * Combine documents by doing a first pass and then refining on more documents.\n * @augments BaseChain\n * @augments RefineDocumentsChainInput\n */\nexport class RefineDocumentsChain\n extends BaseChain\n implements RefineDocumentsChainInput\n{\n static lc_name() {\n return \"RefineDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n outputKey = \"output_text\";\n\n documentVariableName = \"context\";\n\n initialResponseName = \"existing_answer\";\n\n refineLLMChain: LLMChain;\n\n get defaultDocumentPrompt(): BasePromptTemplate {\n return new PromptTemplate({\n inputVariables: [\"page_content\"],\n template: \"{page_content}\",\n });\n }\n\n documentPrompt = this.defaultDocumentPrompt;\n\n get inputKeys() {\n return [\n ...new Set([\n this.inputKey,\n ...this.llmChain.inputKeys,\n ...this.refineLLMChain.inputKeys,\n ]),\n ].filter(\n (key) =>\n key !== this.documentVariableName && key !== this.initialResponseName\n );\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n constructor(fields: RefineDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.refineLLMChain = fields.refineLLMChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.documentPrompt = fields.documentPrompt ?? this.documentPrompt;\n this.initialResponseName =\n fields.initialResponseName ?? this.initialResponseName;\n }\n\n /** @ignore */\n async _constructInitialInputs(doc: Document, rest: Record<string, unknown>) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { ...baseInputs, ...rest };\n return inputs;\n }\n\n /** @ignore */\n async _constructRefineInputs(doc: Document, res: string) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { [this.initialResponseName]: res, ...baseInputs };\n return inputs;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n const currentDocs = docs as Document[];\n\n const initialInputs = await this._constructInitialInputs(\n currentDocs[0],\n rest\n );\n let res = await this.llmChain.predict(\n { ...initialInputs },\n runManager?.getChild(\"answer\")\n );\n\n const refineSteps = [res];\n\n for (let i = 1; i < currentDocs.length; i += 1) {\n const refineInputs = await this._constructRefineInputs(\n currentDocs[i],\n res\n );\n const inputs = { ...refineInputs, ...rest };\n res = await this.refineLLMChain.predict(\n { ...inputs },\n runManager?.getChild(\"refine\")\n );\n refineSteps.push(res);\n }\n\n return { [this.outputKey]: res };\n }\n\n _chainType() {\n return \"refine_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedRefineDocumentsChain) {\n const SerializedLLMChain = data.llm_chain;\n\n if (!SerializedLLMChain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n const SerializedRefineDocumentChain = data.refine_llm_chain;\n\n if (!SerializedRefineDocumentChain) {\n throw new Error(\"Missing refine_llm_chain\");\n }\n\n return new RefineDocumentsChain({\n llmChain: await LLMChain.deserialize(SerializedLLMChain),\n refineLLMChain: await LLMChain.deserialize(SerializedRefineDocumentChain),\n });\n }\n\n serialize(): SerializedRefineDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n refine_llm_chain: this.refineLLMChain.serialize(),\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine_docs_chain.d.cts","names":[
|
|
1
|
+
{"version":3,"file":"combine_docs_chain.d.cts","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"mappings":";;;;;;;;;;;;;UAeiB,wBAAA,SAAiC,WAAA;EAAR;EAExC,QAAA,EAAU,QAAA;EACV,QAAA;EAHgD;EAKhD,oBAAA;AAAA;;;;;AAQF;cAAa,mBAAA,SACH,SAAA,YACG,wBAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,oBAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAMA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,wBAAA;EA0BT;EAjBX,WAAA,CAAY,MAAA,EAAQ,WAAA,GAAc,WAAA;EA6BH;EAfzB,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAQX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,6BAAA,GAA6B,OAAA,CAAA,mBAAA;EAU5D,SAAA,CAAA,GAAa,6BAAA;AAAA;;;;;UAYE,4BAAA,SAAqC,wBAAA;EA5EpD;EA8EA,SAAA;EA5EA;EA8EA,aAAA;EA1EI;EA4EJ,aAAA;EAlEA;EAoEA,oBAAA,EAAsB,mBAAA;EApEV;EAsEZ,uBAAA;AAAA;;;;;;cAQW,uBAAA,SACH,SAAA,YACG,4BAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,oBAAA;EAEA,uBAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIJ,SAAA;EAEA,aAAA;EAEA,aAAA;EAEA,oBAAA,EAAsB,mBAAA;EAEtB,WAAA,CAAY,MAAA,EAAQ,4BAAA;EA9DsB;EA4EpC,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAgFX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,iCAAA,GAAiC,OAAA,CAAA,uBAAA;EAiBhE,SAAA,CAAA,GAAa,iCAAA;AAAA;;;;UAYE,yBAAA,SAAkC,wBAAA;EACjD,cAAA,EAAgB,QAAA;EAChB,cAAA,GAAiB,kBAAA;EACjB,mBAAA;EACA,oBAAA;EACA,SAAA;AAAA;;;;;;cAQW,oBAAA,SACH,SAAA,YACG,yBAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,SAAA;EAEA,oBAAA;EAEA,mBAAA;EAEA,cAAA,EAAgB,QAAA;EAAA,IAEZ,qBAAA,CAAA,GAAyB,kBAAA;EAO7B,cAAA,EAAc,kBAAA,MAPiC,8BAAA,CAOjC,wBAAA;EAAA,IAEV,SAAA,CAAA;EAAA,IAaA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,yBAAA;EAzNb;EAuOD,uBAAA,CAAwB,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,MAAA,oBAAuB,OAAA;IAAA;;EA/N1E;EAmPM,sBAAA,CAAuB,GAAA,EAAK,QAAA,EAAU,GAAA,WAAW,OAAA;IAAA;;EAvOvD;EA0PM,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAmCX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,8BAAA,GAA8B,OAAA,CAAA,oBAAA;EAmB7D,SAAA,CAAA,GAAa,8BAAA;AAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { SerializedMapReduceDocumentsChain, SerializedRefineDocumentsChain, SerializedStuffDocumentsChain } from "./serde.js";
|
|
2
2
|
import { BaseChain, ChainInputs } from "./base.js";
|
|
3
3
|
import { LLMChain } from "./llm_chain.js";
|
|
4
|
-
import { Document } from "@langchain/core/documents";
|
|
5
4
|
import { BasePromptTemplate } from "@langchain/core/prompts";
|
|
6
5
|
import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
|
|
7
6
|
import { ChainValues } from "@langchain/core/utils/types";
|
|
7
|
+
import { Document } from "@langchain/core/documents";
|
|
8
8
|
import * as _langchain_core_prompt_values0 from "@langchain/core/prompt_values";
|
|
9
9
|
|
|
10
10
|
//#region src/chains/combine_docs_chain.d.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine_docs_chain.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"combine_docs_chain.d.ts","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"mappings":";;;;;;;;;;;;;UAeiB,wBAAA,SAAiC,WAAA;EAAR;EAExC,QAAA,EAAU,QAAA;EACV,QAAA;EAHgD;EAKhD,oBAAA;AAAA;;;;;AAQF;cAAa,mBAAA,SACH,SAAA,YACG,wBAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,oBAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAMA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,wBAAA;EA0BT;EAjBX,WAAA,CAAY,MAAA,EAAQ,WAAA,GAAc,WAAA;EA6BH;EAfzB,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAQX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,6BAAA,GAA6B,OAAA,CAAA,mBAAA;EAU5D,SAAA,CAAA,GAAa,6BAAA;AAAA;;;;;UAYE,4BAAA,SAAqC,wBAAA;EA5EpD;EA8EA,SAAA;EA5EA;EA8EA,aAAA;EA1EI;EA4EJ,aAAA;EAlEA;EAoEA,oBAAA,EAAsB,mBAAA;EApEV;EAsEZ,uBAAA;AAAA;;;;;;cAQW,uBAAA,SACH,SAAA,YACG,4BAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,oBAAA;EAEA,uBAAA;EAAA,IAEI,SAAA,CAAA;EAAA,IAIA,UAAA,CAAA;EAIJ,SAAA;EAEA,aAAA;EAEA,aAAA;EAEA,oBAAA,EAAsB,mBAAA;EAEtB,WAAA,CAAY,MAAA,EAAQ,4BAAA;EA9DsB;EA4EpC,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAgFX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,iCAAA,GAAiC,OAAA,CAAA,uBAAA;EAiBhE,SAAA,CAAA,GAAa,iCAAA;AAAA;;;;UAYE,yBAAA,SAAkC,wBAAA;EACjD,cAAA,EAAgB,QAAA;EAChB,cAAA,GAAiB,kBAAA;EACjB,mBAAA;EACA,oBAAA;EACA,SAAA;AAAA;;;;;;cAQW,oBAAA,SACH,SAAA,YACG,yBAAA;EAAA,OAEJ,OAAA,CAAA;EAIP,QAAA,EAAU,QAAA;EAEV,QAAA;EAEA,SAAA;EAEA,oBAAA;EAEA,mBAAA;EAEA,cAAA,EAAgB,QAAA;EAAA,IAEZ,qBAAA,CAAA,GAAyB,kBAAA;EAO7B,cAAA,EAAc,kBAAA,MAPiC,8BAAA,CAOjC,wBAAA;EAAA,IAEV,SAAA,CAAA;EAAA,IAaA,UAAA,CAAA;EAIJ,WAAA,CAAY,MAAA,EAAQ,yBAAA;EAzNb;EAuOD,uBAAA,CAAwB,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,MAAA,oBAAuB,OAAA;IAAA;;EA/N1E;EAmPM,sBAAA,CAAuB,GAAA,EAAK,QAAA,EAAU,GAAA,WAAW,OAAA;IAAA;;EAvOvD;EA0PM,KAAA,CACJ,MAAA,EAAQ,WAAA,EACR,UAAA,GAAa,0BAAA,GACZ,OAAA,CAAQ,WAAA;EAmCX,UAAA,CAAA;EAAA,OAIa,WAAA,CAAY,IAAA,EAAM,8BAAA,GAA8B,OAAA,CAAA,oBAAA;EAmB7D,SAAA,CAAA,GAAa,8BAAA;AAAA"}
|
|
@@ -30,9 +30,8 @@ var StuffDocumentsChain = class StuffDocumentsChain extends BaseChain {
|
|
|
30
30
|
/** @ignore */
|
|
31
31
|
_prepInputs(values) {
|
|
32
32
|
if (!(this.inputKey in values)) throw new Error(`Document key ${this.inputKey} not found.`);
|
|
33
|
-
const { [this.inputKey]: docs
|
|
34
|
-
const
|
|
35
|
-
const text = texts.join("\n\n");
|
|
33
|
+
const { [this.inputKey]: docs, ...rest } = values;
|
|
34
|
+
const text = docs.map(({ pageContent }) => pageContent).join("\n\n");
|
|
36
35
|
return {
|
|
37
36
|
...rest,
|
|
38
37
|
[this.documentVariableName]: text
|
|
@@ -40,8 +39,7 @@ var StuffDocumentsChain = class StuffDocumentsChain extends BaseChain {
|
|
|
40
39
|
}
|
|
41
40
|
/** @ignore */
|
|
42
41
|
async _call(values, runManager) {
|
|
43
|
-
|
|
44
|
-
return result;
|
|
42
|
+
return await this.llmChain.call(this._prepInputs(values), runManager?.getChild("combine_documents"));
|
|
45
43
|
}
|
|
46
44
|
_chainType() {
|
|
47
45
|
return "stuff_documents_chain";
|
|
@@ -94,7 +92,7 @@ var MapReduceDocumentsChain = class MapReduceDocumentsChain extends BaseChain {
|
|
|
94
92
|
/** @ignore */
|
|
95
93
|
async _call(values, runManager) {
|
|
96
94
|
if (!(this.inputKey in values)) throw new Error(`Document key ${this.inputKey} not found.`);
|
|
97
|
-
const { [this.inputKey]: docs
|
|
95
|
+
const { [this.inputKey]: docs, ...rest } = values;
|
|
98
96
|
let currentDocs = docs;
|
|
99
97
|
let intermediateSteps = [];
|
|
100
98
|
for (let i = 0; i < this.maxIterations; i += 1) {
|
|
@@ -102,17 +100,14 @@ var MapReduceDocumentsChain = class MapReduceDocumentsChain extends BaseChain {
|
|
|
102
100
|
[this.documentVariableName]: d.pageContent,
|
|
103
101
|
...rest
|
|
104
102
|
}));
|
|
105
|
-
|
|
106
|
-
if (canSkipMapStep) {
|
|
103
|
+
if (i !== 0 || !this.ensureMapStep) {
|
|
107
104
|
const formatted = await this.combineDocumentChain.llmChain.prompt.format(this.combineDocumentChain._prepInputs({
|
|
108
105
|
[this.combineDocumentChain.inputKey]: currentDocs,
|
|
109
106
|
...rest
|
|
110
107
|
}));
|
|
111
|
-
|
|
112
|
-
const withinTokenLimit = length < this.maxTokens;
|
|
113
|
-
if (withinTokenLimit) break;
|
|
108
|
+
if (await this.combineDocumentChain.llmChain._getNumTokens(formatted) < this.maxTokens) break;
|
|
114
109
|
}
|
|
115
|
-
const results = await this.llmChain.apply(inputs, runManager ? Array.from({ length: inputs.length }, (_, i
|
|
110
|
+
const results = await this.llmChain.apply(inputs, runManager ? Array.from({ length: inputs.length }, (_, i) => runManager.getChild(`map_${i + 1}`)) : void 0);
|
|
116
111
|
const { outputKey } = this.llmChain;
|
|
117
112
|
if (this.returnIntermediateSteps) intermediateSteps = intermediateSteps.concat(results.map((r) => r[outputKey]));
|
|
118
113
|
currentDocs = results.map((r) => ({
|
|
@@ -202,12 +197,10 @@ var RefineDocumentsChain = class RefineDocumentsChain extends BaseChain {
|
|
|
202
197
|
this.documentPrompt.inputVariables.forEach((value) => {
|
|
203
198
|
documentInfo[value] = baseInfo[value];
|
|
204
199
|
});
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
...baseInputs,
|
|
200
|
+
return {
|
|
201
|
+
[this.documentVariableName]: await this.documentPrompt.format({ ...documentInfo }),
|
|
208
202
|
...rest
|
|
209
203
|
};
|
|
210
|
-
return inputs;
|
|
211
204
|
}
|
|
212
205
|
/** @ignore */
|
|
213
206
|
async _constructRefineInputs(doc, res) {
|
|
@@ -220,24 +213,22 @@ var RefineDocumentsChain = class RefineDocumentsChain extends BaseChain {
|
|
|
220
213
|
documentInfo[value] = baseInfo[value];
|
|
221
214
|
});
|
|
222
215
|
const baseInputs = { [this.documentVariableName]: await this.documentPrompt.format({ ...documentInfo }) };
|
|
223
|
-
|
|
216
|
+
return {
|
|
224
217
|
[this.initialResponseName]: res,
|
|
225
218
|
...baseInputs
|
|
226
219
|
};
|
|
227
|
-
return inputs;
|
|
228
220
|
}
|
|
229
221
|
/** @ignore */
|
|
230
222
|
async _call(values, runManager) {
|
|
231
223
|
if (!(this.inputKey in values)) throw new Error(`Document key ${this.inputKey} not found.`);
|
|
232
|
-
const { [this.inputKey]: docs
|
|
224
|
+
const { [this.inputKey]: docs, ...rest } = values;
|
|
233
225
|
const currentDocs = docs;
|
|
234
226
|
const initialInputs = await this._constructInitialInputs(currentDocs[0], rest);
|
|
235
227
|
let res = await this.llmChain.predict({ ...initialInputs }, runManager?.getChild("answer"));
|
|
236
228
|
const refineSteps = [res];
|
|
237
229
|
for (let i = 1; i < currentDocs.length; i += 1) {
|
|
238
|
-
const refineInputs = await this._constructRefineInputs(currentDocs[i], res);
|
|
239
230
|
const inputs = {
|
|
240
|
-
...
|
|
231
|
+
...await this._constructRefineInputs(currentDocs[i], res),
|
|
241
232
|
...rest
|
|
242
233
|
};
|
|
243
234
|
res = await this.refineLLMChain.predict({ ...inputs }, runManager?.getChild("refine"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine_docs_chain.js","names":["fields: StuffDocumentsChainInput","values: ChainValues","runManager?: CallbackManagerForChainRun","data: SerializedStuffDocumentsChain","fields: MapReduceDocumentsChainInput","intermediateSteps: string[]","i","data: SerializedMapReduceDocumentsChain","fields: RefineDocumentsChainInput","doc: Document","rest: Record<string, unknown>","baseInfo: Record<string, unknown>","documentInfo: Record<string, unknown>","baseInputs: Record<string, unknown>","res: string","data: SerializedRefineDocumentsChain"],"sources":["../../src/chains/combine_docs_chain.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport type {\n SerializedStuffDocumentsChain,\n SerializedMapReduceDocumentsChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\n\n/**\n * Interface for the input properties of the StuffDocumentsChain class.\n */\nexport interface StuffDocumentsChainInput extends ChainInputs {\n /** LLM Wrapper to use after formatting documents */\n llmChain: LLMChain;\n inputKey?: string;\n /** Variable name in the LLM chain to put the documents in */\n documentVariableName?: string;\n}\n\n/**\n * Chain that combines documents by stuffing into context.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class StuffDocumentsChain\n extends BaseChain\n implements StuffDocumentsChainInput\n{\n static lc_name() {\n return \"StuffDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n get inputKeys() {\n return [this.inputKey, ...this.llmChain.inputKeys].filter(\n (key) => key !== this.documentVariableName\n );\n }\n\n get outputKeys() {\n return this.llmChain.outputKeys;\n }\n\n constructor(fields: StuffDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n }\n\n /** @ignore */\n _prepInputs(values: ChainValues): ChainValues {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n const texts = (docs as Document[]).map(({ pageContent }) => pageContent);\n const text = texts.join(\"\\n\\n\");\n return {\n ...rest,\n [this.documentVariableName]: text,\n };\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const result = await this.llmChain.call(\n this._prepInputs(values),\n runManager?.getChild(\"combine_documents\")\n );\n return result;\n }\n\n _chainType() {\n return \"stuff_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedStuffDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n return new StuffDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n });\n }\n\n serialize(): SerializedStuffDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the MapReduceDocumentsChain\n * class.\n */\nexport interface MapReduceDocumentsChainInput extends StuffDocumentsChainInput {\n /** The maximum number of tokens before requiring to do the reduction */\n maxTokens?: number;\n /** The maximum number of iterations to run through the map */\n maxIterations?: number;\n /** Ensures that the map step is taken regardless of max tokens */\n ensureMapStep?: boolean;\n /** Chain to use to combine results of applying llm_chain to documents. */\n combineDocumentChain: StuffDocumentsChain;\n /** Return the results of the map steps in the output. */\n returnIntermediateSteps?: boolean;\n}\n\n/**\n * Combine documents by mapping a chain over them, then combining results.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class MapReduceDocumentsChain\n extends BaseChain\n implements MapReduceDocumentsChainInput\n{\n static lc_name() {\n return \"MapReduceDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n returnIntermediateSteps = false;\n\n get inputKeys() {\n return [this.inputKey, ...this.combineDocumentChain.inputKeys];\n }\n\n get outputKeys() {\n return this.combineDocumentChain.outputKeys;\n }\n\n maxTokens = 3000;\n\n maxIterations = 10;\n\n ensureMapStep = false;\n\n combineDocumentChain: StuffDocumentsChain;\n\n constructor(fields: MapReduceDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.combineDocumentChain = fields.combineDocumentChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.ensureMapStep = fields.ensureMapStep ?? this.ensureMapStep;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.maxTokens = fields.maxTokens ?? this.maxTokens;\n this.maxIterations = fields.maxIterations ?? this.maxIterations;\n this.returnIntermediateSteps = fields.returnIntermediateSteps ?? false;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n let currentDocs = docs as Document[];\n let intermediateSteps: string[] = [];\n\n // For each iteration, we'll use the `llmChain` to get a new result\n for (let i = 0; i < this.maxIterations; i += 1) {\n const inputs = currentDocs.map((d) => ({\n [this.documentVariableName]: d.pageContent,\n ...rest,\n }));\n\n const canSkipMapStep = i !== 0 || !this.ensureMapStep;\n if (canSkipMapStep) {\n // Calculate the total tokens required in the input\n const formatted =\n await this.combineDocumentChain.llmChain.prompt.format(\n this.combineDocumentChain._prepInputs({\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n })\n );\n const length =\n await this.combineDocumentChain.llmChain._getNumTokens(formatted);\n\n const withinTokenLimit = length < this.maxTokens;\n // If we can skip the map step, and we're within the token limit, we don't\n // need to run the map step, so just break out of the loop.\n if (withinTokenLimit) {\n break;\n }\n }\n\n const results = await this.llmChain.apply(\n inputs,\n // If we have a runManager, then we need to create a child for each input\n // so that we can track the progress of each input.\n runManager\n ? Array.from({ length: inputs.length }, (_, i) =>\n runManager.getChild(`map_${i + 1}`)\n )\n : undefined\n );\n const { outputKey } = this.llmChain;\n\n // If the flag is set, then concat that to the intermediate steps\n if (this.returnIntermediateSteps) {\n intermediateSteps = intermediateSteps.concat(\n results.map((r) => r[outputKey])\n );\n }\n\n currentDocs = results.map((r) => ({\n pageContent: r[outputKey],\n metadata: {},\n }));\n }\n\n // Now, with the final result of all the inputs from the `llmChain`, we can\n // run the `combineDocumentChain` over them.\n const newInputs = {\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n };\n const result = await this.combineDocumentChain.call(\n newInputs,\n runManager?.getChild(\"combine_documents\")\n );\n\n // Return the intermediate steps results if the flag is set\n if (this.returnIntermediateSteps) {\n return { ...result, intermediateSteps };\n }\n return result;\n }\n\n _chainType() {\n return \"map_reduce_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedMapReduceDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n if (!data.combine_document_chain) {\n throw new Error(\"Missing combine_document_chain\");\n }\n\n return new MapReduceDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n combineDocumentChain: await StuffDocumentsChain.deserialize(\n data.combine_document_chain\n ),\n });\n }\n\n serialize(): SerializedMapReduceDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n combine_document_chain: this.combineDocumentChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the RefineDocumentsChain class.\n */\nexport interface RefineDocumentsChainInput extends StuffDocumentsChainInput {\n refineLLMChain: LLMChain;\n documentPrompt?: BasePromptTemplate;\n initialResponseName?: string;\n documentVariableName?: string;\n outputKey?: string;\n}\n\n/**\n * Combine documents by doing a first pass and then refining on more documents.\n * @augments BaseChain\n * @augments RefineDocumentsChainInput\n */\nexport class RefineDocumentsChain\n extends BaseChain\n implements RefineDocumentsChainInput\n{\n static lc_name() {\n return \"RefineDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n outputKey = \"output_text\";\n\n documentVariableName = \"context\";\n\n initialResponseName = \"existing_answer\";\n\n refineLLMChain: LLMChain;\n\n get defaultDocumentPrompt(): BasePromptTemplate {\n return new PromptTemplate({\n inputVariables: [\"page_content\"],\n template: \"{page_content}\",\n });\n }\n\n documentPrompt = this.defaultDocumentPrompt;\n\n get inputKeys() {\n return [\n ...new Set([\n this.inputKey,\n ...this.llmChain.inputKeys,\n ...this.refineLLMChain.inputKeys,\n ]),\n ].filter(\n (key) =>\n key !== this.documentVariableName && key !== this.initialResponseName\n );\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n constructor(fields: RefineDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.refineLLMChain = fields.refineLLMChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.documentPrompt = fields.documentPrompt ?? this.documentPrompt;\n this.initialResponseName =\n fields.initialResponseName ?? this.initialResponseName;\n }\n\n /** @ignore */\n async _constructInitialInputs(doc: Document, rest: Record<string, unknown>) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { ...baseInputs, ...rest };\n return inputs;\n }\n\n /** @ignore */\n async _constructRefineInputs(doc: Document, res: string) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { [this.initialResponseName]: res, ...baseInputs };\n return inputs;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n const currentDocs = docs as Document[];\n\n const initialInputs = await this._constructInitialInputs(\n currentDocs[0],\n rest\n );\n let res = await this.llmChain.predict(\n { ...initialInputs },\n runManager?.getChild(\"answer\")\n );\n\n const refineSteps = [res];\n\n for (let i = 1; i < currentDocs.length; i += 1) {\n const refineInputs = await this._constructRefineInputs(\n currentDocs[i],\n res\n );\n const inputs = { ...refineInputs, ...rest };\n res = await this.refineLLMChain.predict(\n { ...inputs },\n runManager?.getChild(\"refine\")\n );\n refineSteps.push(res);\n }\n\n return { [this.outputKey]: res };\n }\n\n _chainType() {\n return \"refine_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedRefineDocumentsChain) {\n const SerializedLLMChain = data.llm_chain;\n\n if (!SerializedLLMChain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n const SerializedRefineDocumentChain = data.refine_llm_chain;\n\n if (!SerializedRefineDocumentChain) {\n throw new Error(\"Missing refine_llm_chain\");\n }\n\n return new RefineDocumentsChain({\n llmChain: await LLMChain.deserialize(SerializedLLMChain),\n refineLLMChain: await LLMChain.deserialize(SerializedRefineDocumentChain),\n });\n }\n\n serialize(): SerializedRefineDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n refine_llm_chain: this.refineLLMChain.serialize(),\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combine_docs_chain.js","names":[],"sources":["../../src/chains/combine_docs_chain.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport type {\n SerializedStuffDocumentsChain,\n SerializedMapReduceDocumentsChain,\n SerializedRefineDocumentsChain,\n} from \"./serde.js\";\nimport { BaseChain, ChainInputs } from \"./base.js\";\nimport { LLMChain } from \"./llm_chain.js\";\n\n/**\n * Interface for the input properties of the StuffDocumentsChain class.\n */\nexport interface StuffDocumentsChainInput extends ChainInputs {\n /** LLM Wrapper to use after formatting documents */\n llmChain: LLMChain;\n inputKey?: string;\n /** Variable name in the LLM chain to put the documents in */\n documentVariableName?: string;\n}\n\n/**\n * Chain that combines documents by stuffing into context.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class StuffDocumentsChain\n extends BaseChain\n implements StuffDocumentsChainInput\n{\n static lc_name() {\n return \"StuffDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n get inputKeys() {\n return [this.inputKey, ...this.llmChain.inputKeys].filter(\n (key) => key !== this.documentVariableName\n );\n }\n\n get outputKeys() {\n return this.llmChain.outputKeys;\n }\n\n constructor(fields: StuffDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n }\n\n /** @ignore */\n _prepInputs(values: ChainValues): ChainValues {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n const texts = (docs as Document[]).map(({ pageContent }) => pageContent);\n const text = texts.join(\"\\n\\n\");\n return {\n ...rest,\n [this.documentVariableName]: text,\n };\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n const result = await this.llmChain.call(\n this._prepInputs(values),\n runManager?.getChild(\"combine_documents\")\n );\n return result;\n }\n\n _chainType() {\n return \"stuff_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedStuffDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n return new StuffDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n });\n }\n\n serialize(): SerializedStuffDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the MapReduceDocumentsChain\n * class.\n */\nexport interface MapReduceDocumentsChainInput extends StuffDocumentsChainInput {\n /** The maximum number of tokens before requiring to do the reduction */\n maxTokens?: number;\n /** The maximum number of iterations to run through the map */\n maxIterations?: number;\n /** Ensures that the map step is taken regardless of max tokens */\n ensureMapStep?: boolean;\n /** Chain to use to combine results of applying llm_chain to documents. */\n combineDocumentChain: StuffDocumentsChain;\n /** Return the results of the map steps in the output. */\n returnIntermediateSteps?: boolean;\n}\n\n/**\n * Combine documents by mapping a chain over them, then combining results.\n * @augments BaseChain\n * @augments StuffDocumentsChainInput\n */\nexport class MapReduceDocumentsChain\n extends BaseChain\n implements MapReduceDocumentsChainInput\n{\n static lc_name() {\n return \"MapReduceDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n documentVariableName = \"context\";\n\n returnIntermediateSteps = false;\n\n get inputKeys() {\n return [this.inputKey, ...this.combineDocumentChain.inputKeys];\n }\n\n get outputKeys() {\n return this.combineDocumentChain.outputKeys;\n }\n\n maxTokens = 3000;\n\n maxIterations = 10;\n\n ensureMapStep = false;\n\n combineDocumentChain: StuffDocumentsChain;\n\n constructor(fields: MapReduceDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.combineDocumentChain = fields.combineDocumentChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.ensureMapStep = fields.ensureMapStep ?? this.ensureMapStep;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.maxTokens = fields.maxTokens ?? this.maxTokens;\n this.maxIterations = fields.maxIterations ?? this.maxIterations;\n this.returnIntermediateSteps = fields.returnIntermediateSteps ?? false;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n let currentDocs = docs as Document[];\n let intermediateSteps: string[] = [];\n\n // For each iteration, we'll use the `llmChain` to get a new result\n for (let i = 0; i < this.maxIterations; i += 1) {\n const inputs = currentDocs.map((d) => ({\n [this.documentVariableName]: d.pageContent,\n ...rest,\n }));\n\n const canSkipMapStep = i !== 0 || !this.ensureMapStep;\n if (canSkipMapStep) {\n // Calculate the total tokens required in the input\n const formatted =\n await this.combineDocumentChain.llmChain.prompt.format(\n this.combineDocumentChain._prepInputs({\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n })\n );\n const length =\n await this.combineDocumentChain.llmChain._getNumTokens(formatted);\n\n const withinTokenLimit = length < this.maxTokens;\n // If we can skip the map step, and we're within the token limit, we don't\n // need to run the map step, so just break out of the loop.\n if (withinTokenLimit) {\n break;\n }\n }\n\n const results = await this.llmChain.apply(\n inputs,\n // If we have a runManager, then we need to create a child for each input\n // so that we can track the progress of each input.\n runManager\n ? Array.from({ length: inputs.length }, (_, i) =>\n runManager.getChild(`map_${i + 1}`)\n )\n : undefined\n );\n const { outputKey } = this.llmChain;\n\n // If the flag is set, then concat that to the intermediate steps\n if (this.returnIntermediateSteps) {\n intermediateSteps = intermediateSteps.concat(\n results.map((r) => r[outputKey])\n );\n }\n\n currentDocs = results.map((r) => ({\n pageContent: r[outputKey],\n metadata: {},\n }));\n }\n\n // Now, with the final result of all the inputs from the `llmChain`, we can\n // run the `combineDocumentChain` over them.\n const newInputs = {\n [this.combineDocumentChain.inputKey]: currentDocs,\n ...rest,\n };\n const result = await this.combineDocumentChain.call(\n newInputs,\n runManager?.getChild(\"combine_documents\")\n );\n\n // Return the intermediate steps results if the flag is set\n if (this.returnIntermediateSteps) {\n return { ...result, intermediateSteps };\n }\n return result;\n }\n\n _chainType() {\n return \"map_reduce_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedMapReduceDocumentsChain) {\n if (!data.llm_chain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n if (!data.combine_document_chain) {\n throw new Error(\"Missing combine_document_chain\");\n }\n\n return new MapReduceDocumentsChain({\n llmChain: await LLMChain.deserialize(data.llm_chain),\n combineDocumentChain: await StuffDocumentsChain.deserialize(\n data.combine_document_chain\n ),\n });\n }\n\n serialize(): SerializedMapReduceDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n combine_document_chain: this.combineDocumentChain.serialize(),\n };\n }\n}\n\n/**\n * Interface for the input properties of the RefineDocumentsChain class.\n */\nexport interface RefineDocumentsChainInput extends StuffDocumentsChainInput {\n refineLLMChain: LLMChain;\n documentPrompt?: BasePromptTemplate;\n initialResponseName?: string;\n documentVariableName?: string;\n outputKey?: string;\n}\n\n/**\n * Combine documents by doing a first pass and then refining on more documents.\n * @augments BaseChain\n * @augments RefineDocumentsChainInput\n */\nexport class RefineDocumentsChain\n extends BaseChain\n implements RefineDocumentsChainInput\n{\n static lc_name() {\n return \"RefineDocumentsChain\";\n }\n\n llmChain: LLMChain;\n\n inputKey = \"input_documents\";\n\n outputKey = \"output_text\";\n\n documentVariableName = \"context\";\n\n initialResponseName = \"existing_answer\";\n\n refineLLMChain: LLMChain;\n\n get defaultDocumentPrompt(): BasePromptTemplate {\n return new PromptTemplate({\n inputVariables: [\"page_content\"],\n template: \"{page_content}\",\n });\n }\n\n documentPrompt = this.defaultDocumentPrompt;\n\n get inputKeys() {\n return [\n ...new Set([\n this.inputKey,\n ...this.llmChain.inputKeys,\n ...this.refineLLMChain.inputKeys,\n ]),\n ].filter(\n (key) =>\n key !== this.documentVariableName && key !== this.initialResponseName\n );\n }\n\n get outputKeys() {\n return [this.outputKey];\n }\n\n constructor(fields: RefineDocumentsChainInput) {\n super(fields);\n this.llmChain = fields.llmChain;\n this.refineLLMChain = fields.refineLLMChain;\n this.documentVariableName =\n fields.documentVariableName ?? this.documentVariableName;\n this.inputKey = fields.inputKey ?? this.inputKey;\n this.outputKey = fields.outputKey ?? this.outputKey;\n this.documentPrompt = fields.documentPrompt ?? this.documentPrompt;\n this.initialResponseName =\n fields.initialResponseName ?? this.initialResponseName;\n }\n\n /** @ignore */\n async _constructInitialInputs(doc: Document, rest: Record<string, unknown>) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { ...baseInputs, ...rest };\n return inputs;\n }\n\n /** @ignore */\n async _constructRefineInputs(doc: Document, res: string) {\n const baseInfo: Record<string, unknown> = {\n page_content: doc.pageContent,\n ...doc.metadata,\n };\n const documentInfo: Record<string, unknown> = {};\n this.documentPrompt.inputVariables.forEach((value) => {\n documentInfo[value] = baseInfo[value];\n });\n const baseInputs: Record<string, unknown> = {\n [this.documentVariableName]: await this.documentPrompt.format({\n ...documentInfo,\n }),\n };\n const inputs = { [this.initialResponseName]: res, ...baseInputs };\n return inputs;\n }\n\n /** @ignore */\n async _call(\n values: ChainValues,\n runManager?: CallbackManagerForChainRun\n ): Promise<ChainValues> {\n if (!(this.inputKey in values)) {\n throw new Error(`Document key ${this.inputKey} not found.`);\n }\n const { [this.inputKey]: docs, ...rest } = values;\n\n const currentDocs = docs as Document[];\n\n const initialInputs = await this._constructInitialInputs(\n currentDocs[0],\n rest\n );\n let res = await this.llmChain.predict(\n { ...initialInputs },\n runManager?.getChild(\"answer\")\n );\n\n const refineSteps = [res];\n\n for (let i = 1; i < currentDocs.length; i += 1) {\n const refineInputs = await this._constructRefineInputs(\n currentDocs[i],\n res\n );\n const inputs = { ...refineInputs, ...rest };\n res = await this.refineLLMChain.predict(\n { ...inputs },\n runManager?.getChild(\"refine\")\n );\n refineSteps.push(res);\n }\n\n return { [this.outputKey]: res };\n }\n\n _chainType() {\n return \"refine_documents_chain\" as const;\n }\n\n static async deserialize(data: SerializedRefineDocumentsChain) {\n const SerializedLLMChain = data.llm_chain;\n\n if (!SerializedLLMChain) {\n throw new Error(\"Missing llm_chain\");\n }\n\n const SerializedRefineDocumentChain = data.refine_llm_chain;\n\n if (!SerializedRefineDocumentChain) {\n throw new Error(\"Missing refine_llm_chain\");\n }\n\n return new RefineDocumentsChain({\n llmChain: await LLMChain.deserialize(SerializedLLMChain),\n refineLLMChain: await LLMChain.deserialize(SerializedRefineDocumentChain),\n });\n }\n\n serialize(): SerializedRefineDocumentsChain {\n return {\n _type: this._chainType(),\n llm_chain: this.llmChain.serialize(),\n refine_llm_chain: this.refineLLMChain.serialize(),\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
1
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
let _langchain_core_prompts = require("@langchain/core/prompts");
|
|
3
3
|
|
|
4
4
|
//#region src/chains/combine_documents/base.ts
|
|
5
5
|
const DEFAULT_DOCUMENT_SEPARATOR = "\n\n";
|
|
6
6
|
const DOCUMENTS_KEY = "context";
|
|
7
|
-
const DEFAULT_DOCUMENT_PROMPT = /* @__PURE__ */
|
|
7
|
+
const DEFAULT_DOCUMENT_PROMPT = /* @__PURE__ */ _langchain_core_prompts.PromptTemplate.fromTemplate("{page_content}");
|
|
8
8
|
async function formatDocuments({ documentPrompt, documentSeparator, documents, config }) {
|
|
9
9
|
if (documents == null || documents.length === 0) return "";
|
|
10
|
-
|
|
10
|
+
return (await Promise.all(documents.map((document) => documentPrompt.withConfig({ runName: "document_formatter" }).invoke({
|
|
11
11
|
...document.metadata,
|
|
12
12
|
page_content: document.pageContent
|
|
13
|
-
}, config)));
|
|
14
|
-
return formattedDocs.join(documentSeparator);
|
|
13
|
+
}, config)))).join(documentSeparator);
|
|
15
14
|
}
|
|
16
15
|
|
|
17
16
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.cjs","names":[
|
|
1
|
+
{"version":3,"file":"base.cjs","names":[],"sources":["../../../src/chains/combine_documents/base.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\n\nexport const DEFAULT_DOCUMENT_SEPARATOR = \"\\n\\n\";\n\nexport const DOCUMENTS_KEY = \"context\";\nexport const INTERMEDIATE_STEPS_KEY = \"intermediate_steps\";\n\nexport const DEFAULT_DOCUMENT_PROMPT =\n /* #__PURE__ */ PromptTemplate.fromTemplate(\"{page_content}\");\n\nexport async function formatDocuments({\n documentPrompt,\n documentSeparator,\n documents,\n config,\n}: {\n documentPrompt: BasePromptTemplate;\n documentSeparator: string;\n documents: Document[];\n config?: RunnableConfig;\n}) {\n if (documents == null || documents.length === 0) {\n return \"\";\n }\n const formattedDocs = await Promise.all(\n documents.map((document) =>\n documentPrompt\n .withConfig({ runName: \"document_formatter\" })\n .invoke(\n { ...document.metadata, page_content: document.pageContent },\n config\n )\n )\n );\n return formattedDocs.join(documentSeparator);\n}\n"],"mappings":";;;;AAIA,MAAa,6BAA6B;AAE1C,MAAa,gBAAgB;AAG7B,MAAa,0BACK,uDAAe,aAAa,iBAAiB;AAE/D,eAAsB,gBAAgB,EACpC,gBACA,mBACA,WACA,UAMC;AACD,KAAI,aAAa,QAAQ,UAAU,WAAW,EAC5C,QAAO;AAYT,SAVsB,MAAM,QAAQ,IAClC,UAAU,KAAK,aACb,eACG,WAAW,EAAE,SAAS,sBAAsB,CAAC,CAC7C,OACC;EAAE,GAAG,SAAS;EAAU,cAAc,SAAS;EAAa,EAC5D,OACD,CACJ,CACF,EACoB,KAAK,kBAAkB"}
|
|
@@ -6,11 +6,10 @@ const DOCUMENTS_KEY = "context";
|
|
|
6
6
|
const DEFAULT_DOCUMENT_PROMPT = /* @__PURE__ */ PromptTemplate.fromTemplate("{page_content}");
|
|
7
7
|
async function formatDocuments({ documentPrompt, documentSeparator, documents, config }) {
|
|
8
8
|
if (documents == null || documents.length === 0) return "";
|
|
9
|
-
|
|
9
|
+
return (await Promise.all(documents.map((document) => documentPrompt.withConfig({ runName: "document_formatter" }).invoke({
|
|
10
10
|
...document.metadata,
|
|
11
11
|
page_content: document.pageContent
|
|
12
|
-
}, config)));
|
|
13
|
-
return formattedDocs.join(documentSeparator);
|
|
12
|
+
}, config)))).join(documentSeparator);
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","names":[],"sources":["../../../src/chains/combine_documents/base.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\n\nexport const DEFAULT_DOCUMENT_SEPARATOR = \"\\n\\n\";\n\nexport const DOCUMENTS_KEY = \"context\";\nexport const INTERMEDIATE_STEPS_KEY = \"intermediate_steps\";\n\nexport const DEFAULT_DOCUMENT_PROMPT =\n /* #__PURE__ */ PromptTemplate.fromTemplate(\"{page_content}\");\n\nexport async function formatDocuments({\n documentPrompt,\n documentSeparator,\n documents,\n config,\n}: {\n documentPrompt: BasePromptTemplate;\n documentSeparator: string;\n documents: Document[];\n config?: RunnableConfig;\n}) {\n if (documents == null || documents.length === 0) {\n return \"\";\n }\n const formattedDocs = await Promise.all(\n documents.map((document) =>\n documentPrompt\n .withConfig({ runName: \"document_formatter\" })\n .invoke(\n { ...document.metadata, page_content: document.pageContent },\n config\n )\n )\n );\n return formattedDocs.join(documentSeparator);\n}\n"],"mappings":";;;AAIA,MAAa,6BAA6B;AAE1C,MAAa,gBAAgB;AAG7B,MAAa,
|
|
1
|
+
{"version":3,"file":"base.js","names":[],"sources":["../../../src/chains/combine_documents/base.ts"],"sourcesContent":["import { Document } from \"@langchain/core/documents\";\nimport { BasePromptTemplate, PromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\n\nexport const DEFAULT_DOCUMENT_SEPARATOR = \"\\n\\n\";\n\nexport const DOCUMENTS_KEY = \"context\";\nexport const INTERMEDIATE_STEPS_KEY = \"intermediate_steps\";\n\nexport const DEFAULT_DOCUMENT_PROMPT =\n /* #__PURE__ */ PromptTemplate.fromTemplate(\"{page_content}\");\n\nexport async function formatDocuments({\n documentPrompt,\n documentSeparator,\n documents,\n config,\n}: {\n documentPrompt: BasePromptTemplate;\n documentSeparator: string;\n documents: Document[];\n config?: RunnableConfig;\n}) {\n if (documents == null || documents.length === 0) {\n return \"\";\n }\n const formattedDocs = await Promise.all(\n documents.map((document) =>\n documentPrompt\n .withConfig({ runName: \"document_formatter\" })\n .invoke(\n { ...document.metadata, page_content: document.pageContent },\n config\n )\n )\n );\n return formattedDocs.join(documentSeparator);\n}\n"],"mappings":";;;AAIA,MAAa,6BAA6B;AAE1C,MAAa,gBAAgB;AAG7B,MAAa,0BACK,+BAAe,aAAa,iBAAiB;AAE/D,eAAsB,gBAAgB,EACpC,gBACA,mBACA,WACA,UAMC;AACD,KAAI,aAAa,QAAQ,UAAU,WAAW,EAC5C,QAAO;AAYT,SAVsB,MAAM,QAAQ,IAClC,UAAU,KAAK,aACb,eACG,WAAW,EAAE,SAAS,sBAAsB,CAAC,CAC7C,OACC;EAAE,GAAG,SAAS;EAAU,cAAc,SAAS;EAAa,EAC5D,OACD,CACJ,CACF,EACoB,KAAK,kBAAkB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
2
3
|
const require_stuff = require('./stuff.cjs');
|
|
3
4
|
|
|
4
5
|
//#region src/chains/combine_documents/index.ts
|
|
5
|
-
var combine_documents_exports = {};
|
|
6
|
-
require_rolldown_runtime.__export(combine_documents_exports, { createStuffDocumentsChain: () => require_stuff.createStuffDocumentsChain });
|
|
6
|
+
var combine_documents_exports = /* @__PURE__ */ require_runtime.__exportAll({ createStuffDocumentsChain: () => require_stuff.createStuffDocumentsChain });
|
|
7
7
|
|
|
8
8
|
//#endregion
|
|
9
9
|
Object.defineProperty(exports, 'combine_documents_exports', {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { createStuffDocumentsChain } from "./stuff.js";
|
|
3
3
|
|
|
4
4
|
//#region src/chains/combine_documents/index.ts
|
|
5
|
-
var combine_documents_exports = {};
|
|
6
|
-
__export(combine_documents_exports, { createStuffDocumentsChain: () => createStuffDocumentsChain });
|
|
5
|
+
var combine_documents_exports = /* @__PURE__ */ __exportAll({ createStuffDocumentsChain: () => createStuffDocumentsChain });
|
|
7
6
|
|
|
8
7
|
//#endregion
|
|
9
8
|
export { combine_documents_exports, createStuffDocumentsChain };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
2
3
|
|
|
3
4
|
//#region src/chains/combine_documents/reduce.ts
|
|
4
|
-
var reduce_exports = {
|
|
5
|
-
require_rolldown_runtime.__export(reduce_exports, {
|
|
5
|
+
var reduce_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
6
6
|
collapseDocs: () => collapseDocs,
|
|
7
7
|
splitListOfDocs: () => splitListOfDocs
|
|
8
8
|
});
|
|
@@ -22,8 +22,7 @@ function splitListOfDocs(docs, lengthFunc, tokenMax) {
|
|
|
22
22
|
let subResultDocs = [];
|
|
23
23
|
for (const doc of docs) {
|
|
24
24
|
subResultDocs.push(doc);
|
|
25
|
-
|
|
26
|
-
if (numTokens > tokenMax) {
|
|
25
|
+
if (lengthFunc(subResultDocs) > tokenMax) {
|
|
27
26
|
if (subResultDocs.length === 1) throw new Error("A single document was longer than the context length, we cannot handle this.");
|
|
28
27
|
newResultDocList.push(subResultDocs.slice(0, -1));
|
|
29
28
|
subResultDocs = subResultDocs.slice(-1);
|
|
@@ -47,9 +46,8 @@ function splitListOfDocs(docs, lengthFunc, tokenMax) {
|
|
|
47
46
|
* @throws {Error} - Throws an error if the combineDocumentFunc does not return a promise or if the promise does not resolve to a string.
|
|
48
47
|
*/
|
|
49
48
|
async function collapseDocs(docs, combineDocumentFunc) {
|
|
50
|
-
const result = await combineDocumentFunc(docs);
|
|
51
49
|
return {
|
|
52
|
-
pageContent:
|
|
50
|
+
pageContent: await combineDocumentFunc(docs),
|
|
53
51
|
metadata: collapseDocsMetadata(docs)
|
|
54
52
|
};
|
|
55
53
|
}
|