@langchain/classic 1.0.23 → 1.0.24-dev-1773698445534
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/dist/_virtual/_rolldown/runtime.cjs +12 -22
- package/dist/_virtual/_rolldown/runtime.js +12 -21
- package/dist/agents/agent.cjs +2 -3
- package/dist/agents/agent.cjs.map +1 -1
- package/dist/agents/agent.js +1 -2
- package/dist/agents/agent.js.map +1 -1
- package/dist/agents/chat/index.cjs +6 -7
- package/dist/agents/chat/index.cjs.map +1 -1
- package/dist/agents/chat/index.js +1 -2
- package/dist/agents/chat/index.js.map +1 -1
- package/dist/agents/chat/outputParser.cjs +5 -6
- package/dist/agents/chat/outputParser.cjs.map +1 -1
- package/dist/agents/chat/outputParser.js +2 -3
- package/dist/agents/chat/outputParser.js.map +1 -1
- package/dist/agents/chat/prompt.cjs +1 -2
- package/dist/agents/chat/prompt.cjs.map +1 -1
- package/dist/agents/chat/prompt.js +1 -1
- package/dist/agents/chat_convo/index.cjs +6 -7
- package/dist/agents/chat_convo/index.cjs.map +1 -1
- package/dist/agents/chat_convo/index.js +1 -2
- package/dist/agents/chat_convo/index.js.map +1 -1
- package/dist/agents/chat_convo/outputParser.cjs +5 -6
- package/dist/agents/chat_convo/outputParser.cjs.map +1 -1
- package/dist/agents/chat_convo/outputParser.js +1 -2
- package/dist/agents/chat_convo/outputParser.js.map +1 -1
- package/dist/agents/chat_convo/prompt.cjs +1 -2
- package/dist/agents/chat_convo/prompt.cjs.map +1 -1
- package/dist/agents/chat_convo/prompt.js +1 -1
- package/dist/agents/executor.cjs +4 -5
- package/dist/agents/executor.cjs.map +1 -1
- package/dist/agents/executor.js +1 -2
- package/dist/agents/executor.js.map +1 -1
- package/dist/agents/format_scratchpad/log.cjs +8 -10
- package/dist/agents/format_scratchpad/log.cjs.map +1 -1
- package/dist/agents/format_scratchpad/log.js +1 -2
- 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.js +1 -2
- package/dist/agents/format_scratchpad/log_to_message.js.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.cjs +9 -10
- package/dist/agents/format_scratchpad/openai_functions.cjs.map +1 -1
- package/dist/agents/format_scratchpad/openai_functions.js +1 -2
- package/dist/agents/format_scratchpad/openai_functions.js.map +1 -1
- package/dist/agents/format_scratchpad/openai_tools.cjs +9 -10
- package/dist/agents/format_scratchpad/openai_tools.js +1 -2
- package/dist/agents/format_scratchpad/tool_calling.cjs +2 -3
- package/dist/agents/format_scratchpad/tool_calling.cjs.map +1 -1
- package/dist/agents/format_scratchpad/tool_calling.js +1 -2
- package/dist/agents/format_scratchpad/tool_calling.js.map +1 -1
- package/dist/agents/format_scratchpad/xml.cjs +8 -10
- package/dist/agents/format_scratchpad/xml.cjs.map +1 -1
- package/dist/agents/format_scratchpad/xml.js +1 -2
- package/dist/agents/format_scratchpad/xml.js.map +1 -1
- package/dist/agents/helpers.cjs +2 -3
- package/dist/agents/helpers.cjs.map +1 -1
- package/dist/agents/helpers.js +1 -2
- package/dist/agents/helpers.js.map +1 -1
- package/dist/agents/index.cjs +35 -36
- package/dist/agents/index.d.ts +0 -1
- package/dist/agents/index.js +1 -2
- package/dist/agents/initialize.cjs +9 -10
- package/dist/agents/initialize.cjs.map +1 -1
- package/dist/agents/initialize.js +1 -2
- package/dist/agents/initialize.js.map +1 -1
- package/dist/agents/load.cjs +12 -13
- package/dist/agents/load.cjs.map +1 -1
- package/dist/agents/load.js +1 -2
- package/dist/agents/load.js.map +1 -1
- package/dist/agents/mrkl/index.cjs +7 -8
- package/dist/agents/mrkl/index.cjs.map +1 -1
- package/dist/agents/mrkl/index.js +1 -2
- package/dist/agents/mrkl/index.js.map +1 -1
- package/dist/agents/mrkl/outputParser.cjs +5 -8
- package/dist/agents/mrkl/outputParser.cjs.map +1 -1
- package/dist/agents/mrkl/outputParser.d.cts +1 -1
- package/dist/agents/mrkl/outputParser.js +2 -5
- package/dist/agents/mrkl/outputParser.js.map +1 -1
- package/dist/agents/mrkl/prompt.cjs +1 -2
- package/dist/agents/mrkl/prompt.cjs.map +1 -1
- package/dist/agents/mrkl/prompt.js +1 -1
- package/dist/agents/openai/output_parser.cjs +10 -11
- package/dist/agents/openai/output_parser.js +1 -2
- package/dist/agents/openai_functions/index.cjs +8 -9
- package/dist/agents/openai_functions/index.cjs.map +1 -1
- package/dist/agents/openai_functions/index.d.ts +0 -1
- package/dist/agents/openai_functions/index.d.ts.map +1 -1
- package/dist/agents/openai_functions/index.js +1 -2
- package/dist/agents/openai_functions/index.js.map +1 -1
- package/dist/agents/openai_functions/output_parser.cjs +3 -4
- package/dist/agents/openai_functions/output_parser.cjs.map +1 -1
- package/dist/agents/openai_functions/output_parser.js +1 -2
- package/dist/agents/openai_functions/output_parser.js.map +1 -1
- package/dist/agents/openai_functions/prompt.cjs +1 -2
- package/dist/agents/openai_functions/prompt.cjs.map +1 -1
- package/dist/agents/openai_functions/prompt.js +1 -1
- package/dist/agents/openai_tools/index.cjs +6 -7
- package/dist/agents/openai_tools/index.cjs.map +1 -1
- package/dist/agents/openai_tools/index.js +1 -2
- package/dist/agents/openai_tools/index.js.map +1 -1
- package/dist/agents/openai_tools/output_parser.cjs +3 -4
- package/dist/agents/openai_tools/output_parser.cjs.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 +6 -7
- package/dist/agents/react/index.cjs.map +1 -1
- package/dist/agents/react/index.js +1 -2
- package/dist/agents/react/index.js.map +1 -1
- package/dist/agents/react/output_parser.cjs +10 -11
- package/dist/agents/react/output_parser.cjs.map +1 -1
- package/dist/agents/react/output_parser.js +1 -2
- package/dist/agents/react/output_parser.js.map +1 -1
- package/dist/agents/react/prompt.cjs +1 -2
- package/dist/agents/react/prompt.cjs.map +1 -1
- package/dist/agents/react/prompt.js +1 -1
- package/dist/agents/structured_chat/index.cjs +8 -9
- package/dist/agents/structured_chat/index.cjs.map +1 -1
- package/dist/agents/structured_chat/index.js +1 -2
- package/dist/agents/structured_chat/index.js.map +1 -1
- package/dist/agents/structured_chat/outputParser.cjs +5 -6
- package/dist/agents/structured_chat/outputParser.cjs.map +1 -1
- package/dist/agents/structured_chat/outputParser.js +1 -2
- package/dist/agents/structured_chat/outputParser.js.map +1 -1
- package/dist/agents/structured_chat/prompt.cjs +1 -2
- package/dist/agents/structured_chat/prompt.cjs.map +1 -1
- package/dist/agents/structured_chat/prompt.js +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.js +1 -2
- package/dist/agents/tool_calling/index.js.map +1 -1
- package/dist/agents/tool_calling/output_parser.cjs +3 -4
- package/dist/agents/tool_calling/output_parser.cjs.map +1 -1
- package/dist/agents/tool_calling/output_parser.d.ts +0 -1
- package/dist/agents/tool_calling/output_parser.d.ts.map +1 -1
- package/dist/agents/tool_calling/output_parser.js +1 -2
- package/dist/agents/tool_calling/output_parser.js.map +1 -1
- package/dist/agents/toolkits/base.cjs +2 -2
- package/dist/agents/toolkits/base.js +1 -2
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs +4 -5
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs.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 +4 -5
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js +1 -2
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.cjs +3 -4
- package/dist/agents/toolkits/conversational_retrieval/tool.cjs.map +1 -1
- package/dist/agents/toolkits/conversational_retrieval/tool.js +1 -2
- package/dist/agents/toolkits/conversational_retrieval/tool.js.map +1 -1
- package/dist/agents/toolkits/index.cjs +14 -15
- package/dist/agents/toolkits/index.js +1 -2
- package/dist/agents/toolkits/json/json.cjs +7 -8
- package/dist/agents/toolkits/json/json.cjs.map +1 -1
- package/dist/agents/toolkits/json/json.js +1 -2
- package/dist/agents/toolkits/json/json.js.map +1 -1
- package/dist/agents/toolkits/json/prompt.cjs +1 -2
- package/dist/agents/toolkits/json/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/json/prompt.js +1 -1
- package/dist/agents/toolkits/openapi/openapi.cjs +8 -9
- package/dist/agents/toolkits/openapi/openapi.cjs.map +1 -1
- package/dist/agents/toolkits/openapi/openapi.js +1 -2
- package/dist/agents/toolkits/openapi/openapi.js.map +1 -1
- package/dist/agents/toolkits/openapi/prompt.cjs +1 -2
- package/dist/agents/toolkits/openapi/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/openapi/prompt.js +1 -1
- package/dist/agents/toolkits/sql/index.cjs +10 -11
- package/dist/agents/toolkits/sql/index.js +1 -2
- package/dist/agents/toolkits/sql/prompt.cjs +1 -2
- package/dist/agents/toolkits/sql/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/sql/prompt.js +1 -1
- package/dist/agents/toolkits/sql/sql.cjs +7 -8
- package/dist/agents/toolkits/sql/sql.cjs.map +1 -1
- package/dist/agents/toolkits/sql/sql.js +1 -2
- package/dist/agents/toolkits/sql/sql.js.map +1 -1
- package/dist/agents/toolkits/vectorstore/prompt.cjs +1 -2
- package/dist/agents/toolkits/vectorstore/prompt.cjs.map +1 -1
- package/dist/agents/toolkits/vectorstore/prompt.js +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs +8 -9
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs.map +1 -1
- package/dist/agents/toolkits/vectorstore/vectorstore.js +1 -2
- package/dist/agents/toolkits/vectorstore/vectorstore.js.map +1 -1
- package/dist/agents/types.cjs +2 -3
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.js +1 -2
- package/dist/agents/types.js.map +1 -1
- package/dist/agents/xml/index.cjs +8 -9
- package/dist/agents/xml/index.cjs.map +1 -1
- package/dist/agents/xml/index.js +1 -2
- package/dist/agents/xml/index.js.map +1 -1
- package/dist/agents/xml/output_parser.cjs +9 -10
- package/dist/agents/xml/output_parser.cjs.map +1 -1
- package/dist/agents/xml/output_parser.js +1 -2
- package/dist/agents/xml/output_parser.js.map +1 -1
- package/dist/agents/xml/prompt.cjs +1 -2
- package/dist/agents/xml/prompt.cjs.map +1 -1
- package/dist/agents/xml/prompt.js +1 -1
- package/dist/cache/file_system.cjs +8 -9
- package/dist/cache/file_system.cjs.map +1 -1
- package/dist/cache/file_system.js +1 -2
- package/dist/cache/file_system.js.map +1 -1
- package/dist/callbacks/handlers/console.cjs +13 -13
- package/dist/callbacks/handlers/console.d.cts +0 -1
- package/dist/callbacks/handlers/console.d.ts +0 -1
- package/dist/callbacks/handlers/console.js +2 -4
- package/dist/callbacks/handlers/run_collector.cjs +13 -13
- package/dist/callbacks/handlers/run_collector.d.cts +0 -1
- package/dist/callbacks/handlers/run_collector.d.ts +0 -1
- package/dist/callbacks/handlers/run_collector.js +2 -4
- package/dist/callbacks/handlers/tracer.cjs +13 -13
- package/dist/callbacks/handlers/tracer.d.cts +0 -1
- package/dist/callbacks/handlers/tracer.d.ts +0 -1
- package/dist/callbacks/handlers/tracer.js +2 -4
- package/dist/callbacks/handlers/tracer_langchain.cjs +13 -13
- package/dist/callbacks/handlers/tracer_langchain.d.cts +0 -1
- package/dist/callbacks/handlers/tracer_langchain.d.ts +0 -1
- package/dist/callbacks/handlers/tracer_langchain.js +2 -4
- package/dist/callbacks/index.cjs +49 -50
- package/dist/callbacks/index.js +1 -2
- package/dist/callbacks/promises.cjs +13 -13
- package/dist/callbacks/promises.d.cts +0 -1
- package/dist/callbacks/promises.d.ts +0 -1
- package/dist/callbacks/promises.js +2 -4
- package/dist/chains/analyze_documents_chain.cjs +3 -4
- package/dist/chains/analyze_documents_chain.cjs.map +1 -1
- package/dist/chains/analyze_documents_chain.js +1 -2
- package/dist/chains/analyze_documents_chain.js.map +1 -1
- package/dist/chains/api/api_chain.cjs +4 -5
- package/dist/chains/api/api_chain.cjs.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 +2 -3
- package/dist/chains/api/prompts.cjs.map +1 -1
- package/dist/chains/api/prompts.js +10 -12
- package/dist/chains/api/prompts.js.map +1 -1
- package/dist/chains/base.cjs +2 -3
- package/dist/chains/base.cjs.map +1 -1
- package/dist/chains/base.js +1 -2
- package/dist/chains/base.js.map +1 -1
- package/dist/chains/chat_vector_db_chain.cjs +5 -6
- package/dist/chains/chat_vector_db_chain.cjs.map +1 -1
- package/dist/chains/chat_vector_db_chain.js +1 -2
- package/dist/chains/chat_vector_db_chain.js.map +1 -1
- package/dist/chains/combine_docs_chain.cjs +4 -5
- package/dist/chains/combine_docs_chain.cjs.map +1 -1
- package/dist/chains/combine_docs_chain.js +1 -2
- package/dist/chains/combine_docs_chain.js.map +1 -1
- package/dist/chains/combine_documents/base.cjs +2 -5
- package/dist/chains/combine_documents/base.cjs.map +1 -1
- package/dist/chains/combine_documents/base.js +2 -4
- package/dist/chains/combine_documents/base.js.map +1 -1
- package/dist/chains/combine_documents/index.cjs +9 -10
- package/dist/chains/combine_documents/index.js +1 -2
- package/dist/chains/combine_documents/reduce.cjs +8 -10
- package/dist/chains/combine_documents/reduce.cjs.map +1 -1
- package/dist/chains/combine_documents/reduce.js +1 -2
- package/dist/chains/combine_documents/reduce.js.map +1 -1
- package/dist/chains/combine_documents/stuff.cjs +5 -6
- package/dist/chains/combine_documents/stuff.cjs.map +1 -1
- package/dist/chains/combine_documents/stuff.js +4 -5
- package/dist/chains/combine_documents/stuff.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.cjs +5 -6
- package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_chain.js +1 -2
- package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.cjs +1 -2
- package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_principle.js +1 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs +5 -8
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +1 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.js +4 -7
- package/dist/chains/constitutional_ai/constitutional_prompts.js.map +1 -1
- package/dist/chains/conversation.cjs +4 -5
- package/dist/chains/conversation.cjs.map +1 -1
- package/dist/chains/conversation.js +1 -2
- package/dist/chains/conversation.js.map +1 -1
- package/dist/chains/conversational_retrieval_chain.cjs +5 -6
- package/dist/chains/conversational_retrieval_chain.cjs.map +1 -1
- package/dist/chains/conversational_retrieval_chain.js +1 -2
- package/dist/chains/conversational_retrieval_chain.js.map +1 -1
- package/dist/chains/graph_qa/cypher.cjs +12 -13
- package/dist/chains/graph_qa/cypher.cjs.map +1 -1
- package/dist/chains/graph_qa/cypher.js +1 -2
- package/dist/chains/graph_qa/cypher.js.map +1 -1
- package/dist/chains/graph_qa/prompts.cjs +8 -12
- package/dist/chains/graph_qa/prompts.cjs.map +1 -1
- package/dist/chains/graph_qa/prompts.js +7 -11
- package/dist/chains/graph_qa/prompts.js.map +1 -1
- package/dist/chains/history_aware_retriever.cjs +8 -9
- package/dist/chains/history_aware_retriever.cjs.map +1 -1
- package/dist/chains/history_aware_retriever.js +1 -2
- package/dist/chains/history_aware_retriever.js.map +1 -1
- package/dist/chains/index.cjs +32 -33
- package/dist/chains/index.js +1 -2
- package/dist/chains/llm_chain.cjs +4 -5
- package/dist/chains/llm_chain.cjs.map +1 -1
- package/dist/chains/llm_chain.js +1 -2
- package/dist/chains/llm_chain.js.map +1 -1
- package/dist/chains/load.cjs +12 -13
- package/dist/chains/load.cjs.map +1 -1
- package/dist/chains/load.js +1 -2
- package/dist/chains/load.js.map +1 -1
- package/dist/chains/openai_functions/base.cjs +3 -4
- package/dist/chains/openai_functions/base.cjs.map +1 -1
- package/dist/chains/openai_functions/base.js +1 -2
- package/dist/chains/openai_functions/base.js.map +1 -1
- package/dist/chains/openai_functions/extraction.cjs +4 -5
- package/dist/chains/openai_functions/extraction.cjs.map +1 -1
- package/dist/chains/openai_functions/extraction.js +1 -2
- package/dist/chains/openai_functions/extraction.js.map +1 -1
- package/dist/chains/openai_functions/index.cjs +12 -13
- package/dist/chains/openai_functions/index.js +1 -2
- package/dist/chains/openai_functions/openapi.cjs +7 -8
- package/dist/chains/openai_functions/openapi.cjs.map +1 -1
- package/dist/chains/openai_functions/openapi.js +1 -2
- package/dist/chains/openai_functions/openapi.js.map +1 -1
- package/dist/chains/openai_functions/tagging.cjs +4 -5
- package/dist/chains/openai_functions/tagging.cjs.map +1 -1
- package/dist/chains/openai_functions/tagging.js +1 -2
- package/dist/chains/openai_functions/tagging.js.map +1 -1
- package/dist/chains/openai_moderation.cjs +3 -4
- package/dist/chains/openai_moderation.cjs.map +1 -1
- package/dist/chains/openai_moderation.js +1 -2
- package/dist/chains/openai_moderation.js.map +1 -1
- package/dist/chains/query_constructor/index.cjs +11 -12
- package/dist/chains/query_constructor/index.cjs.map +1 -1
- package/dist/chains/query_constructor/index.js +1 -2
- package/dist/chains/query_constructor/index.js.map +1 -1
- package/dist/chains/query_constructor/ir.cjs +14 -14
- package/dist/chains/query_constructor/ir.js +2 -4
- package/dist/chains/query_constructor/parser.cjs +3 -4
- package/dist/chains/query_constructor/parser.cjs.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 +23 -27
- package/dist/chains/query_constructor/prompt.cjs.map +1 -1
- package/dist/chains/query_constructor/prompt.js +22 -26
- package/dist/chains/query_constructor/prompt.js.map +1 -1
- package/dist/chains/question_answering/load.cjs +6 -7
- package/dist/chains/question_answering/load.cjs.map +1 -1
- package/dist/chains/question_answering/load.js +1 -2
- package/dist/chains/question_answering/load.js.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.cjs +6 -10
- package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.js +7 -13
- package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
- package/dist/chains/question_answering/refine_prompts.cjs +14 -18
- package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/refine_prompts.js +15 -21
- package/dist/chains/question_answering/refine_prompts.js.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.cjs +2 -3
- package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.js +2 -4
- package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
- package/dist/chains/retrieval.cjs +8 -9
- package/dist/chains/retrieval.cjs.map +1 -1
- package/dist/chains/retrieval.js +1 -2
- package/dist/chains/retrieval.js.map +1 -1
- package/dist/chains/retrieval_qa.cjs +3 -4
- package/dist/chains/retrieval_qa.cjs.map +1 -1
- package/dist/chains/retrieval_qa.js +1 -2
- package/dist/chains/retrieval_qa.js.map +1 -1
- package/dist/chains/router/llm_router.cjs +3 -4
- package/dist/chains/router/llm_router.cjs.map +1 -1
- package/dist/chains/router/llm_router.js +1 -2
- package/dist/chains/router/llm_router.js.map +1 -1
- package/dist/chains/router/multi_prompt.cjs +9 -10
- package/dist/chains/router/multi_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_prompt.js +1 -2
- package/dist/chains/router/multi_prompt.js.map +1 -1
- package/dist/chains/router/multi_prompt_prompt.cjs +1 -2
- package/dist/chains/router/multi_prompt_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_prompt_prompt.js +1 -1
- package/dist/chains/router/multi_retrieval_prompt.cjs +1 -2
- package/dist/chains/router/multi_retrieval_prompt.cjs.map +1 -1
- package/dist/chains/router/multi_retrieval_prompt.js +1 -1
- package/dist/chains/router/multi_retrieval_qa.cjs +9 -10
- package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
- package/dist/chains/router/multi_retrieval_qa.js +1 -2
- package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
- package/dist/chains/router/multi_route.cjs +2 -3
- package/dist/chains/router/multi_route.cjs.map +1 -1
- package/dist/chains/router/multi_route.js +1 -2
- package/dist/chains/router/multi_route.js.map +1 -1
- package/dist/chains/router/utils.cjs +1 -2
- package/dist/chains/router/utils.cjs.map +1 -1
- package/dist/chains/router/utils.js +1 -1
- package/dist/chains/sequential_chain.cjs +3 -4
- package/dist/chains/sequential_chain.cjs.map +1 -1
- package/dist/chains/sequential_chain.js +1 -2
- package/dist/chains/sequential_chain.js.map +1 -1
- package/dist/chains/sql_db/index.cjs +10 -11
- package/dist/chains/sql_db/index.js +1 -2
- package/dist/chains/sql_db/sql_db_chain.cjs +6 -7
- package/dist/chains/sql_db/sql_db_chain.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_chain.js +1 -2
- package/dist/chains/sql_db/sql_db_chain.js.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.cjs +2 -3
- package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
- package/dist/chains/sql_db/sql_db_prompt.js +1 -2
- package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
- package/dist/chains/summarization/load.cjs +5 -6
- package/dist/chains/summarization/load.cjs.map +1 -1
- package/dist/chains/summarization/load.js +1 -2
- package/dist/chains/summarization/load.js.map +1 -1
- package/dist/chains/summarization/refine_prompts.cjs +5 -9
- package/dist/chains/summarization/refine_prompts.cjs.map +1 -1
- package/dist/chains/summarization/refine_prompts.js +4 -7
- package/dist/chains/summarization/refine_prompts.js.map +1 -1
- package/dist/chains/summarization/stuff_prompts.cjs +5 -9
- package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
- package/dist/chains/summarization/stuff_prompts.js +4 -7
- package/dist/chains/summarization/stuff_prompts.js.map +1 -1
- package/dist/chains/transform.cjs +2 -3
- package/dist/chains/transform.cjs.map +1 -1
- package/dist/chains/transform.js +1 -2
- package/dist/chains/transform.js.map +1 -1
- package/dist/chains/vector_db_qa.cjs +3 -4
- package/dist/chains/vector_db_qa.cjs.map +1 -1
- package/dist/chains/vector_db_qa.js +1 -2
- package/dist/chains/vector_db_qa.js.map +1 -1
- package/dist/chat_models/universal.cjs +8 -9
- package/dist/chat_models/universal.cjs.map +1 -1
- package/dist/chat_models/universal.js +1 -2
- package/dist/chat_models/universal.js.map +1 -1
- package/dist/document.cjs +13 -14
- package/dist/document.js +1 -2
- package/dist/document_loaders/base.cjs +14 -14
- package/dist/document_loaders/base.js +2 -4
- package/dist/document_loaders/fs/buffer.cjs +8 -9
- package/dist/document_loaders/fs/buffer.cjs.map +1 -1
- package/dist/document_loaders/fs/buffer.js +1 -2
- package/dist/document_loaders/fs/buffer.js.map +1 -1
- package/dist/document_loaders/fs/directory.cjs +8 -9
- package/dist/document_loaders/fs/directory.cjs.map +1 -1
- package/dist/document_loaders/fs/directory.js +1 -2
- package/dist/document_loaders/fs/directory.js.map +1 -1
- package/dist/document_loaders/fs/json.cjs +9 -10
- package/dist/document_loaders/fs/json.cjs.map +1 -1
- package/dist/document_loaders/fs/json.js +1 -2
- package/dist/document_loaders/fs/json.js.map +1 -1
- package/dist/document_loaders/fs/multi_file.cjs +9 -10
- package/dist/document_loaders/fs/multi_file.cjs.map +1 -1
- package/dist/document_loaders/fs/multi_file.js +1 -2
- package/dist/document_loaders/fs/multi_file.js.map +1 -1
- package/dist/document_loaders/fs/text.cjs +8 -9
- package/dist/document_loaders/fs/text.cjs.map +1 -1
- package/dist/document_loaders/fs/text.js +1 -2
- package/dist/document_loaders/fs/text.js.map +1 -1
- package/dist/document_transformers/openai_functions.cjs +10 -11
- package/dist/document_transformers/openai_functions.cjs.map +1 -1
- package/dist/document_transformers/openai_functions.d.ts +0 -1
- package/dist/document_transformers/openai_functions.d.ts.map +1 -1
- package/dist/document_transformers/openai_functions.js +1 -2
- package/dist/document_transformers/openai_functions.js.map +1 -1
- package/dist/embeddings/cache_backed.cjs +9 -10
- package/dist/embeddings/cache_backed.cjs.map +1 -1
- package/dist/embeddings/cache_backed.js +1 -2
- package/dist/embeddings/cache_backed.js.map +1 -1
- package/dist/embeddings/fake.cjs +14 -14
- package/dist/embeddings/fake.js +2 -4
- package/dist/evaluation/agents/index.cjs +1 -1
- package/dist/evaluation/agents/index.js +2 -3
- package/dist/evaluation/agents/prompt.cjs +8 -10
- package/dist/evaluation/agents/prompt.cjs.map +1 -1
- package/dist/evaluation/agents/prompt.js +7 -9
- package/dist/evaluation/agents/prompt.js.map +1 -1
- package/dist/evaluation/agents/trajectory.cjs +4 -5
- package/dist/evaluation/agents/trajectory.cjs.map +1 -1
- package/dist/evaluation/agents/trajectory.js +1 -2
- package/dist/evaluation/agents/trajectory.js.map +1 -1
- package/dist/evaluation/base.cjs +4 -5
- package/dist/evaluation/base.cjs.map +1 -1
- package/dist/evaluation/base.d.ts +0 -1
- package/dist/evaluation/base.d.ts.map +1 -1
- package/dist/evaluation/base.js +1 -2
- package/dist/evaluation/base.js.map +1 -1
- package/dist/evaluation/comparison/index.cjs +1 -1
- package/dist/evaluation/comparison/index.js +2 -3
- package/dist/evaluation/comparison/pairwise.cjs +6 -7
- package/dist/evaluation/comparison/pairwise.cjs.map +1 -1
- package/dist/evaluation/comparison/pairwise.js +1 -2
- package/dist/evaluation/comparison/pairwise.js.map +1 -1
- package/dist/evaluation/comparison/prompt.cjs +16 -27
- package/dist/evaluation/comparison/prompt.cjs.map +1 -1
- package/dist/evaluation/comparison/prompt.js +15 -26
- package/dist/evaluation/comparison/prompt.js.map +1 -1
- package/dist/evaluation/criteria/criteria.cjs +5 -6
- package/dist/evaluation/criteria/criteria.cjs.map +1 -1
- package/dist/evaluation/criteria/criteria.js +1 -2
- package/dist/evaluation/criteria/criteria.js.map +1 -1
- package/dist/evaluation/criteria/index.cjs +1 -1
- package/dist/evaluation/criteria/index.js +2 -3
- package/dist/evaluation/criteria/prompt.cjs +16 -20
- package/dist/evaluation/criteria/prompt.cjs.map +1 -1
- package/dist/evaluation/criteria/prompt.js +15 -19
- package/dist/evaluation/criteria/prompt.js.map +1 -1
- package/dist/evaluation/embedding_distance/base.cjs +5 -6
- package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
- package/dist/evaluation/embedding_distance/base.js +1 -2
- package/dist/evaluation/embedding_distance/base.js.map +1 -1
- package/dist/evaluation/embedding_distance/index.cjs +1 -1
- package/dist/evaluation/embedding_distance/index.js +2 -3
- package/dist/evaluation/index.cjs +19 -20
- package/dist/evaluation/index.d.ts +0 -5
- package/dist/evaluation/index.js +1 -2
- package/dist/evaluation/loader.cjs +10 -11
- package/dist/evaluation/loader.cjs.map +1 -1
- package/dist/evaluation/loader.d.ts +0 -2
- package/dist/evaluation/loader.d.ts.map +1 -1
- package/dist/evaluation/loader.js +1 -2
- package/dist/evaluation/loader.js.map +1 -1
- package/dist/evaluation/qa/eval_chain.cjs +3 -4
- package/dist/evaluation/qa/eval_chain.cjs.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.cjs +1 -1
- package/dist/evaluation/qa/index.js +2 -3
- package/dist/evaluation/qa/prompt.cjs +10 -14
- package/dist/evaluation/qa/prompt.cjs.map +1 -1
- package/dist/evaluation/qa/prompt.js +9 -12
- package/dist/evaluation/qa/prompt.js.map +1 -1
- package/dist/experimental/autogpt/agent.cjs +8 -9
- package/dist/experimental/autogpt/agent.cjs.map +1 -1
- package/dist/experimental/autogpt/agent.js +3 -4
- package/dist/experimental/autogpt/agent.js.map +1 -1
- package/dist/experimental/autogpt/index.cjs +11 -12
- package/dist/experimental/autogpt/index.js +1 -2
- package/dist/experimental/autogpt/output_parser.cjs +2 -3
- package/dist/experimental/autogpt/output_parser.cjs.map +1 -1
- package/dist/experimental/autogpt/output_parser.js +1 -2
- package/dist/experimental/autogpt/output_parser.js.map +1 -1
- package/dist/experimental/autogpt/prompt.cjs +3 -4
- package/dist/experimental/autogpt/prompt.cjs.map +1 -1
- package/dist/experimental/autogpt/prompt.js +1 -2
- package/dist/experimental/autogpt/prompt.js.map +1 -1
- package/dist/experimental/autogpt/prompt_generator.cjs +3 -4
- package/dist/experimental/autogpt/prompt_generator.cjs.map +1 -1
- package/dist/experimental/autogpt/prompt_generator.js +1 -2
- package/dist/experimental/autogpt/prompt_generator.js.map +1 -1
- package/dist/experimental/autogpt/schema.cjs +1 -2
- package/dist/experimental/autogpt/schema.cjs.map +1 -1
- package/dist/experimental/autogpt/schema.js +1 -1
- package/dist/experimental/babyagi/agent.cjs +6 -7
- package/dist/experimental/babyagi/agent.cjs.map +1 -1
- package/dist/experimental/babyagi/agent.js +1 -2
- package/dist/experimental/babyagi/agent.js.map +1 -1
- package/dist/experimental/babyagi/index.cjs +12 -13
- package/dist/experimental/babyagi/index.js +1 -2
- package/dist/experimental/babyagi/task_creation.cjs +3 -4
- package/dist/experimental/babyagi/task_creation.cjs.map +1 -1
- package/dist/experimental/babyagi/task_creation.js +1 -2
- package/dist/experimental/babyagi/task_creation.js.map +1 -1
- package/dist/experimental/babyagi/task_execution.cjs +3 -4
- package/dist/experimental/babyagi/task_execution.cjs.map +1 -1
- package/dist/experimental/babyagi/task_execution.js +1 -2
- package/dist/experimental/babyagi/task_execution.js.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.cjs +3 -4
- package/dist/experimental/babyagi/task_prioritization.cjs.map +1 -1
- package/dist/experimental/babyagi/task_prioritization.js +1 -2
- package/dist/experimental/babyagi/task_prioritization.js.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/index.cjs +9 -10
- package/dist/experimental/chains/violation_of_expectations/index.js +1 -2
- package/dist/experimental/chains/violation_of_expectations/types.cjs +1 -2
- package/dist/experimental/chains/violation_of_expectations/types.cjs.map +1 -1
- package/dist/experimental/chains/violation_of_expectations/types.js +1 -1
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs +6 -7
- 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.js +1 -2
- 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 +2 -3
- 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 +1 -2
- package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.cjs +4 -5
- package/dist/experimental/generative_agents/generative_agent.cjs.map +1 -1
- package/dist/experimental/generative_agents/generative_agent.js +1 -2
- package/dist/experimental/generative_agents/generative_agent.js.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.cjs +4 -5
- package/dist/experimental/generative_agents/generative_agent_memory.cjs.map +1 -1
- package/dist/experimental/generative_agents/generative_agent_memory.js +1 -2
- package/dist/experimental/generative_agents/generative_agent_memory.js.map +1 -1
- package/dist/experimental/generative_agents/index.cjs +10 -11
- package/dist/experimental/generative_agents/index.js +1 -2
- package/dist/experimental/masking/index.cjs +11 -12
- package/dist/experimental/masking/index.js +1 -2
- package/dist/experimental/masking/parser.cjs +1 -2
- package/dist/experimental/masking/parser.cjs.map +1 -1
- package/dist/experimental/masking/parser.js +1 -1
- package/dist/experimental/masking/parser.js.map +1 -1
- package/dist/experimental/masking/regex_masking_transformer.cjs +2 -3
- package/dist/experimental/masking/regex_masking_transformer.cjs.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 +1 -2
- package/dist/experimental/masking/transformer.cjs.map +1 -1
- package/dist/experimental/masking/transformer.js +1 -1
- package/dist/experimental/openai_assistant/index.cjs +9 -10
- package/dist/experimental/openai_assistant/index.cjs.map +1 -1
- package/dist/experimental/openai_assistant/index.js +1 -2
- package/dist/experimental/openai_assistant/index.js.map +1 -1
- package/dist/experimental/openai_files/index.cjs +8 -9
- package/dist/experimental/openai_files/index.cjs.map +1 -1
- package/dist/experimental/openai_files/index.js +1 -2
- package/dist/experimental/openai_files/index.js.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.cjs +10 -11
- package/dist/experimental/plan_and_execute/agent_executor.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/agent_executor.js +1 -2
- 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.js +1 -1
- package/dist/experimental/plan_and_execute/base.js.map +1 -1
- package/dist/experimental/plan_and_execute/index.cjs +11 -12
- package/dist/experimental/plan_and_execute/index.js +1 -2
- package/dist/experimental/plan_and_execute/outputParser.cjs +3 -4
- package/dist/experimental/plan_and_execute/outputParser.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/outputParser.js +1 -2
- package/dist/experimental/plan_and_execute/outputParser.js.map +1 -1
- package/dist/experimental/plan_and_execute/prompt.cjs +2 -3
- package/dist/experimental/plan_and_execute/prompt.cjs.map +1 -1
- package/dist/experimental/plan_and_execute/prompt.js +1 -2
- package/dist/experimental/plan_and_execute/prompt.js.map +1 -1
- package/dist/experimental/prompts/custom_format.cjs +8 -9
- package/dist/experimental/prompts/custom_format.cjs.map +1 -1
- package/dist/experimental/prompts/custom_format.js +1 -2
- package/dist/experimental/prompts/custom_format.js.map +1 -1
- package/dist/experimental/prompts/handlebars.cjs +9 -10
- package/dist/experimental/prompts/handlebars.cjs.map +1 -1
- package/dist/experimental/prompts/handlebars.js +1 -2
- package/dist/experimental/prompts/handlebars.js.map +1 -1
- package/dist/hub/base.cjs +1 -2
- package/dist/hub/base.cjs.map +1 -1
- package/dist/hub/base.js +1 -1
- package/dist/hub/base.js.map +1 -1
- package/dist/hub/index.cjs +4 -5
- package/dist/hub/index.cjs.map +1 -1
- package/dist/hub/index.js +1 -2
- package/dist/hub/index.js.map +1 -1
- package/dist/hub/node.cjs +5 -6
- package/dist/hub/node.cjs.map +1 -1
- package/dist/hub/node.js +1 -2
- package/dist/hub/node.js.map +1 -1
- package/dist/index.cjs +8 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/indexes/index.cjs +8 -9
- package/dist/indexes/index.js +1 -2
- package/dist/load/import_constants.cjs +1 -2
- package/dist/load/import_constants.cjs.map +1 -1
- package/dist/load/import_constants.js +1 -1
- package/dist/load/import_map.cjs +98 -99
- package/dist/load/import_map.cjs.map +1 -1
- package/dist/load/import_map.js +1 -2
- package/dist/load/import_map.js.map +1 -1
- package/dist/load/index.cjs +5 -6
- package/dist/load/index.cjs.map +1 -1
- package/dist/load/index.js +1 -2
- package/dist/load/index.js.map +1 -1
- package/dist/load/serializable.cjs +14 -14
- package/dist/load/serializable.js +2 -4
- package/dist/memory/buffer_memory.cjs +3 -4
- package/dist/memory/buffer_memory.cjs.map +1 -1
- package/dist/memory/buffer_memory.js +1 -2
- package/dist/memory/buffer_memory.js.map +1 -1
- package/dist/memory/buffer_token_memory.cjs +3 -4
- package/dist/memory/buffer_token_memory.cjs.map +1 -1
- package/dist/memory/buffer_token_memory.js +1 -2
- package/dist/memory/buffer_token_memory.js.map +1 -1
- package/dist/memory/buffer_window_memory.cjs +3 -4
- package/dist/memory/buffer_window_memory.cjs.map +1 -1
- package/dist/memory/buffer_window_memory.js +1 -2
- package/dist/memory/buffer_window_memory.js.map +1 -1
- package/dist/memory/chat_memory.cjs +8 -9
- package/dist/memory/chat_memory.cjs.map +1 -1
- package/dist/memory/chat_memory.js +1 -2
- package/dist/memory/chat_memory.js.map +1 -1
- package/dist/memory/combined_memory.cjs +2 -3
- package/dist/memory/combined_memory.cjs.map +1 -1
- package/dist/memory/combined_memory.js +1 -2
- package/dist/memory/combined_memory.js.map +1 -1
- package/dist/memory/entity_memory.cjs +6 -7
- package/dist/memory/entity_memory.cjs.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 +43 -44
- package/dist/memory/index.js +1 -2
- package/dist/memory/prompt.cjs +27 -33
- package/dist/memory/prompt.cjs.map +1 -1
- package/dist/memory/prompt.js +26 -32
- package/dist/memory/prompt.js.map +1 -1
- package/dist/memory/stores/entity/base.cjs +2 -3
- package/dist/memory/stores/entity/base.cjs.map +1 -1
- package/dist/memory/stores/entity/base.js +1 -2
- package/dist/memory/stores/entity/base.js.map +1 -1
- package/dist/memory/stores/entity/in_memory.cjs +2 -3
- package/dist/memory/stores/entity/in_memory.cjs.map +1 -1
- package/dist/memory/stores/entity/in_memory.js +1 -2
- package/dist/memory/stores/entity/in_memory.js.map +1 -1
- package/dist/memory/summary.cjs +5 -6
- package/dist/memory/summary.cjs.map +1 -1
- package/dist/memory/summary.js +1 -2
- package/dist/memory/summary.js.map +1 -1
- package/dist/memory/summary_buffer.cjs +3 -4
- package/dist/memory/summary_buffer.cjs.map +1 -1
- package/dist/memory/summary_buffer.js +1 -2
- package/dist/memory/summary_buffer.js.map +1 -1
- package/dist/memory/vector_store.cjs +3 -4
- package/dist/memory/vector_store.cjs.map +1 -1
- package/dist/memory/vector_store.js +1 -2
- package/dist/memory/vector_store.js.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/_runner.d.cts +1 -4
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/_runner.d.ts +1 -4
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluate_comparative.d.cts +1 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/evaluate_comparative.d.ts +1 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/index.d.cts +1 -4
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/index.d.ts +1 -4
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/string_evaluator.d.cts +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/evaluation/string_evaluator.d.ts +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.cts +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.cts.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.ts +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/singletons/traceable.d.ts.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.cts +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.cts.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.ts +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/async_caller.d.ts.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/p-queue.d.cts +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/dist/utils/p-queue.d.ts +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/evaluation.d.cts +1 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.9_@opentelemetry_api@1.9.0_openai@6.22.0_ws@8.19.0_bufferutil@4.1.0__zod@4.3.6_/node_modules/langsmith/evaluation.d.ts +1 -2
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.d.cts +1 -1
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.d.ts +1 -1
- package/dist/output_parsers/combining.cjs +2 -3
- package/dist/output_parsers/combining.cjs.map +1 -1
- package/dist/output_parsers/combining.js +1 -2
- package/dist/output_parsers/combining.js.map +1 -1
- package/dist/output_parsers/datetime.cjs +2 -3
- package/dist/output_parsers/datetime.cjs.map +1 -1
- package/dist/output_parsers/datetime.js +1 -2
- package/dist/output_parsers/datetime.js.map +1 -1
- package/dist/output_parsers/expression.cjs +10 -11
- package/dist/output_parsers/expression.cjs.map +1 -1
- package/dist/output_parsers/expression.js +1 -2
- package/dist/output_parsers/expression.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +2 -3
- 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 +1 -2
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/base.cjs +2 -3
- package/dist/output_parsers/expression_type_handlers/base.cjs.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 +2 -3
- 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 +1 -2
- 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 +2 -3
- 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 +1 -2
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.cjs +11 -12
- package/dist/output_parsers/expression_type_handlers/factory.cjs.map +1 -1
- package/dist/output_parsers/expression_type_handlers/factory.js +1 -2
- package/dist/output_parsers/expression_type_handlers/factory.js.map +1 -1
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs +1 -2
- 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 +1 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +2 -3
- 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 +2 -3
- 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 +1 -2
- 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 +2 -3
- 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 +1 -2
- 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 +3 -4
- 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 +1 -2
- 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 -3
- 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 +1 -2
- 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 +2 -3
- 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/fix.cjs +4 -5
- package/dist/output_parsers/fix.cjs.map +1 -1
- package/dist/output_parsers/fix.js +1 -2
- package/dist/output_parsers/fix.js.map +1 -1
- package/dist/output_parsers/http_response.cjs +2 -3
- package/dist/output_parsers/http_response.cjs.map +1 -1
- package/dist/output_parsers/http_response.js +1 -2
- package/dist/output_parsers/http_response.js.map +1 -1
- package/dist/output_parsers/index.cjs +32 -33
- package/dist/output_parsers/index.js +1 -2
- package/dist/output_parsers/noop.cjs +2 -3
- package/dist/output_parsers/noop.cjs.map +1 -1
- package/dist/output_parsers/noop.js +1 -2
- package/dist/output_parsers/noop.js.map +1 -1
- package/dist/output_parsers/openai_functions.cjs +2 -3
- package/dist/output_parsers/openai_functions.cjs.map +1 -1
- package/dist/output_parsers/openai_functions.js +1 -2
- package/dist/output_parsers/openai_functions.js.map +1 -1
- package/dist/output_parsers/openai_tools.cjs +2 -3
- package/dist/output_parsers/openai_tools.cjs.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 +4 -8
- package/dist/output_parsers/prompts.cjs.map +1 -1
- package/dist/output_parsers/prompts.js +3 -6
- package/dist/output_parsers/prompts.js.map +1 -1
- package/dist/output_parsers/regex.cjs +2 -3
- package/dist/output_parsers/regex.cjs.map +1 -1
- package/dist/output_parsers/regex.js +1 -2
- package/dist/output_parsers/regex.js.map +1 -1
- package/dist/output_parsers/router.cjs +3 -4
- package/dist/output_parsers/router.cjs.map +1 -1
- package/dist/output_parsers/router.js +1 -2
- package/dist/output_parsers/router.js.map +1 -1
- package/dist/output_parsers/structured.cjs +2 -3
- package/dist/output_parsers/structured.cjs.map +1 -1
- package/dist/output_parsers/structured.js +1 -2
- package/dist/output_parsers/structured.js.map +1 -1
- package/dist/retrievers/contextual_compression.cjs +8 -9
- package/dist/retrievers/contextual_compression.cjs.map +1 -1
- package/dist/retrievers/contextual_compression.js +1 -2
- package/dist/retrievers/contextual_compression.js.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.cjs +11 -12
- package/dist/retrievers/document_compressors/chain_extract.cjs.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract.js +1 -2
- package/dist/retrievers/document_compressors/chain_extract.js.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract_prompt.cjs +1 -2
- package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +1 -1
- package/dist/retrievers/document_compressors/chain_extract_prompt.js +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.cjs +9 -10
- package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +1 -1
- package/dist/retrievers/document_compressors/embeddings_filter.js +1 -2
- package/dist/retrievers/document_compressors/embeddings_filter.js.map +1 -1
- package/dist/retrievers/document_compressors/index.cjs +8 -10
- package/dist/retrievers/document_compressors/index.cjs.map +1 -1
- package/dist/retrievers/document_compressors/index.js +1 -2
- package/dist/retrievers/document_compressors/index.js.map +1 -1
- package/dist/retrievers/ensemble.cjs +8 -9
- package/dist/retrievers/ensemble.cjs.map +1 -1
- package/dist/retrievers/ensemble.js +1 -2
- package/dist/retrievers/ensemble.js.map +1 -1
- package/dist/retrievers/hyde.cjs +8 -9
- package/dist/retrievers/hyde.cjs.map +1 -1
- package/dist/retrievers/hyde.js +1 -2
- package/dist/retrievers/hyde.js.map +1 -1
- package/dist/retrievers/matryoshka_retriever.cjs +8 -9
- package/dist/retrievers/matryoshka_retriever.cjs.map +1 -1
- package/dist/retrievers/matryoshka_retriever.js +1 -2
- package/dist/retrievers/matryoshka_retriever.js.map +1 -1
- package/dist/retrievers/multi_query.cjs +9 -10
- package/dist/retrievers/multi_query.cjs.map +1 -1
- package/dist/retrievers/multi_query.js +1 -2
- package/dist/retrievers/multi_query.js.map +1 -1
- package/dist/retrievers/multi_vector.cjs +9 -10
- package/dist/retrievers/multi_vector.cjs.map +1 -1
- package/dist/retrievers/multi_vector.js +1 -2
- package/dist/retrievers/multi_vector.js.map +1 -1
- package/dist/retrievers/parent_document.cjs +9 -10
- package/dist/retrievers/parent_document.cjs.map +1 -1
- package/dist/retrievers/parent_document.js +1 -2
- package/dist/retrievers/parent_document.js.map +1 -1
- package/dist/retrievers/score_threshold.cjs +8 -9
- package/dist/retrievers/score_threshold.cjs.map +1 -1
- package/dist/retrievers/score_threshold.js +1 -2
- package/dist/retrievers/score_threshold.js.map +1 -1
- package/dist/retrievers/self_query/functional.cjs +13 -14
- package/dist/retrievers/self_query/functional.js +1 -2
- package/dist/retrievers/self_query/index.cjs +24 -25
- package/dist/retrievers/self_query/index.cjs.map +1 -1
- package/dist/retrievers/self_query/index.js +1 -2
- package/dist/retrievers/self_query/index.js.map +1 -1
- package/dist/retrievers/time_weighted.cjs +9 -10
- package/dist/retrievers/time_weighted.cjs.map +1 -1
- package/dist/retrievers/time_weighted.js +2 -3
- package/dist/retrievers/time_weighted.js.map +1 -1
- package/dist/schema/prompt_template.cjs +8 -10
- package/dist/schema/prompt_template.cjs.map +1 -1
- package/dist/schema/prompt_template.js +1 -2
- package/dist/schema/prompt_template.js.map +1 -1
- package/dist/schema/query_constructor.cjs +8 -10
- package/dist/schema/query_constructor.cjs.map +1 -1
- package/dist/schema/query_constructor.js +1 -2
- package/dist/schema/query_constructor.js.map +1 -1
- package/dist/smith/config.cjs +1 -2
- package/dist/smith/config.cjs.map +1 -1
- package/dist/smith/config.d.cts +0 -1
- package/dist/smith/config.d.cts.map +1 -1
- package/dist/smith/config.d.ts +0 -2
- package/dist/smith/config.d.ts.map +1 -1
- package/dist/smith/config.js +1 -1
- package/dist/smith/index.cjs +10 -11
- package/dist/smith/index.js +1 -2
- package/dist/smith/name_generation.cjs +1 -2
- package/dist/smith/name_generation.cjs.map +1 -1
- package/dist/smith/name_generation.js +1 -1
- package/dist/smith/progress.cjs +1 -2
- package/dist/smith/progress.cjs.map +1 -1
- package/dist/smith/progress.js +1 -1
- package/dist/smith/progress.js.map +1 -1
- package/dist/smith/runner_utils.cjs +6 -7
- package/dist/smith/runner_utils.cjs.map +1 -1
- package/dist/smith/runner_utils.d.cts +0 -1
- package/dist/smith/runner_utils.d.cts.map +1 -1
- package/dist/smith/runner_utils.d.ts +0 -1
- package/dist/smith/runner_utils.d.ts.map +1 -1
- package/dist/smith/runner_utils.js +1 -2
- package/dist/smith/runner_utils.js.map +1 -1
- package/dist/sql_db.cjs +9 -10
- package/dist/sql_db.cjs.map +1 -1
- package/dist/sql_db.js +1 -2
- package/dist/sql_db.js.map +1 -1
- package/dist/storage/encoder_backed.cjs +8 -9
- package/dist/storage/encoder_backed.cjs.map +1 -1
- package/dist/storage/encoder_backed.js +1 -2
- package/dist/storage/encoder_backed.js.map +1 -1
- package/dist/storage/file_system.cjs +8 -9
- package/dist/storage/file_system.cjs.map +1 -1
- package/dist/storage/file_system.js +1 -2
- package/dist/storage/file_system.js.map +1 -1
- package/dist/storage/in_memory.cjs +13 -14
- package/dist/storage/in_memory.js +1 -2
- package/dist/stores/doc/base.cjs +8 -10
- package/dist/stores/doc/base.cjs.map +1 -1
- package/dist/stores/doc/base.js +1 -2
- package/dist/stores/doc/base.js.map +1 -1
- package/dist/stores/doc/in_memory.cjs +9 -10
- package/dist/stores/doc/in_memory.cjs.map +1 -1
- package/dist/stores/doc/in_memory.js +1 -2
- package/dist/stores/doc/in_memory.js.map +1 -1
- package/dist/stores/file/base.cjs +2 -3
- package/dist/stores/file/base.cjs.map +1 -1
- package/dist/stores/file/base.js +1 -2
- package/dist/stores/file/base.js.map +1 -1
- package/dist/stores/file/in_memory.cjs +9 -10
- package/dist/stores/file/in_memory.cjs.map +1 -1
- package/dist/stores/file/in_memory.js +1 -2
- package/dist/stores/file/in_memory.js.map +1 -1
- package/dist/stores/file/node.cjs +9 -10
- package/dist/stores/file/node.cjs.map +1 -1
- package/dist/stores/file/node.js +1 -2
- package/dist/stores/file/node.js.map +1 -1
- package/dist/stores/message/in_memory.cjs +13 -14
- package/dist/stores/message/in_memory.js +1 -2
- package/dist/text_splitter.cjs +14 -14
- package/dist/text_splitter.d.cts +0 -1
- package/dist/text_splitter.d.ts +0 -1
- package/dist/text_splitter.js +2 -4
- package/dist/tools/chain.cjs +8 -9
- package/dist/tools/chain.cjs.map +1 -1
- package/dist/tools/chain.js +1 -2
- package/dist/tools/chain.js.map +1 -1
- package/dist/tools/fs.cjs +2 -3
- package/dist/tools/fs.cjs.map +1 -1
- package/dist/tools/fs.js +1 -2
- package/dist/tools/fs.js.map +1 -1
- package/dist/tools/index.cjs +33 -34
- package/dist/tools/index.js +1 -2
- package/dist/tools/json.cjs +2 -3
- package/dist/tools/json.cjs.map +1 -1
- package/dist/tools/json.js +1 -2
- package/dist/tools/json.js.map +1 -1
- package/dist/tools/render.cjs +8 -9
- package/dist/tools/render.cjs.map +1 -1
- package/dist/tools/render.js +1 -2
- package/dist/tools/render.js.map +1 -1
- package/dist/tools/requests.cjs +2 -3
- package/dist/tools/requests.cjs.map +1 -1
- package/dist/tools/requests.js +1 -2
- package/dist/tools/requests.js.map +1 -1
- package/dist/tools/retriever.cjs +9 -10
- package/dist/tools/retriever.cjs.map +1 -1
- package/dist/tools/retriever.js +1 -2
- package/dist/tools/retriever.js.map +1 -1
- package/dist/tools/sql.cjs +9 -10
- package/dist/tools/sql.cjs.map +1 -1
- package/dist/tools/sql.js +1 -2
- package/dist/tools/sql.js.map +1 -1
- package/dist/tools/vectorstore.cjs +3 -4
- package/dist/tools/vectorstore.cjs.map +1 -1
- package/dist/tools/vectorstore.js +1 -2
- package/dist/tools/vectorstore.js.map +1 -1
- package/dist/tools/webbrowser.cjs +10 -11
- package/dist/tools/webbrowser.cjs.map +1 -1
- package/dist/tools/webbrowser.js +1 -2
- package/dist/tools/webbrowser.js.map +1 -1
- package/dist/util/document.cjs +8 -10
- package/dist/util/document.cjs.map +1 -1
- package/dist/util/document.js +1 -2
- package/dist/util/document.js.map +1 -1
- package/dist/util/entrypoint_deprecation.cjs +1 -1
- package/dist/util/entrypoint_deprecation.js +1 -2
- package/dist/util/env.cjs +2 -2
- package/dist/util/env.js +1 -2
- package/dist/util/extname.cjs +1 -2
- package/dist/util/extname.cjs.map +1 -1
- package/dist/util/extname.js +1 -1
- package/dist/util/hub.cjs +4 -5
- package/dist/util/hub.cjs.map +1 -1
- package/dist/util/hub.js +1 -2
- package/dist/util/hub.js.map +1 -1
- package/dist/util/is-network-error/index.cjs +1 -2
- package/dist/util/is-network-error/index.cjs.map +1 -1
- package/dist/util/is-network-error/index.js +1 -1
- 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.js +1 -1
- package/dist/util/math.cjs +14 -14
- package/dist/util/math.js +2 -4
- package/dist/util/ml-distance/distances.cjs +1 -2
- package/dist/util/ml-distance/distances.cjs.map +1 -1
- package/dist/util/ml-distance/distances.js +1 -1
- package/dist/util/ml-distance/similarities.cjs +1 -2
- package/dist/util/ml-distance/similarities.cjs.map +1 -1
- package/dist/util/ml-distance/similarities.js +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.cjs +1 -2
- package/dist/util/ml-distance-euclidean/euclidean.cjs.map +1 -1
- package/dist/util/ml-distance-euclidean/euclidean.js +1 -1
- package/dist/util/openapi.cjs +2 -3
- package/dist/util/openapi.cjs.map +1 -1
- package/dist/util/openapi.js +1 -2
- package/dist/util/openapi.js.map +1 -1
- package/dist/util/p-retry/index.cjs +2 -3
- package/dist/util/p-retry/index.cjs.map +1 -1
- package/dist/util/p-retry/index.js +1 -2
- package/dist/util/p-retry/index.js.map +1 -1
- package/dist/util/parse.cjs +3 -4
- package/dist/util/parse.cjs.map +1 -1
- package/dist/util/parse.js +1 -2
- package/dist/util/parse.js.map +1 -1
- package/dist/util/set.cjs +1 -2
- package/dist/util/set.cjs.map +1 -1
- package/dist/util/set.js +1 -1
- package/dist/util/sql_utils.cjs +2 -3
- package/dist/util/sql_utils.cjs.map +1 -1
- package/dist/util/sql_utils.js +1 -2
- package/dist/util/sql_utils.js.map +1 -1
- package/dist/util/time.cjs +8 -10
- package/dist/util/time.cjs.map +1 -1
- package/dist/util/time.js +1 -2
- package/dist/util/time.js.map +1 -1
- package/dist/vectorstores/memory.cjs +9 -10
- package/dist/vectorstores/memory.cjs.map +1 -1
- package/dist/vectorstores/memory.js +1 -2
- package/dist/vectorstores/memory.js.map +1 -1
- package/package.json +21 -17
- package/agents/format_scratchpad/log.cjs +0 -1
- package/agents/format_scratchpad/log.d.cts +0 -1
- package/agents/format_scratchpad/log.d.ts +0 -1
- package/agents/format_scratchpad/log.js +0 -1
- package/agents/format_scratchpad/log_to_message.cjs +0 -1
- package/agents/format_scratchpad/log_to_message.d.cts +0 -1
- package/agents/format_scratchpad/log_to_message.d.ts +0 -1
- package/agents/format_scratchpad/log_to_message.js +0 -1
- package/agents/format_scratchpad/openai_functions.cjs +0 -1
- package/agents/format_scratchpad/openai_functions.d.cts +0 -1
- package/agents/format_scratchpad/openai_functions.d.ts +0 -1
- package/agents/format_scratchpad/openai_functions.js +0 -1
- package/agents/format_scratchpad/openai_tools.cjs +0 -1
- package/agents/format_scratchpad/openai_tools.d.cts +0 -1
- package/agents/format_scratchpad/openai_tools.d.ts +0 -1
- package/agents/format_scratchpad/openai_tools.js +0 -1
- package/agents/format_scratchpad/xml.cjs +0 -1
- package/agents/format_scratchpad/xml.d.cts +0 -1
- package/agents/format_scratchpad/xml.d.ts +0 -1
- package/agents/format_scratchpad/xml.js +0 -1
- package/agents/load.cjs +0 -1
- package/agents/load.d.cts +0 -1
- package/agents/load.d.ts +0 -1
- package/agents/load.js +0 -1
- package/agents/openai/output_parser.cjs +0 -1
- package/agents/openai/output_parser.d.cts +0 -1
- package/agents/openai/output_parser.d.ts +0 -1
- package/agents/openai/output_parser.js +0 -1
- package/agents/react/output_parser.cjs +0 -1
- package/agents/react/output_parser.d.cts +0 -1
- package/agents/react/output_parser.d.ts +0 -1
- package/agents/react/output_parser.js +0 -1
- package/agents/toolkits/sql.cjs +0 -1
- package/agents/toolkits/sql.d.cts +0 -1
- package/agents/toolkits/sql.d.ts +0 -1
- package/agents/toolkits/sql.js +0 -1
- package/agents/toolkits.cjs +0 -1
- package/agents/toolkits.d.cts +0 -1
- package/agents/toolkits.d.ts +0 -1
- package/agents/toolkits.js +0 -1
- package/agents/xml/output_parser.cjs +0 -1
- package/agents/xml/output_parser.d.cts +0 -1
- package/agents/xml/output_parser.d.ts +0 -1
- package/agents/xml/output_parser.js +0 -1
- package/agents.cjs +0 -1
- package/agents.d.cts +0 -1
- package/agents.d.ts +0 -1
- package/agents.js +0 -1
- package/cache/file_system.cjs +0 -1
- package/cache/file_system.d.cts +0 -1
- package/cache/file_system.d.ts +0 -1
- package/cache/file_system.js +0 -1
- package/callbacks.cjs +0 -1
- package/callbacks.d.cts +0 -1
- package/callbacks.d.ts +0 -1
- package/callbacks.js +0 -1
- package/chains/combine_documents/reduce.cjs +0 -1
- package/chains/combine_documents/reduce.d.cts +0 -1
- package/chains/combine_documents/reduce.d.ts +0 -1
- package/chains/combine_documents/reduce.js +0 -1
- package/chains/combine_documents.cjs +0 -1
- package/chains/combine_documents.d.cts +0 -1
- package/chains/combine_documents.d.ts +0 -1
- package/chains/combine_documents.js +0 -1
- package/chains/graph_qa/cypher.cjs +0 -1
- package/chains/graph_qa/cypher.d.cts +0 -1
- package/chains/graph_qa/cypher.d.ts +0 -1
- package/chains/graph_qa/cypher.js +0 -1
- package/chains/history_aware_retriever.cjs +0 -1
- package/chains/history_aware_retriever.d.cts +0 -1
- package/chains/history_aware_retriever.d.ts +0 -1
- package/chains/history_aware_retriever.js +0 -1
- package/chains/load.cjs +0 -1
- package/chains/load.d.cts +0 -1
- package/chains/load.d.ts +0 -1
- package/chains/load.js +0 -1
- package/chains/openai_functions.cjs +0 -1
- package/chains/openai_functions.d.cts +0 -1
- package/chains/openai_functions.d.ts +0 -1
- package/chains/openai_functions.js +0 -1
- package/chains/query_constructor/ir.cjs +0 -1
- package/chains/query_constructor/ir.d.cts +0 -1
- package/chains/query_constructor/ir.d.ts +0 -1
- package/chains/query_constructor/ir.js +0 -1
- package/chains/query_constructor.cjs +0 -1
- package/chains/query_constructor.d.cts +0 -1
- package/chains/query_constructor.d.ts +0 -1
- package/chains/query_constructor.js +0 -1
- package/chains/retrieval.cjs +0 -1
- package/chains/retrieval.d.cts +0 -1
- package/chains/retrieval.d.ts +0 -1
- package/chains/retrieval.js +0 -1
- package/chains/sql_db.cjs +0 -1
- package/chains/sql_db.d.cts +0 -1
- package/chains/sql_db.d.ts +0 -1
- package/chains/sql_db.js +0 -1
- package/chains.cjs +0 -1
- package/chains.d.cts +0 -1
- package/chains.d.ts +0 -1
- package/chains.js +0 -1
- package/chat_models/universal.cjs +0 -1
- package/chat_models/universal.d.cts +0 -1
- package/chat_models/universal.d.ts +0 -1
- package/chat_models/universal.js +0 -1
- package/document.cjs +0 -1
- package/document.d.cts +0 -1
- package/document.d.ts +0 -1
- package/document.js +0 -1
- package/document_loaders/base.cjs +0 -1
- package/document_loaders/base.d.cts +0 -1
- package/document_loaders/base.d.ts +0 -1
- package/document_loaders/base.js +0 -1
- package/document_loaders/fs/buffer.cjs +0 -1
- package/document_loaders/fs/buffer.d.cts +0 -1
- package/document_loaders/fs/buffer.d.ts +0 -1
- package/document_loaders/fs/buffer.js +0 -1
- package/document_loaders/fs/directory.cjs +0 -1
- package/document_loaders/fs/directory.d.cts +0 -1
- package/document_loaders/fs/directory.d.ts +0 -1
- package/document_loaders/fs/directory.js +0 -1
- package/document_loaders/fs/json.cjs +0 -1
- package/document_loaders/fs/json.d.cts +0 -1
- package/document_loaders/fs/json.d.ts +0 -1
- package/document_loaders/fs/json.js +0 -1
- package/document_loaders/fs/multi_file.cjs +0 -1
- package/document_loaders/fs/multi_file.d.cts +0 -1
- package/document_loaders/fs/multi_file.d.ts +0 -1
- package/document_loaders/fs/multi_file.js +0 -1
- package/document_loaders/fs/text.cjs +0 -1
- package/document_loaders/fs/text.d.cts +0 -1
- package/document_loaders/fs/text.d.ts +0 -1
- package/document_loaders/fs/text.js +0 -1
- package/document_transformers/openai_functions.cjs +0 -1
- package/document_transformers/openai_functions.d.cts +0 -1
- package/document_transformers/openai_functions.d.ts +0 -1
- package/document_transformers/openai_functions.js +0 -1
- package/embeddings/cache_backed.cjs +0 -1
- package/embeddings/cache_backed.d.cts +0 -1
- package/embeddings/cache_backed.d.ts +0 -1
- package/embeddings/cache_backed.js +0 -1
- package/embeddings/fake.cjs +0 -1
- package/embeddings/fake.d.cts +0 -1
- package/embeddings/fake.d.ts +0 -1
- package/embeddings/fake.js +0 -1
- package/evaluation.cjs +0 -1
- package/evaluation.d.cts +0 -1
- package/evaluation.d.ts +0 -1
- package/evaluation.js +0 -1
- package/experimental/autogpt.cjs +0 -1
- package/experimental/autogpt.d.cts +0 -1
- package/experimental/autogpt.d.ts +0 -1
- package/experimental/autogpt.js +0 -1
- package/experimental/babyagi.cjs +0 -1
- package/experimental/babyagi.d.cts +0 -1
- package/experimental/babyagi.d.ts +0 -1
- package/experimental/babyagi.js +0 -1
- package/experimental/chains/violation_of_expectations.cjs +0 -1
- package/experimental/chains/violation_of_expectations.d.cts +0 -1
- package/experimental/chains/violation_of_expectations.d.ts +0 -1
- package/experimental/chains/violation_of_expectations.js +0 -1
- package/experimental/generative_agents.cjs +0 -1
- package/experimental/generative_agents.d.cts +0 -1
- package/experimental/generative_agents.d.ts +0 -1
- package/experimental/generative_agents.js +0 -1
- package/experimental/masking.cjs +0 -1
- package/experimental/masking.d.cts +0 -1
- package/experimental/masking.d.ts +0 -1
- package/experimental/masking.js +0 -1
- package/experimental/openai_assistant.cjs +0 -1
- package/experimental/openai_assistant.d.cts +0 -1
- package/experimental/openai_assistant.d.ts +0 -1
- package/experimental/openai_assistant.js +0 -1
- package/experimental/openai_files.cjs +0 -1
- package/experimental/openai_files.d.cts +0 -1
- package/experimental/openai_files.d.ts +0 -1
- package/experimental/openai_files.js +0 -1
- package/experimental/plan_and_execute.cjs +0 -1
- package/experimental/plan_and_execute.d.cts +0 -1
- package/experimental/plan_and_execute.d.ts +0 -1
- package/experimental/plan_and_execute.js +0 -1
- package/experimental/prompts/custom_format.cjs +0 -1
- package/experimental/prompts/custom_format.d.cts +0 -1
- package/experimental/prompts/custom_format.d.ts +0 -1
- package/experimental/prompts/custom_format.js +0 -1
- package/experimental/prompts/handlebars.cjs +0 -1
- package/experimental/prompts/handlebars.d.cts +0 -1
- package/experimental/prompts/handlebars.d.ts +0 -1
- package/experimental/prompts/handlebars.js +0 -1
- package/hub/node.cjs +0 -1
- package/hub/node.d.cts +0 -1
- package/hub/node.d.ts +0 -1
- package/hub/node.js +0 -1
- package/hub.cjs +0 -1
- package/hub.d.cts +0 -1
- package/hub.d.ts +0 -1
- package/hub.js +0 -1
- package/indexes.cjs +0 -1
- package/indexes.d.cts +0 -1
- package/indexes.d.ts +0 -1
- package/indexes.js +0 -1
- package/load/serializable.cjs +0 -1
- package/load/serializable.d.cts +0 -1
- package/load/serializable.d.ts +0 -1
- package/load/serializable.js +0 -1
- package/load.cjs +0 -1
- package/load.d.cts +0 -1
- package/load.d.ts +0 -1
- package/load.js +0 -1
- package/memory/chat_memory.cjs +0 -1
- package/memory/chat_memory.d.cts +0 -1
- package/memory/chat_memory.d.ts +0 -1
- package/memory/chat_memory.js +0 -1
- package/memory.cjs +0 -1
- package/memory.d.cts +0 -1
- package/memory.d.ts +0 -1
- package/memory.js +0 -1
- package/output_parsers/expression.cjs +0 -1
- package/output_parsers/expression.d.cts +0 -1
- package/output_parsers/expression.d.ts +0 -1
- package/output_parsers/expression.js +0 -1
- package/output_parsers.cjs +0 -1
- package/output_parsers.d.cts +0 -1
- package/output_parsers.d.ts +0 -1
- package/output_parsers.js +0 -1
- package/retrievers/contextual_compression.cjs +0 -1
- package/retrievers/contextual_compression.d.cts +0 -1
- package/retrievers/contextual_compression.d.ts +0 -1
- package/retrievers/contextual_compression.js +0 -1
- package/retrievers/document_compressors/chain_extract.cjs +0 -1
- package/retrievers/document_compressors/chain_extract.d.cts +0 -1
- package/retrievers/document_compressors/chain_extract.d.ts +0 -1
- package/retrievers/document_compressors/chain_extract.js +0 -1
- package/retrievers/document_compressors/embeddings_filter.cjs +0 -1
- package/retrievers/document_compressors/embeddings_filter.d.cts +0 -1
- package/retrievers/document_compressors/embeddings_filter.d.ts +0 -1
- package/retrievers/document_compressors/embeddings_filter.js +0 -1
- package/retrievers/document_compressors.cjs +0 -1
- package/retrievers/document_compressors.d.cts +0 -1
- package/retrievers/document_compressors.d.ts +0 -1
- package/retrievers/document_compressors.js +0 -1
- package/retrievers/ensemble.cjs +0 -1
- package/retrievers/ensemble.d.cts +0 -1
- package/retrievers/ensemble.d.ts +0 -1
- package/retrievers/ensemble.js +0 -1
- package/retrievers/hyde.cjs +0 -1
- package/retrievers/hyde.d.cts +0 -1
- package/retrievers/hyde.d.ts +0 -1
- package/retrievers/hyde.js +0 -1
- package/retrievers/matryoshka_retriever.cjs +0 -1
- package/retrievers/matryoshka_retriever.d.cts +0 -1
- package/retrievers/matryoshka_retriever.d.ts +0 -1
- package/retrievers/matryoshka_retriever.js +0 -1
- package/retrievers/multi_query.cjs +0 -1
- package/retrievers/multi_query.d.cts +0 -1
- package/retrievers/multi_query.d.ts +0 -1
- package/retrievers/multi_query.js +0 -1
- package/retrievers/multi_vector.cjs +0 -1
- package/retrievers/multi_vector.d.cts +0 -1
- package/retrievers/multi_vector.d.ts +0 -1
- package/retrievers/multi_vector.js +0 -1
- package/retrievers/parent_document.cjs +0 -1
- package/retrievers/parent_document.d.cts +0 -1
- package/retrievers/parent_document.d.ts +0 -1
- package/retrievers/parent_document.js +0 -1
- package/retrievers/score_threshold.cjs +0 -1
- package/retrievers/score_threshold.d.cts +0 -1
- package/retrievers/score_threshold.d.ts +0 -1
- package/retrievers/score_threshold.js +0 -1
- package/retrievers/self_query/functional.cjs +0 -1
- package/retrievers/self_query/functional.d.cts +0 -1
- package/retrievers/self_query/functional.d.ts +0 -1
- package/retrievers/self_query/functional.js +0 -1
- package/retrievers/self_query.cjs +0 -1
- package/retrievers/self_query.d.cts +0 -1
- package/retrievers/self_query.d.ts +0 -1
- package/retrievers/self_query.js +0 -1
- package/retrievers/time_weighted.cjs +0 -1
- package/retrievers/time_weighted.d.cts +0 -1
- package/retrievers/time_weighted.d.ts +0 -1
- package/retrievers/time_weighted.js +0 -1
- package/schema/prompt_template.cjs +0 -1
- package/schema/prompt_template.d.cts +0 -1
- package/schema/prompt_template.d.ts +0 -1
- package/schema/prompt_template.js +0 -1
- package/schema/query_constructor.cjs +0 -1
- package/schema/query_constructor.d.cts +0 -1
- package/schema/query_constructor.d.ts +0 -1
- package/schema/query_constructor.js +0 -1
- package/smith.cjs +0 -1
- package/smith.d.cts +0 -1
- package/smith.d.ts +0 -1
- package/smith.js +0 -1
- package/sql_db.cjs +0 -1
- package/sql_db.d.cts +0 -1
- package/sql_db.d.ts +0 -1
- package/sql_db.js +0 -1
- package/storage/encoder_backed.cjs +0 -1
- package/storage/encoder_backed.d.cts +0 -1
- package/storage/encoder_backed.d.ts +0 -1
- package/storage/encoder_backed.js +0 -1
- package/storage/file_system.cjs +0 -1
- package/storage/file_system.d.cts +0 -1
- package/storage/file_system.d.ts +0 -1
- package/storage/file_system.js +0 -1
- package/storage/in_memory.cjs +0 -1
- package/storage/in_memory.d.cts +0 -1
- package/storage/in_memory.d.ts +0 -1
- package/storage/in_memory.js +0 -1
- package/stores/doc/base.cjs +0 -1
- package/stores/doc/base.d.cts +0 -1
- package/stores/doc/base.d.ts +0 -1
- package/stores/doc/base.js +0 -1
- package/stores/doc/in_memory.cjs +0 -1
- package/stores/doc/in_memory.d.cts +0 -1
- package/stores/doc/in_memory.d.ts +0 -1
- package/stores/doc/in_memory.js +0 -1
- package/stores/file/in_memory.cjs +0 -1
- package/stores/file/in_memory.d.cts +0 -1
- package/stores/file/in_memory.d.ts +0 -1
- package/stores/file/in_memory.js +0 -1
- package/stores/file/node.cjs +0 -1
- package/stores/file/node.d.cts +0 -1
- package/stores/file/node.d.ts +0 -1
- package/stores/file/node.js +0 -1
- package/stores/message/in_memory.cjs +0 -1
- package/stores/message/in_memory.d.cts +0 -1
- package/stores/message/in_memory.d.ts +0 -1
- package/stores/message/in_memory.js +0 -1
- package/text_splitter.cjs +0 -1
- package/text_splitter.d.cts +0 -1
- package/text_splitter.d.ts +0 -1
- package/text_splitter.js +0 -1
- package/tools/chain.cjs +0 -1
- package/tools/chain.d.cts +0 -1
- package/tools/chain.d.ts +0 -1
- package/tools/chain.js +0 -1
- package/tools/render.cjs +0 -1
- package/tools/render.d.cts +0 -1
- package/tools/render.d.ts +0 -1
- package/tools/render.js +0 -1
- package/tools/retriever.cjs +0 -1
- package/tools/retriever.d.cts +0 -1
- package/tools/retriever.d.ts +0 -1
- package/tools/retriever.js +0 -1
- package/tools/sql.cjs +0 -1
- package/tools/sql.d.cts +0 -1
- package/tools/sql.d.ts +0 -1
- package/tools/sql.js +0 -1
- package/tools/webbrowser.cjs +0 -1
- package/tools/webbrowser.d.cts +0 -1
- package/tools/webbrowser.d.ts +0 -1
- package/tools/webbrowser.js +0 -1
- package/tools.cjs +0 -1
- package/tools.d.cts +0 -1
- package/tools.d.ts +0 -1
- package/tools.js +0 -1
- package/util/document.cjs +0 -1
- package/util/document.d.cts +0 -1
- package/util/document.d.ts +0 -1
- package/util/document.js +0 -1
- package/util/math.cjs +0 -1
- package/util/math.d.cts +0 -1
- package/util/math.d.ts +0 -1
- package/util/math.js +0 -1
- package/util/time.cjs +0 -1
- package/util/time.d.cts +0 -1
- package/util/time.d.ts +0 -1
- package/util/time.js +0 -1
- package/vectorstores/memory.cjs +0 -1
- package/vectorstores/memory.d.cts +0 -1
- package/vectorstores/memory.d.ts +0 -1
- package/vectorstores/memory.js +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
let _langchain_core_output_parsers = require("@langchain/core/output_parsers");
|
|
3
3
|
let _langchain_core_utils_types = require("@langchain/core/utils/types");
|
|
4
4
|
let _langchain_core_utils_json_schema = require("@langchain/core/utils/json_schema");
|
|
5
5
|
let zod_v3 = require("zod/v3");
|
|
6
|
-
|
|
7
6
|
//#region src/output_parsers/structured.ts
|
|
8
7
|
var StructuredOutputParser = class extends _langchain_core_output_parsers.BaseOutputParser {
|
|
9
8
|
static lc_name() {
|
|
@@ -155,9 +154,9 @@ var AsymmetricStructuredOutputParser = class extends _langchain_core_output_pars
|
|
|
155
154
|
return this.structuredInputParser.getFormatInstructions();
|
|
156
155
|
}
|
|
157
156
|
};
|
|
158
|
-
|
|
159
157
|
//#endregion
|
|
160
158
|
exports.AsymmetricStructuredOutputParser = AsymmetricStructuredOutputParser;
|
|
161
159
|
exports.JsonMarkdownStructuredOutputParser = JsonMarkdownStructuredOutputParser;
|
|
162
160
|
exports.StructuredOutputParser = StructuredOutputParser;
|
|
161
|
+
|
|
163
162
|
//# sourceMappingURL=structured.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured.cjs","names":["BaseOutputParser","z","OutputParserException"],"sources":["../../src/output_parsers/structured.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport {\n toJsonSchema,\n type JsonSchema7Type,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"@langchain/core/utils/json_schema\";\nimport {\n BaseOutputParser,\n FormatInstructionsOptions,\n OutputParserException,\n} from \"@langchain/core/output_parsers\";\nimport {\n interopParseAsync,\n type InferInteropZodOutput,\n type InteropZodType,\n} from \"@langchain/core/utils/types\";\n\nexport type JsonMarkdownStructuredOutputParserInput = {\n interpolationDepth?: number;\n};\n\nexport interface JsonMarkdownFormatInstructionsOptions extends FormatInstructionsOptions {\n interpolationDepth?: number;\n}\n\nexport class StructuredOutputParser<\n T extends InteropZodType,\n> extends BaseOutputParser<InferInteropZodOutput<T>> {\n static lc_name() {\n return \"StructuredOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"structured\"];\n\n toJSON() {\n return this.toJSONNotImplemented();\n }\n\n constructor(public schema: T) {\n super(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a Zod schema.\n * @param schema The Zod schema which the output should match\n * @returns A new instance of StructuredOutputParser.\n */\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a set of names and\n * descriptions.\n * @param schemas An object where each key is a name and each value is a description\n * @returns A new instance of StructuredOutputParser.\n */\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this(zodSchema);\n }\n\n /**\n * Returns a markdown code snippet with a JSON object formatted according\n * to the schema.\n * @param options Optional. The options for formatting the instructions\n * @returns A markdown code snippet with a JSON object formatted according to the schema.\n */\n getFormatInstructions(): string {\n return `You must format your output as a JSON value that adheres to a given \"JSON Schema\" instance.\n\n\"JSON Schema\" is a declarative language that allows you to annotate and validate JSON documents.\n\nFor example, the example \"JSON Schema\" instance {{\"properties\": {{\"foo\": {{\"description\": \"a list of test words\", \"type\": \"array\", \"items\": {{\"type\": \"string\"}}}}}}, \"required\": [\"foo\"]}}}}\nwould match an object with one required property, \"foo\". The \"type\" property specifies \"foo\" must be an \"array\", and the \"description\" property semantically describes it as \"a list of test words\". The items within \"foo\" must be strings.\nThus, the object {{\"foo\": [\"bar\", \"baz\"]}} is a well-formatted instance of this example \"JSON Schema\". The object {{\"properties\": {{\"foo\": [\"bar\", \"baz\"]}}}} is not well-formatted.\n\nYour output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!\n\nHere is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:\n\\`\\`\\`json\n${JSON.stringify(toJsonSchema(this.schema))}\n\\`\\`\\`\n`;\n }\n\n /**\n * Parses the given text according to the schema.\n * @param text The text to parse\n * @returns The parsed output.\n */\n async parse(text: string): Promise<InferInteropZodOutput<T>> {\n try {\n const json = text.includes(\"```\")\n ? text.trim().split(/```(?:json)?/)[1]\n : text.trim();\n return await interopParseAsync(this.schema, JSON.parse(json));\n } catch {\n try {\n return await interopParseAsync(this.schema, JSON.parse(text.trim()));\n } catch (e2) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e2}`,\n text\n );\n }\n }\n }\n}\n\n/**\n * A specific type of `StructuredOutputParser` that parses JSON data\n * formatted as a markdown code snippet.\n */\nexport class JsonMarkdownStructuredOutputParser<\n T extends InteropZodType,\n> extends StructuredOutputParser<T> {\n static lc_name() {\n return \"JsonMarkdownStructuredOutputParser\";\n }\n\n getFormatInstructions(\n options?: JsonMarkdownFormatInstructionsOptions\n ): string {\n const interpolationDepth = options?.interpolationDepth ?? 1;\n if (interpolationDepth < 1) {\n throw new Error(\"f string interpolation depth must be at least 1\");\n }\n\n return `Return a markdown code snippet with a JSON object formatted to look like:\\n\\`\\`\\`json\\n${this._schemaToInstruction(\n toJsonSchema(this.schema)\n )\n .replaceAll(\"{\", \"{\".repeat(interpolationDepth))\n .replaceAll(\"}\", \"}\".repeat(interpolationDepth))}\\n\\`\\`\\``;\n }\n\n private _schemaToInstruction(\n schemaInput: JsonSchema7Type,\n indent = 2\n ): string {\n const schema = schemaInput as Extract<\n JsonSchema7Type,\n | JsonSchema7ObjectType\n | JsonSchema7ArrayType\n | JsonSchema7StringType\n | JsonSchema7NumberType\n | JsonSchema7NullableType\n >;\n\n if (\"type\" in schema) {\n let nullable = false;\n let type: string;\n if (Array.isArray(schema.type)) {\n const nullIdx = schema.type.findIndex((type) => type === \"null\");\n if (nullIdx !== -1) {\n nullable = true;\n schema.type.splice(nullIdx, 1);\n }\n type = schema.type.join(\" | \") as string;\n } else {\n type = schema.type;\n }\n\n if (schema.type === \"object\" && schema.properties) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n const properties = Object.entries(schema.properties)\n .map(([key, value]) => {\n const isOptional = schema.required?.includes(key)\n ? \"\"\n : \" (optional)\";\n return `${\" \".repeat(indent)}\"${key}\": ${this._schemaToInstruction(\n value,\n indent + 2\n )}${isOptional}`;\n })\n .join(\"\\n\");\n return `{\\n${properties}\\n${\" \".repeat(indent - 2)}}${description}`;\n }\n if (schema.type === \"array\" && schema.items) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n return `array[\\n${\" \".repeat(indent)}${this._schemaToInstruction(\n schema.items,\n indent + 2\n )}\\n${\" \".repeat(indent - 2)}] ${description}`;\n }\n const isNullable = nullable ? \" (nullable)\" : \"\";\n const description = schema.description ? ` // ${schema.description}` : \"\";\n return `${type}${description}${isNullable}`;\n }\n\n if (\"anyOf\" in schema) {\n return schema.anyOf\n .map((s) => this._schemaToInstruction(s, indent))\n .join(`\\n${\" \".repeat(indent - 2)}`);\n }\n\n throw new Error(\"unsupported schema type\");\n }\n\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this<T>(schema);\n }\n\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this<typeof zodSchema>(zodSchema);\n }\n}\n\nexport interface AsymmetricStructuredOutputParserFields<\n T extends InteropZodType,\n> {\n inputSchema: T;\n}\n\n/**\n * A type of `StructuredOutputParser` that handles asymmetric input and\n * output schemas.\n */\nexport abstract class AsymmetricStructuredOutputParser<\n T extends InteropZodType,\n Y = unknown,\n> extends BaseOutputParser<Y> {\n private structuredInputParser: JsonMarkdownStructuredOutputParser<T>;\n\n constructor({ inputSchema }: AsymmetricStructuredOutputParserFields<T>) {\n super(...arguments);\n this.structuredInputParser = new JsonMarkdownStructuredOutputParser(\n inputSchema\n );\n }\n\n /**\n * Processes the parsed input into the desired output format. Must be\n * implemented by subclasses.\n * @param input The parsed input\n * @returns The processed output.\n */\n abstract outputProcessor(input: InferInteropZodOutput<T>): Promise<Y>;\n\n async parse(text: string): Promise<Y> {\n let parsedInput;\n try {\n parsedInput = await this.structuredInputParser.parse(text);\n } catch (e) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e}`,\n text\n );\n }\n\n return this.outputProcessor(parsedInput);\n }\n\n getFormatInstructions(): string {\n return this.structuredInputParser.getFormatInstructions();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structured.cjs","names":["BaseOutputParser","z","OutputParserException"],"sources":["../../src/output_parsers/structured.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport {\n toJsonSchema,\n type JsonSchema7Type,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"@langchain/core/utils/json_schema\";\nimport {\n BaseOutputParser,\n FormatInstructionsOptions,\n OutputParserException,\n} from \"@langchain/core/output_parsers\";\nimport {\n interopParseAsync,\n type InferInteropZodOutput,\n type InteropZodType,\n} from \"@langchain/core/utils/types\";\n\nexport type JsonMarkdownStructuredOutputParserInput = {\n interpolationDepth?: number;\n};\n\nexport interface JsonMarkdownFormatInstructionsOptions extends FormatInstructionsOptions {\n interpolationDepth?: number;\n}\n\nexport class StructuredOutputParser<\n T extends InteropZodType,\n> extends BaseOutputParser<InferInteropZodOutput<T>> {\n static lc_name() {\n return \"StructuredOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"structured\"];\n\n toJSON() {\n return this.toJSONNotImplemented();\n }\n\n constructor(public schema: T) {\n super(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a Zod schema.\n * @param schema The Zod schema which the output should match\n * @returns A new instance of StructuredOutputParser.\n */\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a set of names and\n * descriptions.\n * @param schemas An object where each key is a name and each value is a description\n * @returns A new instance of StructuredOutputParser.\n */\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this(zodSchema);\n }\n\n /**\n * Returns a markdown code snippet with a JSON object formatted according\n * to the schema.\n * @param options Optional. The options for formatting the instructions\n * @returns A markdown code snippet with a JSON object formatted according to the schema.\n */\n getFormatInstructions(): string {\n return `You must format your output as a JSON value that adheres to a given \"JSON Schema\" instance.\n\n\"JSON Schema\" is a declarative language that allows you to annotate and validate JSON documents.\n\nFor example, the example \"JSON Schema\" instance {{\"properties\": {{\"foo\": {{\"description\": \"a list of test words\", \"type\": \"array\", \"items\": {{\"type\": \"string\"}}}}}}, \"required\": [\"foo\"]}}}}\nwould match an object with one required property, \"foo\". The \"type\" property specifies \"foo\" must be an \"array\", and the \"description\" property semantically describes it as \"a list of test words\". The items within \"foo\" must be strings.\nThus, the object {{\"foo\": [\"bar\", \"baz\"]}} is a well-formatted instance of this example \"JSON Schema\". The object {{\"properties\": {{\"foo\": [\"bar\", \"baz\"]}}}} is not well-formatted.\n\nYour output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!\n\nHere is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:\n\\`\\`\\`json\n${JSON.stringify(toJsonSchema(this.schema))}\n\\`\\`\\`\n`;\n }\n\n /**\n * Parses the given text according to the schema.\n * @param text The text to parse\n * @returns The parsed output.\n */\n async parse(text: string): Promise<InferInteropZodOutput<T>> {\n try {\n const json = text.includes(\"```\")\n ? text.trim().split(/```(?:json)?/)[1]\n : text.trim();\n return await interopParseAsync(this.schema, JSON.parse(json));\n } catch {\n try {\n return await interopParseAsync(this.schema, JSON.parse(text.trim()));\n } catch (e2) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e2}`,\n text\n );\n }\n }\n }\n}\n\n/**\n * A specific type of `StructuredOutputParser` that parses JSON data\n * formatted as a markdown code snippet.\n */\nexport class JsonMarkdownStructuredOutputParser<\n T extends InteropZodType,\n> extends StructuredOutputParser<T> {\n static lc_name() {\n return \"JsonMarkdownStructuredOutputParser\";\n }\n\n getFormatInstructions(\n options?: JsonMarkdownFormatInstructionsOptions\n ): string {\n const interpolationDepth = options?.interpolationDepth ?? 1;\n if (interpolationDepth < 1) {\n throw new Error(\"f string interpolation depth must be at least 1\");\n }\n\n return `Return a markdown code snippet with a JSON object formatted to look like:\\n\\`\\`\\`json\\n${this._schemaToInstruction(\n toJsonSchema(this.schema)\n )\n .replaceAll(\"{\", \"{\".repeat(interpolationDepth))\n .replaceAll(\"}\", \"}\".repeat(interpolationDepth))}\\n\\`\\`\\``;\n }\n\n private _schemaToInstruction(\n schemaInput: JsonSchema7Type,\n indent = 2\n ): string {\n const schema = schemaInput as Extract<\n JsonSchema7Type,\n | JsonSchema7ObjectType\n | JsonSchema7ArrayType\n | JsonSchema7StringType\n | JsonSchema7NumberType\n | JsonSchema7NullableType\n >;\n\n if (\"type\" in schema) {\n let nullable = false;\n let type: string;\n if (Array.isArray(schema.type)) {\n const nullIdx = schema.type.findIndex((type) => type === \"null\");\n if (nullIdx !== -1) {\n nullable = true;\n schema.type.splice(nullIdx, 1);\n }\n type = schema.type.join(\" | \") as string;\n } else {\n type = schema.type;\n }\n\n if (schema.type === \"object\" && schema.properties) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n const properties = Object.entries(schema.properties)\n .map(([key, value]) => {\n const isOptional = schema.required?.includes(key)\n ? \"\"\n : \" (optional)\";\n return `${\" \".repeat(indent)}\"${key}\": ${this._schemaToInstruction(\n value,\n indent + 2\n )}${isOptional}`;\n })\n .join(\"\\n\");\n return `{\\n${properties}\\n${\" \".repeat(indent - 2)}}${description}`;\n }\n if (schema.type === \"array\" && schema.items) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n return `array[\\n${\" \".repeat(indent)}${this._schemaToInstruction(\n schema.items,\n indent + 2\n )}\\n${\" \".repeat(indent - 2)}] ${description}`;\n }\n const isNullable = nullable ? \" (nullable)\" : \"\";\n const description = schema.description ? ` // ${schema.description}` : \"\";\n return `${type}${description}${isNullable}`;\n }\n\n if (\"anyOf\" in schema) {\n return schema.anyOf\n .map((s) => this._schemaToInstruction(s, indent))\n .join(`\\n${\" \".repeat(indent - 2)}`);\n }\n\n throw new Error(\"unsupported schema type\");\n }\n\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this<T>(schema);\n }\n\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this<typeof zodSchema>(zodSchema);\n }\n}\n\nexport interface AsymmetricStructuredOutputParserFields<\n T extends InteropZodType,\n> {\n inputSchema: T;\n}\n\n/**\n * A type of `StructuredOutputParser` that handles asymmetric input and\n * output schemas.\n */\nexport abstract class AsymmetricStructuredOutputParser<\n T extends InteropZodType,\n Y = unknown,\n> extends BaseOutputParser<Y> {\n private structuredInputParser: JsonMarkdownStructuredOutputParser<T>;\n\n constructor({ inputSchema }: AsymmetricStructuredOutputParserFields<T>) {\n super(...arguments);\n this.structuredInputParser = new JsonMarkdownStructuredOutputParser(\n inputSchema\n );\n }\n\n /**\n * Processes the parsed input into the desired output format. Must be\n * implemented by subclasses.\n * @param input The parsed input\n * @returns The processed output.\n */\n abstract outputProcessor(input: InferInteropZodOutput<T>): Promise<Y>;\n\n async parse(text: string): Promise<Y> {\n let parsedInput;\n try {\n parsedInput = await this.structuredInputParser.parse(text);\n } catch (e) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e}`,\n text\n );\n }\n\n return this.outputProcessor(parsedInput);\n }\n\n getFormatInstructions(): string {\n return this.structuredInputParser.getFormatInstructions();\n }\n}\n"],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { BaseOutputParser, OutputParserException } from "@langchain/core/output_
|
|
|
2
2
|
import { interopParseAsync } from "@langchain/core/utils/types";
|
|
3
3
|
import { toJsonSchema } from "@langchain/core/utils/json_schema";
|
|
4
4
|
import { z } from "zod/v3";
|
|
5
|
-
|
|
6
5
|
//#region src/output_parsers/structured.ts
|
|
7
6
|
var StructuredOutputParser = class extends BaseOutputParser {
|
|
8
7
|
static lc_name() {
|
|
@@ -154,7 +153,7 @@ var AsymmetricStructuredOutputParser = class extends BaseOutputParser {
|
|
|
154
153
|
return this.structuredInputParser.getFormatInstructions();
|
|
155
154
|
}
|
|
156
155
|
};
|
|
157
|
-
|
|
158
156
|
//#endregion
|
|
159
157
|
export { AsymmetricStructuredOutputParser, JsonMarkdownStructuredOutputParser, StructuredOutputParser };
|
|
158
|
+
|
|
160
159
|
//# sourceMappingURL=structured.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured.js","names":[],"sources":["../../src/output_parsers/structured.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport {\n toJsonSchema,\n type JsonSchema7Type,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"@langchain/core/utils/json_schema\";\nimport {\n BaseOutputParser,\n FormatInstructionsOptions,\n OutputParserException,\n} from \"@langchain/core/output_parsers\";\nimport {\n interopParseAsync,\n type InferInteropZodOutput,\n type InteropZodType,\n} from \"@langchain/core/utils/types\";\n\nexport type JsonMarkdownStructuredOutputParserInput = {\n interpolationDepth?: number;\n};\n\nexport interface JsonMarkdownFormatInstructionsOptions extends FormatInstructionsOptions {\n interpolationDepth?: number;\n}\n\nexport class StructuredOutputParser<\n T extends InteropZodType,\n> extends BaseOutputParser<InferInteropZodOutput<T>> {\n static lc_name() {\n return \"StructuredOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"structured\"];\n\n toJSON() {\n return this.toJSONNotImplemented();\n }\n\n constructor(public schema: T) {\n super(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a Zod schema.\n * @param schema The Zod schema which the output should match\n * @returns A new instance of StructuredOutputParser.\n */\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a set of names and\n * descriptions.\n * @param schemas An object where each key is a name and each value is a description\n * @returns A new instance of StructuredOutputParser.\n */\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this(zodSchema);\n }\n\n /**\n * Returns a markdown code snippet with a JSON object formatted according\n * to the schema.\n * @param options Optional. The options for formatting the instructions\n * @returns A markdown code snippet with a JSON object formatted according to the schema.\n */\n getFormatInstructions(): string {\n return `You must format your output as a JSON value that adheres to a given \"JSON Schema\" instance.\n\n\"JSON Schema\" is a declarative language that allows you to annotate and validate JSON documents.\n\nFor example, the example \"JSON Schema\" instance {{\"properties\": {{\"foo\": {{\"description\": \"a list of test words\", \"type\": \"array\", \"items\": {{\"type\": \"string\"}}}}}}, \"required\": [\"foo\"]}}}}\nwould match an object with one required property, \"foo\". The \"type\" property specifies \"foo\" must be an \"array\", and the \"description\" property semantically describes it as \"a list of test words\". The items within \"foo\" must be strings.\nThus, the object {{\"foo\": [\"bar\", \"baz\"]}} is a well-formatted instance of this example \"JSON Schema\". The object {{\"properties\": {{\"foo\": [\"bar\", \"baz\"]}}}} is not well-formatted.\n\nYour output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!\n\nHere is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:\n\\`\\`\\`json\n${JSON.stringify(toJsonSchema(this.schema))}\n\\`\\`\\`\n`;\n }\n\n /**\n * Parses the given text according to the schema.\n * @param text The text to parse\n * @returns The parsed output.\n */\n async parse(text: string): Promise<InferInteropZodOutput<T>> {\n try {\n const json = text.includes(\"```\")\n ? text.trim().split(/```(?:json)?/)[1]\n : text.trim();\n return await interopParseAsync(this.schema, JSON.parse(json));\n } catch {\n try {\n return await interopParseAsync(this.schema, JSON.parse(text.trim()));\n } catch (e2) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e2}`,\n text\n );\n }\n }\n }\n}\n\n/**\n * A specific type of `StructuredOutputParser` that parses JSON data\n * formatted as a markdown code snippet.\n */\nexport class JsonMarkdownStructuredOutputParser<\n T extends InteropZodType,\n> extends StructuredOutputParser<T> {\n static lc_name() {\n return \"JsonMarkdownStructuredOutputParser\";\n }\n\n getFormatInstructions(\n options?: JsonMarkdownFormatInstructionsOptions\n ): string {\n const interpolationDepth = options?.interpolationDepth ?? 1;\n if (interpolationDepth < 1) {\n throw new Error(\"f string interpolation depth must be at least 1\");\n }\n\n return `Return a markdown code snippet with a JSON object formatted to look like:\\n\\`\\`\\`json\\n${this._schemaToInstruction(\n toJsonSchema(this.schema)\n )\n .replaceAll(\"{\", \"{\".repeat(interpolationDepth))\n .replaceAll(\"}\", \"}\".repeat(interpolationDepth))}\\n\\`\\`\\``;\n }\n\n private _schemaToInstruction(\n schemaInput: JsonSchema7Type,\n indent = 2\n ): string {\n const schema = schemaInput as Extract<\n JsonSchema7Type,\n | JsonSchema7ObjectType\n | JsonSchema7ArrayType\n | JsonSchema7StringType\n | JsonSchema7NumberType\n | JsonSchema7NullableType\n >;\n\n if (\"type\" in schema) {\n let nullable = false;\n let type: string;\n if (Array.isArray(schema.type)) {\n const nullIdx = schema.type.findIndex((type) => type === \"null\");\n if (nullIdx !== -1) {\n nullable = true;\n schema.type.splice(nullIdx, 1);\n }\n type = schema.type.join(\" | \") as string;\n } else {\n type = schema.type;\n }\n\n if (schema.type === \"object\" && schema.properties) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n const properties = Object.entries(schema.properties)\n .map(([key, value]) => {\n const isOptional = schema.required?.includes(key)\n ? \"\"\n : \" (optional)\";\n return `${\" \".repeat(indent)}\"${key}\": ${this._schemaToInstruction(\n value,\n indent + 2\n )}${isOptional}`;\n })\n .join(\"\\n\");\n return `{\\n${properties}\\n${\" \".repeat(indent - 2)}}${description}`;\n }\n if (schema.type === \"array\" && schema.items) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n return `array[\\n${\" \".repeat(indent)}${this._schemaToInstruction(\n schema.items,\n indent + 2\n )}\\n${\" \".repeat(indent - 2)}] ${description}`;\n }\n const isNullable = nullable ? \" (nullable)\" : \"\";\n const description = schema.description ? ` // ${schema.description}` : \"\";\n return `${type}${description}${isNullable}`;\n }\n\n if (\"anyOf\" in schema) {\n return schema.anyOf\n .map((s) => this._schemaToInstruction(s, indent))\n .join(`\\n${\" \".repeat(indent - 2)}`);\n }\n\n throw new Error(\"unsupported schema type\");\n }\n\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this<T>(schema);\n }\n\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this<typeof zodSchema>(zodSchema);\n }\n}\n\nexport interface AsymmetricStructuredOutputParserFields<\n T extends InteropZodType,\n> {\n inputSchema: T;\n}\n\n/**\n * A type of `StructuredOutputParser` that handles asymmetric input and\n * output schemas.\n */\nexport abstract class AsymmetricStructuredOutputParser<\n T extends InteropZodType,\n Y = unknown,\n> extends BaseOutputParser<Y> {\n private structuredInputParser: JsonMarkdownStructuredOutputParser<T>;\n\n constructor({ inputSchema }: AsymmetricStructuredOutputParserFields<T>) {\n super(...arguments);\n this.structuredInputParser = new JsonMarkdownStructuredOutputParser(\n inputSchema\n );\n }\n\n /**\n * Processes the parsed input into the desired output format. Must be\n * implemented by subclasses.\n * @param input The parsed input\n * @returns The processed output.\n */\n abstract outputProcessor(input: InferInteropZodOutput<T>): Promise<Y>;\n\n async parse(text: string): Promise<Y> {\n let parsedInput;\n try {\n parsedInput = await this.structuredInputParser.parse(text);\n } catch (e) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e}`,\n text\n );\n }\n\n return this.outputProcessor(parsedInput);\n }\n\n getFormatInstructions(): string {\n return this.structuredInputParser.getFormatInstructions();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structured.js","names":[],"sources":["../../src/output_parsers/structured.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport {\n toJsonSchema,\n type JsonSchema7Type,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"@langchain/core/utils/json_schema\";\nimport {\n BaseOutputParser,\n FormatInstructionsOptions,\n OutputParserException,\n} from \"@langchain/core/output_parsers\";\nimport {\n interopParseAsync,\n type InferInteropZodOutput,\n type InteropZodType,\n} from \"@langchain/core/utils/types\";\n\nexport type JsonMarkdownStructuredOutputParserInput = {\n interpolationDepth?: number;\n};\n\nexport interface JsonMarkdownFormatInstructionsOptions extends FormatInstructionsOptions {\n interpolationDepth?: number;\n}\n\nexport class StructuredOutputParser<\n T extends InteropZodType,\n> extends BaseOutputParser<InferInteropZodOutput<T>> {\n static lc_name() {\n return \"StructuredOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"structured\"];\n\n toJSON() {\n return this.toJSONNotImplemented();\n }\n\n constructor(public schema: T) {\n super(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a Zod schema.\n * @param schema The Zod schema which the output should match\n * @returns A new instance of StructuredOutputParser.\n */\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a set of names and\n * descriptions.\n * @param schemas An object where each key is a name and each value is a description\n * @returns A new instance of StructuredOutputParser.\n */\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this(zodSchema);\n }\n\n /**\n * Returns a markdown code snippet with a JSON object formatted according\n * to the schema.\n * @param options Optional. The options for formatting the instructions\n * @returns A markdown code snippet with a JSON object formatted according to the schema.\n */\n getFormatInstructions(): string {\n return `You must format your output as a JSON value that adheres to a given \"JSON Schema\" instance.\n\n\"JSON Schema\" is a declarative language that allows you to annotate and validate JSON documents.\n\nFor example, the example \"JSON Schema\" instance {{\"properties\": {{\"foo\": {{\"description\": \"a list of test words\", \"type\": \"array\", \"items\": {{\"type\": \"string\"}}}}}}, \"required\": [\"foo\"]}}}}\nwould match an object with one required property, \"foo\". The \"type\" property specifies \"foo\" must be an \"array\", and the \"description\" property semantically describes it as \"a list of test words\". The items within \"foo\" must be strings.\nThus, the object {{\"foo\": [\"bar\", \"baz\"]}} is a well-formatted instance of this example \"JSON Schema\". The object {{\"properties\": {{\"foo\": [\"bar\", \"baz\"]}}}} is not well-formatted.\n\nYour output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!\n\nHere is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:\n\\`\\`\\`json\n${JSON.stringify(toJsonSchema(this.schema))}\n\\`\\`\\`\n`;\n }\n\n /**\n * Parses the given text according to the schema.\n * @param text The text to parse\n * @returns The parsed output.\n */\n async parse(text: string): Promise<InferInteropZodOutput<T>> {\n try {\n const json = text.includes(\"```\")\n ? text.trim().split(/```(?:json)?/)[1]\n : text.trim();\n return await interopParseAsync(this.schema, JSON.parse(json));\n } catch {\n try {\n return await interopParseAsync(this.schema, JSON.parse(text.trim()));\n } catch (e2) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e2}`,\n text\n );\n }\n }\n }\n}\n\n/**\n * A specific type of `StructuredOutputParser` that parses JSON data\n * formatted as a markdown code snippet.\n */\nexport class JsonMarkdownStructuredOutputParser<\n T extends InteropZodType,\n> extends StructuredOutputParser<T> {\n static lc_name() {\n return \"JsonMarkdownStructuredOutputParser\";\n }\n\n getFormatInstructions(\n options?: JsonMarkdownFormatInstructionsOptions\n ): string {\n const interpolationDepth = options?.interpolationDepth ?? 1;\n if (interpolationDepth < 1) {\n throw new Error(\"f string interpolation depth must be at least 1\");\n }\n\n return `Return a markdown code snippet with a JSON object formatted to look like:\\n\\`\\`\\`json\\n${this._schemaToInstruction(\n toJsonSchema(this.schema)\n )\n .replaceAll(\"{\", \"{\".repeat(interpolationDepth))\n .replaceAll(\"}\", \"}\".repeat(interpolationDepth))}\\n\\`\\`\\``;\n }\n\n private _schemaToInstruction(\n schemaInput: JsonSchema7Type,\n indent = 2\n ): string {\n const schema = schemaInput as Extract<\n JsonSchema7Type,\n | JsonSchema7ObjectType\n | JsonSchema7ArrayType\n | JsonSchema7StringType\n | JsonSchema7NumberType\n | JsonSchema7NullableType\n >;\n\n if (\"type\" in schema) {\n let nullable = false;\n let type: string;\n if (Array.isArray(schema.type)) {\n const nullIdx = schema.type.findIndex((type) => type === \"null\");\n if (nullIdx !== -1) {\n nullable = true;\n schema.type.splice(nullIdx, 1);\n }\n type = schema.type.join(\" | \") as string;\n } else {\n type = schema.type;\n }\n\n if (schema.type === \"object\" && schema.properties) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n const properties = Object.entries(schema.properties)\n .map(([key, value]) => {\n const isOptional = schema.required?.includes(key)\n ? \"\"\n : \" (optional)\";\n return `${\" \".repeat(indent)}\"${key}\": ${this._schemaToInstruction(\n value,\n indent + 2\n )}${isOptional}`;\n })\n .join(\"\\n\");\n return `{\\n${properties}\\n${\" \".repeat(indent - 2)}}${description}`;\n }\n if (schema.type === \"array\" && schema.items) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n return `array[\\n${\" \".repeat(indent)}${this._schemaToInstruction(\n schema.items,\n indent + 2\n )}\\n${\" \".repeat(indent - 2)}] ${description}`;\n }\n const isNullable = nullable ? \" (nullable)\" : \"\";\n const description = schema.description ? ` // ${schema.description}` : \"\";\n return `${type}${description}${isNullable}`;\n }\n\n if (\"anyOf\" in schema) {\n return schema.anyOf\n .map((s) => this._schemaToInstruction(s, indent))\n .join(`\\n${\" \".repeat(indent - 2)}`);\n }\n\n throw new Error(\"unsupported schema type\");\n }\n\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this<T>(schema);\n }\n\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this<typeof zodSchema>(zodSchema);\n }\n}\n\nexport interface AsymmetricStructuredOutputParserFields<\n T extends InteropZodType,\n> {\n inputSchema: T;\n}\n\n/**\n * A type of `StructuredOutputParser` that handles asymmetric input and\n * output schemas.\n */\nexport abstract class AsymmetricStructuredOutputParser<\n T extends InteropZodType,\n Y = unknown,\n> extends BaseOutputParser<Y> {\n private structuredInputParser: JsonMarkdownStructuredOutputParser<T>;\n\n constructor({ inputSchema }: AsymmetricStructuredOutputParserFields<T>) {\n super(...arguments);\n this.structuredInputParser = new JsonMarkdownStructuredOutputParser(\n inputSchema\n );\n }\n\n /**\n * Processes the parsed input into the desired output format. Must be\n * implemented by subclasses.\n * @param input The parsed input\n * @returns The processed output.\n */\n abstract outputProcessor(input: InferInteropZodOutput<T>): Promise<Y>;\n\n async parse(text: string): Promise<Y> {\n let parsedInput;\n try {\n parsedInput = await this.structuredInputParser.parse(text);\n } catch (e) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e}`,\n text\n );\n }\n\n return this.outputProcessor(parsedInput);\n }\n\n getFormatInstructions(): string {\n return this.structuredInputParser.getFormatInstructions();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require(
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
3
3
|
let _langchain_core_retrievers = require("@langchain/core/retrievers");
|
|
4
|
-
|
|
5
4
|
//#region src/retrievers/contextual_compression.ts
|
|
6
5
|
var contextual_compression_exports = /* @__PURE__ */ require_runtime.__exportAll({ ContextualCompressionRetriever: () => ContextualCompressionRetriever });
|
|
7
6
|
/**
|
|
@@ -40,13 +39,13 @@ var ContextualCompressionRetriever = class extends _langchain_core_retrievers.Ba
|
|
|
40
39
|
return await this.baseCompressor.compressDocuments(docs, query, runManager?.getChild("base_compressor"));
|
|
41
40
|
}
|
|
42
41
|
};
|
|
43
|
-
|
|
44
42
|
//#endregion
|
|
45
43
|
exports.ContextualCompressionRetriever = ContextualCompressionRetriever;
|
|
46
|
-
Object.defineProperty(exports,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
Object.defineProperty(exports, "contextual_compression_exports", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function() {
|
|
47
|
+
return contextual_compression_exports;
|
|
48
|
+
}
|
|
51
49
|
});
|
|
50
|
+
|
|
52
51
|
//# sourceMappingURL=contextual_compression.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextual_compression.cjs","names":["BaseRetriever"],"sources":["../../src/retrievers/contextual_compression.ts"],"sourcesContent":["import {\n BaseRetriever,\n type BaseRetrieverInput,\n type BaseRetrieverInterface,\n} from \"@langchain/core/retrievers\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseDocumentCompressor } from \"./document_compressors/index.js\";\n\n/**\n * Interface for the arguments required to construct a\n * ContextualCompressionRetriever. It extends the BaseRetrieverInput\n * interface with two additional fields: baseCompressor and baseRetriever.\n */\nexport interface ContextualCompressionRetrieverArgs extends BaseRetrieverInput {\n baseCompressor: BaseDocumentCompressor;\n baseRetriever: BaseRetrieverInterface;\n}\n\n/**\n * A retriever that wraps a base retriever and compresses the results. It\n * retrieves relevant documents based on a given query and then compresses\n * these documents using a specified document compressor.\n * @example\n * ```typescript\n * const retriever = new ContextualCompressionRetriever({\n * baseCompressor: new LLMChainExtractor(),\n * baseRetriever: new HNSWLib().asRetriever(),\n * });\n * const retrievedDocs = await retriever.invoke(\n * \"What did the speaker say about Justice Breyer?\",\n * );\n * ```\n */\nexport class ContextualCompressionRetriever extends BaseRetriever {\n static lc_name() {\n return \"ContextualCompressionRetriever\";\n }\n\n lc_namespace = [\"langchain\", \"retrievers\", \"contextual_compression\"];\n\n baseCompressor: BaseDocumentCompressor;\n\n baseRetriever: BaseRetrieverInterface;\n\n constructor(fields: ContextualCompressionRetrieverArgs) {\n super(fields);\n\n this.baseCompressor = fields.baseCompressor;\n this.baseRetriever = fields.baseRetriever;\n }\n\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<DocumentInterface[]> {\n const docs = await this.baseRetriever.invoke(\n query,\n runManager?.getChild(\"base_retriever\")\n );\n const compressedDocs = await this.baseCompressor.compressDocuments(\n docs,\n query,\n runManager?.getChild(\"base_compressor\")\n );\n return compressedDocs;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"contextual_compression.cjs","names":["BaseRetriever"],"sources":["../../src/retrievers/contextual_compression.ts"],"sourcesContent":["import {\n BaseRetriever,\n type BaseRetrieverInput,\n type BaseRetrieverInterface,\n} from \"@langchain/core/retrievers\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseDocumentCompressor } from \"./document_compressors/index.js\";\n\n/**\n * Interface for the arguments required to construct a\n * ContextualCompressionRetriever. It extends the BaseRetrieverInput\n * interface with two additional fields: baseCompressor and baseRetriever.\n */\nexport interface ContextualCompressionRetrieverArgs extends BaseRetrieverInput {\n baseCompressor: BaseDocumentCompressor;\n baseRetriever: BaseRetrieverInterface;\n}\n\n/**\n * A retriever that wraps a base retriever and compresses the results. It\n * retrieves relevant documents based on a given query and then compresses\n * these documents using a specified document compressor.\n * @example\n * ```typescript\n * const retriever = new ContextualCompressionRetriever({\n * baseCompressor: new LLMChainExtractor(),\n * baseRetriever: new HNSWLib().asRetriever(),\n * });\n * const retrievedDocs = await retriever.invoke(\n * \"What did the speaker say about Justice Breyer?\",\n * );\n * ```\n */\nexport class ContextualCompressionRetriever extends BaseRetriever {\n static lc_name() {\n return \"ContextualCompressionRetriever\";\n }\n\n lc_namespace = [\"langchain\", \"retrievers\", \"contextual_compression\"];\n\n baseCompressor: BaseDocumentCompressor;\n\n baseRetriever: BaseRetrieverInterface;\n\n constructor(fields: ContextualCompressionRetrieverArgs) {\n super(fields);\n\n this.baseCompressor = fields.baseCompressor;\n this.baseRetriever = fields.baseRetriever;\n }\n\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<DocumentInterface[]> {\n const docs = await this.baseRetriever.invoke(\n query,\n runManager?.getChild(\"base_retriever\")\n );\n const compressedDocs = await this.baseCompressor.compressDocuments(\n docs,\n query,\n runManager?.getChild(\"base_compressor\")\n );\n return compressedDocs;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkCA,IAAa,iCAAb,cAAoDA,2BAAAA,cAAc;CAChE,OAAO,UAAU;AACf,SAAO;;CAGT,eAAe;EAAC;EAAa;EAAc;EAAyB;CAEpE;CAEA;CAEA,YAAY,QAA4C;AACtD,QAAM,OAAO;AAEb,OAAK,iBAAiB,OAAO;AAC7B,OAAK,gBAAgB,OAAO;;CAG9B,MAAM,sBACJ,OACA,YAC8B;EAC9B,MAAM,OAAO,MAAM,KAAK,cAAc,OACpC,OACA,YAAY,SAAS,iBAAiB,CACvC;AAMD,SALuB,MAAM,KAAK,eAAe,kBAC/C,MACA,OACA,YAAY,SAAS,kBAAkB,CACxC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { BaseRetriever } from "@langchain/core/retrievers";
|
|
3
|
-
|
|
4
3
|
//#region src/retrievers/contextual_compression.ts
|
|
5
4
|
var contextual_compression_exports = /* @__PURE__ */ __exportAll({ ContextualCompressionRetriever: () => ContextualCompressionRetriever });
|
|
6
5
|
/**
|
|
@@ -39,7 +38,7 @@ var ContextualCompressionRetriever = class extends BaseRetriever {
|
|
|
39
38
|
return await this.baseCompressor.compressDocuments(docs, query, runManager?.getChild("base_compressor"));
|
|
40
39
|
}
|
|
41
40
|
};
|
|
42
|
-
|
|
43
41
|
//#endregion
|
|
44
42
|
export { ContextualCompressionRetriever, contextual_compression_exports };
|
|
43
|
+
|
|
45
44
|
//# sourceMappingURL=contextual_compression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextual_compression.js","names":[],"sources":["../../src/retrievers/contextual_compression.ts"],"sourcesContent":["import {\n BaseRetriever,\n type BaseRetrieverInput,\n type BaseRetrieverInterface,\n} from \"@langchain/core/retrievers\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseDocumentCompressor } from \"./document_compressors/index.js\";\n\n/**\n * Interface for the arguments required to construct a\n * ContextualCompressionRetriever. It extends the BaseRetrieverInput\n * interface with two additional fields: baseCompressor and baseRetriever.\n */\nexport interface ContextualCompressionRetrieverArgs extends BaseRetrieverInput {\n baseCompressor: BaseDocumentCompressor;\n baseRetriever: BaseRetrieverInterface;\n}\n\n/**\n * A retriever that wraps a base retriever and compresses the results. It\n * retrieves relevant documents based on a given query and then compresses\n * these documents using a specified document compressor.\n * @example\n * ```typescript\n * const retriever = new ContextualCompressionRetriever({\n * baseCompressor: new LLMChainExtractor(),\n * baseRetriever: new HNSWLib().asRetriever(),\n * });\n * const retrievedDocs = await retriever.invoke(\n * \"What did the speaker say about Justice Breyer?\",\n * );\n * ```\n */\nexport class ContextualCompressionRetriever extends BaseRetriever {\n static lc_name() {\n return \"ContextualCompressionRetriever\";\n }\n\n lc_namespace = [\"langchain\", \"retrievers\", \"contextual_compression\"];\n\n baseCompressor: BaseDocumentCompressor;\n\n baseRetriever: BaseRetrieverInterface;\n\n constructor(fields: ContextualCompressionRetrieverArgs) {\n super(fields);\n\n this.baseCompressor = fields.baseCompressor;\n this.baseRetriever = fields.baseRetriever;\n }\n\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<DocumentInterface[]> {\n const docs = await this.baseRetriever.invoke(\n query,\n runManager?.getChild(\"base_retriever\")\n );\n const compressedDocs = await this.baseCompressor.compressDocuments(\n docs,\n query,\n runManager?.getChild(\"base_compressor\")\n );\n return compressedDocs;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"contextual_compression.js","names":[],"sources":["../../src/retrievers/contextual_compression.ts"],"sourcesContent":["import {\n BaseRetriever,\n type BaseRetrieverInput,\n type BaseRetrieverInterface,\n} from \"@langchain/core/retrievers\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { CallbackManagerForRetrieverRun } from \"@langchain/core/callbacks/manager\";\nimport { BaseDocumentCompressor } from \"./document_compressors/index.js\";\n\n/**\n * Interface for the arguments required to construct a\n * ContextualCompressionRetriever. It extends the BaseRetrieverInput\n * interface with two additional fields: baseCompressor and baseRetriever.\n */\nexport interface ContextualCompressionRetrieverArgs extends BaseRetrieverInput {\n baseCompressor: BaseDocumentCompressor;\n baseRetriever: BaseRetrieverInterface;\n}\n\n/**\n * A retriever that wraps a base retriever and compresses the results. It\n * retrieves relevant documents based on a given query and then compresses\n * these documents using a specified document compressor.\n * @example\n * ```typescript\n * const retriever = new ContextualCompressionRetriever({\n * baseCompressor: new LLMChainExtractor(),\n * baseRetriever: new HNSWLib().asRetriever(),\n * });\n * const retrievedDocs = await retriever.invoke(\n * \"What did the speaker say about Justice Breyer?\",\n * );\n * ```\n */\nexport class ContextualCompressionRetriever extends BaseRetriever {\n static lc_name() {\n return \"ContextualCompressionRetriever\";\n }\n\n lc_namespace = [\"langchain\", \"retrievers\", \"contextual_compression\"];\n\n baseCompressor: BaseDocumentCompressor;\n\n baseRetriever: BaseRetrieverInterface;\n\n constructor(fields: ContextualCompressionRetrieverArgs) {\n super(fields);\n\n this.baseCompressor = fields.baseCompressor;\n this.baseRetriever = fields.baseRetriever;\n }\n\n async _getRelevantDocuments(\n query: string,\n runManager?: CallbackManagerForRetrieverRun\n ): Promise<DocumentInterface[]> {\n const docs = await this.baseRetriever.invoke(\n query,\n runManager?.getChild(\"base_retriever\")\n );\n const compressedDocs = await this.baseCompressor.compressDocuments(\n docs,\n query,\n runManager?.getChild(\"base_compressor\")\n );\n return compressedDocs;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkCA,IAAa,iCAAb,cAAoD,cAAc;CAChE,OAAO,UAAU;AACf,SAAO;;CAGT,eAAe;EAAC;EAAa;EAAc;EAAyB;CAEpE;CAEA;CAEA,YAAY,QAA4C;AACtD,QAAM,OAAO;AAEb,OAAK,iBAAiB,OAAO;AAC7B,OAAK,gBAAgB,OAAO;;CAG9B,MAAM,sBACJ,OACA,YAC8B;EAC9B,MAAM,OAAO,MAAM,KAAK,cAAc,OACpC,OACA,YAAY,SAAS,iBAAiB,CACvC;AAMD,SALuB,MAAM,KAAK,eAAe,kBAC/C,MACA,OACA,YAAY,SAAS,kBAAkB,CACxC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require(
|
|
3
|
-
const require_llm_chain = require(
|
|
4
|
-
const require_retrievers_document_compressors_index = require(
|
|
5
|
-
const require_chain_extract_prompt = require(
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_llm_chain = require("../../chains/llm_chain.cjs");
|
|
4
|
+
const require_retrievers_document_compressors_index = require("./index.cjs");
|
|
5
|
+
const require_chain_extract_prompt = require("./chain_extract_prompt.cjs");
|
|
6
6
|
let _langchain_core_prompts = require("@langchain/core/prompts");
|
|
7
7
|
let _langchain_core_output_parsers = require("@langchain/core/output_parsers");
|
|
8
8
|
let _langchain_core_documents = require("@langchain/core/documents");
|
|
9
|
-
|
|
10
9
|
//#region src/retrievers/document_compressors/chain_extract.ts
|
|
11
10
|
var chain_extract_exports = /* @__PURE__ */ require_runtime.__exportAll({ LLMChainExtractor: () => LLMChainExtractor });
|
|
12
11
|
function defaultGetInput(query, doc) {
|
|
@@ -88,13 +87,13 @@ var LLMChainExtractor = class LLMChainExtractor extends require_retrievers_docum
|
|
|
88
87
|
});
|
|
89
88
|
}
|
|
90
89
|
};
|
|
91
|
-
|
|
92
90
|
//#endregion
|
|
93
91
|
exports.LLMChainExtractor = LLMChainExtractor;
|
|
94
|
-
Object.defineProperty(exports,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
Object.defineProperty(exports, "chain_extract_exports", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function() {
|
|
95
|
+
return chain_extract_exports;
|
|
96
|
+
}
|
|
99
97
|
});
|
|
98
|
+
|
|
100
99
|
//# sourceMappingURL=chain_extract.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain_extract.cjs","names":["BaseOutputParser","PromptTemplate","PROMPT_TEMPLATE","BaseDocumentCompressor","Document","LLMChain"],"sources":["../../../src/retrievers/document_compressors/chain_extract.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { type DocumentInterface, Document } from \"@langchain/core/documents\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { BaseOutputParser } from \"@langchain/core/output_parsers\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport { BaseDocumentCompressor } from \"./index.js\";\nimport { PROMPT_TEMPLATE } from \"./chain_extract_prompt.js\";\n\nfunction defaultGetInput(\n query: string,\n doc: DocumentInterface\n): Record<string, unknown> {\n return { question: query, context: doc.pageContent };\n}\n\nclass NoOutputParser extends BaseOutputParser<string> {\n lc_namespace = [\n \"langchain\",\n \"retrievers\",\n \"document_compressors\",\n \"chain_extract\",\n ];\n\n noOutputStr = \"NO_OUTPUT\";\n\n parse(text: string): Promise<string> {\n const cleanedText = text.trim();\n if (cleanedText === this.noOutputStr) {\n return Promise.resolve(\"\");\n }\n return Promise.resolve(cleanedText);\n }\n\n getFormatInstructions(): string {\n throw new Error(\"Method not implemented.\");\n }\n}\n\nfunction getDefaultChainPrompt(): PromptTemplate {\n const outputParser = new NoOutputParser();\n const template = PROMPT_TEMPLATE(outputParser.noOutputStr);\n return new PromptTemplate({\n template,\n inputVariables: [\"question\", \"context\"],\n outputParser,\n });\n}\n\n/**\n * Interface for the arguments required to create an instance of\n * LLMChainExtractor.\n */\nexport interface LLMChainExtractorArgs {\n llmChain: LLMChain;\n getInput: (query: string, doc: DocumentInterface) => Record<string, unknown>;\n}\n\n/**\n * A class that uses an LLM chain to extract relevant parts of documents.\n * It extends the BaseDocumentCompressor class.\n */\nexport class LLMChainExtractor extends BaseDocumentCompressor {\n llmChain: LLMChain;\n\n getInput: (query: string, doc: DocumentInterface) => Record<string, unknown> =\n defaultGetInput;\n\n constructor({ llmChain, getInput }: LLMChainExtractorArgs) {\n super();\n this.llmChain = llmChain;\n this.getInput = getInput;\n }\n\n /**\n * Compresses a list of documents based on the output of an LLM chain.\n * @param documents The list of documents to be compressed.\n * @param query The query to be used for document compression.\n * @returns A list of compressed documents.\n */\n async compressDocuments(\n documents: DocumentInterface[],\n query: string\n ): Promise<DocumentInterface[]> {\n const compressedDocs = await Promise.all(\n documents.map(async (doc) => {\n const input = this.getInput(query, doc);\n const output = await this.llmChain.predict(input);\n return output.length > 0\n ? new Document({\n pageContent: output,\n metadata: doc.metadata,\n })\n : undefined;\n })\n );\n return compressedDocs.filter((doc): doc is Document => doc !== undefined);\n }\n\n /**\n * Creates a new instance of LLMChainExtractor from a given LLM, prompt\n * template, and getInput function.\n * @param llm The BaseLanguageModel instance used for document extraction.\n * @param prompt The PromptTemplate instance used for document extraction.\n * @param getInput A function used for constructing the chain input from the query and a Document.\n * @returns A new instance of LLMChainExtractor.\n */\n static fromLLM(\n llm: BaseLanguageModelInterface,\n prompt?: PromptTemplate,\n getInput?: (\n query: string,\n doc: DocumentInterface\n ) => Record<string, unknown>\n ): LLMChainExtractor {\n const _prompt = prompt || getDefaultChainPrompt();\n const _getInput = getInput || defaultGetInput;\n const llmChain = new LLMChain({ llm, prompt: _prompt });\n return new LLMChainExtractor({ llmChain, getInput: _getInput });\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"chain_extract.cjs","names":["BaseOutputParser","PromptTemplate","PROMPT_TEMPLATE","BaseDocumentCompressor","Document","LLMChain"],"sources":["../../../src/retrievers/document_compressors/chain_extract.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { type DocumentInterface, Document } from \"@langchain/core/documents\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { BaseOutputParser } from \"@langchain/core/output_parsers\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport { BaseDocumentCompressor } from \"./index.js\";\nimport { PROMPT_TEMPLATE } from \"./chain_extract_prompt.js\";\n\nfunction defaultGetInput(\n query: string,\n doc: DocumentInterface\n): Record<string, unknown> {\n return { question: query, context: doc.pageContent };\n}\n\nclass NoOutputParser extends BaseOutputParser<string> {\n lc_namespace = [\n \"langchain\",\n \"retrievers\",\n \"document_compressors\",\n \"chain_extract\",\n ];\n\n noOutputStr = \"NO_OUTPUT\";\n\n parse(text: string): Promise<string> {\n const cleanedText = text.trim();\n if (cleanedText === this.noOutputStr) {\n return Promise.resolve(\"\");\n }\n return Promise.resolve(cleanedText);\n }\n\n getFormatInstructions(): string {\n throw new Error(\"Method not implemented.\");\n }\n}\n\nfunction getDefaultChainPrompt(): PromptTemplate {\n const outputParser = new NoOutputParser();\n const template = PROMPT_TEMPLATE(outputParser.noOutputStr);\n return new PromptTemplate({\n template,\n inputVariables: [\"question\", \"context\"],\n outputParser,\n });\n}\n\n/**\n * Interface for the arguments required to create an instance of\n * LLMChainExtractor.\n */\nexport interface LLMChainExtractorArgs {\n llmChain: LLMChain;\n getInput: (query: string, doc: DocumentInterface) => Record<string, unknown>;\n}\n\n/**\n * A class that uses an LLM chain to extract relevant parts of documents.\n * It extends the BaseDocumentCompressor class.\n */\nexport class LLMChainExtractor extends BaseDocumentCompressor {\n llmChain: LLMChain;\n\n getInput: (query: string, doc: DocumentInterface) => Record<string, unknown> =\n defaultGetInput;\n\n constructor({ llmChain, getInput }: LLMChainExtractorArgs) {\n super();\n this.llmChain = llmChain;\n this.getInput = getInput;\n }\n\n /**\n * Compresses a list of documents based on the output of an LLM chain.\n * @param documents The list of documents to be compressed.\n * @param query The query to be used for document compression.\n * @returns A list of compressed documents.\n */\n async compressDocuments(\n documents: DocumentInterface[],\n query: string\n ): Promise<DocumentInterface[]> {\n const compressedDocs = await Promise.all(\n documents.map(async (doc) => {\n const input = this.getInput(query, doc);\n const output = await this.llmChain.predict(input);\n return output.length > 0\n ? new Document({\n pageContent: output,\n metadata: doc.metadata,\n })\n : undefined;\n })\n );\n return compressedDocs.filter((doc): doc is Document => doc !== undefined);\n }\n\n /**\n * Creates a new instance of LLMChainExtractor from a given LLM, prompt\n * template, and getInput function.\n * @param llm The BaseLanguageModel instance used for document extraction.\n * @param prompt The PromptTemplate instance used for document extraction.\n * @param getInput A function used for constructing the chain input from the query and a Document.\n * @returns A new instance of LLMChainExtractor.\n */\n static fromLLM(\n llm: BaseLanguageModelInterface,\n prompt?: PromptTemplate,\n getInput?: (\n query: string,\n doc: DocumentInterface\n ) => Record<string, unknown>\n ): LLMChainExtractor {\n const _prompt = prompt || getDefaultChainPrompt();\n const _getInput = getInput || defaultGetInput;\n const llmChain = new LLMChain({ llm, prompt: _prompt });\n return new LLMChainExtractor({ llmChain, getInput: _getInput });\n }\n}\n"],"mappings":";;;;;;;;;;AAQA,SAAS,gBACP,OACA,KACyB;AACzB,QAAO;EAAE,UAAU;EAAO,SAAS,IAAI;EAAa;;AAGtD,IAAM,iBAAN,cAA6BA,+BAAAA,iBAAyB;CACpD,eAAe;EACb;EACA;EACA;EACA;EACD;CAED,cAAc;CAEd,MAAM,MAA+B;EACnC,MAAM,cAAc,KAAK,MAAM;AAC/B,MAAI,gBAAgB,KAAK,YACvB,QAAO,QAAQ,QAAQ,GAAG;AAE5B,SAAO,QAAQ,QAAQ,YAAY;;CAGrC,wBAAgC;AAC9B,QAAM,IAAI,MAAM,0BAA0B;;;AAI9C,SAAS,wBAAwC;CAC/C,MAAM,eAAe,IAAI,gBAAgB;AAEzC,QAAO,IAAIC,wBAAAA,eAAe;EACxB,UAFeC,6BAAAA,gBAAgB,aAAa,YAAY;EAGxD,gBAAgB,CAAC,YAAY,UAAU;EACvC;EACD,CAAC;;;;;;AAgBJ,IAAa,oBAAb,MAAa,0BAA0BC,8CAAAA,uBAAuB;CAC5D;CAEA,WACE;CAEF,YAAY,EAAE,UAAU,YAAmC;AACzD,SAAO;AACP,OAAK,WAAW;AAChB,OAAK,WAAW;;;;;;;;CASlB,MAAM,kBACJ,WACA,OAC8B;AAa9B,UAZuB,MAAM,QAAQ,IACnC,UAAU,IAAI,OAAO,QAAQ;GAC3B,MAAM,QAAQ,KAAK,SAAS,OAAO,IAAI;GACvC,MAAM,SAAS,MAAM,KAAK,SAAS,QAAQ,MAAM;AACjD,UAAO,OAAO,SAAS,IACnB,IAAIC,0BAAAA,SAAS;IACX,aAAa;IACb,UAAU,IAAI;IACf,CAAC,GACF,KAAA;IACJ,CACH,EACqB,QAAQ,QAAyB,QAAQ,KAAA,EAAU;;;;;;;;;;CAW3E,OAAO,QACL,KACA,QACA,UAImB;EACnB,MAAM,UAAU,UAAU,uBAAuB;EACjD,MAAM,YAAY,YAAY;AAE9B,SAAO,IAAI,kBAAkB;GAAE,UADd,IAAIC,kBAAAA,SAAS;IAAE;IAAK,QAAQ;IAAS,CAAC;GACd,UAAU;GAAW,CAAC"}
|
|
@@ -5,7 +5,6 @@ import { PROMPT_TEMPLATE } from "./chain_extract_prompt.js";
|
|
|
5
5
|
import { PromptTemplate } from "@langchain/core/prompts";
|
|
6
6
|
import { BaseOutputParser } from "@langchain/core/output_parsers";
|
|
7
7
|
import { Document } from "@langchain/core/documents";
|
|
8
|
-
|
|
9
8
|
//#region src/retrievers/document_compressors/chain_extract.ts
|
|
10
9
|
var chain_extract_exports = /* @__PURE__ */ __exportAll({ LLMChainExtractor: () => LLMChainExtractor });
|
|
11
10
|
function defaultGetInput(query, doc) {
|
|
@@ -87,7 +86,7 @@ var LLMChainExtractor = class LLMChainExtractor extends BaseDocumentCompressor {
|
|
|
87
86
|
});
|
|
88
87
|
}
|
|
89
88
|
};
|
|
90
|
-
|
|
91
89
|
//#endregion
|
|
92
90
|
export { LLMChainExtractor, chain_extract_exports };
|
|
91
|
+
|
|
93
92
|
//# sourceMappingURL=chain_extract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain_extract.js","names":[],"sources":["../../../src/retrievers/document_compressors/chain_extract.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { type DocumentInterface, Document } from \"@langchain/core/documents\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { BaseOutputParser } from \"@langchain/core/output_parsers\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport { BaseDocumentCompressor } from \"./index.js\";\nimport { PROMPT_TEMPLATE } from \"./chain_extract_prompt.js\";\n\nfunction defaultGetInput(\n query: string,\n doc: DocumentInterface\n): Record<string, unknown> {\n return { question: query, context: doc.pageContent };\n}\n\nclass NoOutputParser extends BaseOutputParser<string> {\n lc_namespace = [\n \"langchain\",\n \"retrievers\",\n \"document_compressors\",\n \"chain_extract\",\n ];\n\n noOutputStr = \"NO_OUTPUT\";\n\n parse(text: string): Promise<string> {\n const cleanedText = text.trim();\n if (cleanedText === this.noOutputStr) {\n return Promise.resolve(\"\");\n }\n return Promise.resolve(cleanedText);\n }\n\n getFormatInstructions(): string {\n throw new Error(\"Method not implemented.\");\n }\n}\n\nfunction getDefaultChainPrompt(): PromptTemplate {\n const outputParser = new NoOutputParser();\n const template = PROMPT_TEMPLATE(outputParser.noOutputStr);\n return new PromptTemplate({\n template,\n inputVariables: [\"question\", \"context\"],\n outputParser,\n });\n}\n\n/**\n * Interface for the arguments required to create an instance of\n * LLMChainExtractor.\n */\nexport interface LLMChainExtractorArgs {\n llmChain: LLMChain;\n getInput: (query: string, doc: DocumentInterface) => Record<string, unknown>;\n}\n\n/**\n * A class that uses an LLM chain to extract relevant parts of documents.\n * It extends the BaseDocumentCompressor class.\n */\nexport class LLMChainExtractor extends BaseDocumentCompressor {\n llmChain: LLMChain;\n\n getInput: (query: string, doc: DocumentInterface) => Record<string, unknown> =\n defaultGetInput;\n\n constructor({ llmChain, getInput }: LLMChainExtractorArgs) {\n super();\n this.llmChain = llmChain;\n this.getInput = getInput;\n }\n\n /**\n * Compresses a list of documents based on the output of an LLM chain.\n * @param documents The list of documents to be compressed.\n * @param query The query to be used for document compression.\n * @returns A list of compressed documents.\n */\n async compressDocuments(\n documents: DocumentInterface[],\n query: string\n ): Promise<DocumentInterface[]> {\n const compressedDocs = await Promise.all(\n documents.map(async (doc) => {\n const input = this.getInput(query, doc);\n const output = await this.llmChain.predict(input);\n return output.length > 0\n ? new Document({\n pageContent: output,\n metadata: doc.metadata,\n })\n : undefined;\n })\n );\n return compressedDocs.filter((doc): doc is Document => doc !== undefined);\n }\n\n /**\n * Creates a new instance of LLMChainExtractor from a given LLM, prompt\n * template, and getInput function.\n * @param llm The BaseLanguageModel instance used for document extraction.\n * @param prompt The PromptTemplate instance used for document extraction.\n * @param getInput A function used for constructing the chain input from the query and a Document.\n * @returns A new instance of LLMChainExtractor.\n */\n static fromLLM(\n llm: BaseLanguageModelInterface,\n prompt?: PromptTemplate,\n getInput?: (\n query: string,\n doc: DocumentInterface\n ) => Record<string, unknown>\n ): LLMChainExtractor {\n const _prompt = prompt || getDefaultChainPrompt();\n const _getInput = getInput || defaultGetInput;\n const llmChain = new LLMChain({ llm, prompt: _prompt });\n return new LLMChainExtractor({ llmChain, getInput: _getInput });\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"chain_extract.js","names":[],"sources":["../../../src/retrievers/document_compressors/chain_extract.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { type DocumentInterface, Document } from \"@langchain/core/documents\";\nimport { PromptTemplate } from \"@langchain/core/prompts\";\nimport { BaseOutputParser } from \"@langchain/core/output_parsers\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport { BaseDocumentCompressor } from \"./index.js\";\nimport { PROMPT_TEMPLATE } from \"./chain_extract_prompt.js\";\n\nfunction defaultGetInput(\n query: string,\n doc: DocumentInterface\n): Record<string, unknown> {\n return { question: query, context: doc.pageContent };\n}\n\nclass NoOutputParser extends BaseOutputParser<string> {\n lc_namespace = [\n \"langchain\",\n \"retrievers\",\n \"document_compressors\",\n \"chain_extract\",\n ];\n\n noOutputStr = \"NO_OUTPUT\";\n\n parse(text: string): Promise<string> {\n const cleanedText = text.trim();\n if (cleanedText === this.noOutputStr) {\n return Promise.resolve(\"\");\n }\n return Promise.resolve(cleanedText);\n }\n\n getFormatInstructions(): string {\n throw new Error(\"Method not implemented.\");\n }\n}\n\nfunction getDefaultChainPrompt(): PromptTemplate {\n const outputParser = new NoOutputParser();\n const template = PROMPT_TEMPLATE(outputParser.noOutputStr);\n return new PromptTemplate({\n template,\n inputVariables: [\"question\", \"context\"],\n outputParser,\n });\n}\n\n/**\n * Interface for the arguments required to create an instance of\n * LLMChainExtractor.\n */\nexport interface LLMChainExtractorArgs {\n llmChain: LLMChain;\n getInput: (query: string, doc: DocumentInterface) => Record<string, unknown>;\n}\n\n/**\n * A class that uses an LLM chain to extract relevant parts of documents.\n * It extends the BaseDocumentCompressor class.\n */\nexport class LLMChainExtractor extends BaseDocumentCompressor {\n llmChain: LLMChain;\n\n getInput: (query: string, doc: DocumentInterface) => Record<string, unknown> =\n defaultGetInput;\n\n constructor({ llmChain, getInput }: LLMChainExtractorArgs) {\n super();\n this.llmChain = llmChain;\n this.getInput = getInput;\n }\n\n /**\n * Compresses a list of documents based on the output of an LLM chain.\n * @param documents The list of documents to be compressed.\n * @param query The query to be used for document compression.\n * @returns A list of compressed documents.\n */\n async compressDocuments(\n documents: DocumentInterface[],\n query: string\n ): Promise<DocumentInterface[]> {\n const compressedDocs = await Promise.all(\n documents.map(async (doc) => {\n const input = this.getInput(query, doc);\n const output = await this.llmChain.predict(input);\n return output.length > 0\n ? new Document({\n pageContent: output,\n metadata: doc.metadata,\n })\n : undefined;\n })\n );\n return compressedDocs.filter((doc): doc is Document => doc !== undefined);\n }\n\n /**\n * Creates a new instance of LLMChainExtractor from a given LLM, prompt\n * template, and getInput function.\n * @param llm The BaseLanguageModel instance used for document extraction.\n * @param prompt The PromptTemplate instance used for document extraction.\n * @param getInput A function used for constructing the chain input from the query and a Document.\n * @returns A new instance of LLMChainExtractor.\n */\n static fromLLM(\n llm: BaseLanguageModelInterface,\n prompt?: PromptTemplate,\n getInput?: (\n query: string,\n doc: DocumentInterface\n ) => Record<string, unknown>\n ): LLMChainExtractor {\n const _prompt = prompt || getDefaultChainPrompt();\n const _getInput = getInput || defaultGetInput;\n const llmChain = new LLMChain({ llm, prompt: _prompt });\n return new LLMChainExtractor({ llmChain, getInput: _getInput });\n }\n}\n"],"mappings":";;;;;;;;;AAQA,SAAS,gBACP,OACA,KACyB;AACzB,QAAO;EAAE,UAAU;EAAO,SAAS,IAAI;EAAa;;AAGtD,IAAM,iBAAN,cAA6B,iBAAyB;CACpD,eAAe;EACb;EACA;EACA;EACA;EACD;CAED,cAAc;CAEd,MAAM,MAA+B;EACnC,MAAM,cAAc,KAAK,MAAM;AAC/B,MAAI,gBAAgB,KAAK,YACvB,QAAO,QAAQ,QAAQ,GAAG;AAE5B,SAAO,QAAQ,QAAQ,YAAY;;CAGrC,wBAAgC;AAC9B,QAAM,IAAI,MAAM,0BAA0B;;;AAI9C,SAAS,wBAAwC;CAC/C,MAAM,eAAe,IAAI,gBAAgB;AAEzC,QAAO,IAAI,eAAe;EACxB,UAFe,gBAAgB,aAAa,YAAY;EAGxD,gBAAgB,CAAC,YAAY,UAAU;EACvC;EACD,CAAC;;;;;;AAgBJ,IAAa,oBAAb,MAAa,0BAA0B,uBAAuB;CAC5D;CAEA,WACE;CAEF,YAAY,EAAE,UAAU,YAAmC;AACzD,SAAO;AACP,OAAK,WAAW;AAChB,OAAK,WAAW;;;;;;;;CASlB,MAAM,kBACJ,WACA,OAC8B;AAa9B,UAZuB,MAAM,QAAQ,IACnC,UAAU,IAAI,OAAO,QAAQ;GAC3B,MAAM,QAAQ,KAAK,SAAS,OAAO,IAAI;GACvC,MAAM,SAAS,MAAM,KAAK,SAAS,QAAQ,MAAM;AACjD,UAAO,OAAO,SAAS,IACnB,IAAI,SAAS;IACX,aAAa;IACb,UAAU,IAAI;IACf,CAAC,GACF,KAAA;IACJ,CACH,EACqB,QAAQ,QAAyB,QAAQ,KAAA,EAAU;;;;;;;;;;CAW3E,OAAO,QACL,KACA,QACA,UAImB;EACnB,MAAM,UAAU,UAAU,uBAAuB;EACjD,MAAM,YAAY,YAAY;AAE9B,SAAO,IAAI,kBAAkB;GAAE,UADd,IAAI,SAAS;IAAE;IAAK,QAAQ;IAAS,CAAC;GACd,UAAU;GAAW,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/retrievers/document_compressors/chain_extract_prompt.ts
|
|
3
2
|
const PROMPT_TEMPLATE = (noOutputStr) => `Given the following question and context, extract any part of the context *AS IS* that is relevant to answer the question. If none of the context is relevant return ${noOutputStr}.
|
|
4
3
|
|
|
@@ -10,7 +9,7 @@ Remember, *DO NOT* edit the extracted parts of the context.
|
|
|
10
9
|
{context}
|
|
11
10
|
>>>
|
|
12
11
|
Extracted relevant parts:`;
|
|
13
|
-
|
|
14
12
|
//#endregion
|
|
15
13
|
exports.PROMPT_TEMPLATE = PROMPT_TEMPLATE;
|
|
14
|
+
|
|
16
15
|
//# sourceMappingURL=chain_extract_prompt.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain_extract_prompt.cjs","names":[],"sources":["../../../src/retrievers/document_compressors/chain_extract_prompt.ts"],"sourcesContent":["export const PROMPT_TEMPLATE = (\n noOutputStr: string\n) => `Given the following question and context, extract any part of the context *AS IS* that is relevant to answer the question. If none of the context is relevant return ${noOutputStr}.\n\nRemember, *DO NOT* edit the extracted parts of the context.\n\n> Question: {question}\n> Context:\n>>>\n{context}\n>>>\nExtracted relevant parts:`;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"chain_extract_prompt.cjs","names":[],"sources":["../../../src/retrievers/document_compressors/chain_extract_prompt.ts"],"sourcesContent":["export const PROMPT_TEMPLATE = (\n noOutputStr: string\n) => `Given the following question and context, extract any part of the context *AS IS* that is relevant to answer the question. If none of the context is relevant return ${noOutputStr}.\n\nRemember, *DO NOT* edit the extracted parts of the context.\n\n> Question: {question}\n> Context:\n>>>\n{context}\n>>>\nExtracted relevant parts:`;\n"],"mappings":";AAAA,MAAa,mBACX,gBACG,wKAAwK,YAAY"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require(
|
|
3
|
-
const require_retrievers_document_compressors_index = require(
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_retrievers_document_compressors_index = require("./index.cjs");
|
|
4
4
|
let _langchain_core_utils_math = require("@langchain/core/utils/math");
|
|
5
|
-
|
|
6
5
|
//#region src/retrievers/document_compressors/embeddings_filter.ts
|
|
7
6
|
var embeddings_filter_exports = /* @__PURE__ */ require_runtime.__exportAll({ EmbeddingsFilter: () => EmbeddingsFilter });
|
|
8
7
|
/**
|
|
@@ -62,13 +61,13 @@ var EmbeddingsFilter = class extends require_retrievers_document_compressors_ind
|
|
|
62
61
|
return includedIdxs.map((i) => documents[i]);
|
|
63
62
|
}
|
|
64
63
|
};
|
|
65
|
-
|
|
66
64
|
//#endregion
|
|
67
65
|
exports.EmbeddingsFilter = EmbeddingsFilter;
|
|
68
|
-
Object.defineProperty(exports,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
Object.defineProperty(exports, "embeddings_filter_exports", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function() {
|
|
69
|
+
return embeddings_filter_exports;
|
|
70
|
+
}
|
|
73
71
|
});
|
|
72
|
+
|
|
74
73
|
//# sourceMappingURL=embeddings_filter.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings_filter.cjs","names":["BaseDocumentCompressor","cosineSimilarity"],"sources":["../../../src/retrievers/document_compressors/embeddings_filter.ts"],"sourcesContent":["import type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { cosineSimilarity } from \"@langchain/core/utils/math\";\nimport { BaseDocumentCompressor } from \"./index.js\";\n\n/**\n * Interface for the parameters of the `EmbeddingsFilter` class.\n */\nexport interface EmbeddingsFilterParams {\n embeddings: EmbeddingsInterface;\n similarityFn?: (x: number[][], y: number[][]) => number[][];\n similarityThreshold?: number;\n k?: number;\n}\n\n/**\n * Class that represents a document compressor that uses embeddings to\n * drop documents unrelated to the query.\n * @example\n * ```typescript\n * const embeddingsFilter = new EmbeddingsFilter({\n * embeddings: new OpenAIEmbeddings(),\n * similarityThreshold: 0.8,\n * k: 5,\n * });\n * const retrievedDocs = await embeddingsFilter.filterDocuments(\n * getDocuments(),\n * \"What did the speaker say about Justice Breyer in the 2022 State of the Union?\",\n * );\n * console.log({ retrievedDocs });\n * ```\n */\nexport class EmbeddingsFilter extends BaseDocumentCompressor {\n /**\n * Embeddings to use for embedding document contents and queries.\n */\n embeddings: EmbeddingsInterface;\n\n /**\n * Similarity function for comparing documents.\n */\n similarityFn = cosineSimilarity;\n\n /**\n * Threshold for determining when two documents are similar enough\n * to be considered redundant. Must be specified if `k` is not set.\n */\n similarityThreshold?: number;\n\n /**\n * The number of relevant documents to return. Can be explicitly set to undefined, in which case\n * similarity_threshold` must be specified. Defaults to 20\n */\n k? = 20;\n\n constructor(params: EmbeddingsFilterParams) {\n super();\n this.embeddings = params.embeddings;\n this.similarityFn = params.similarityFn ?? this.similarityFn;\n this.similarityThreshold = params.similarityThreshold;\n this.k = \"k\" in params ? params.k : this.k;\n if (this.k === undefined && this.similarityThreshold === undefined) {\n throw new Error(`Must specify one of \"k\" or \"similarity_threshold\".`);\n }\n }\n\n async compressDocuments(\n documents: DocumentInterface[],\n query: string\n ): Promise<DocumentInterface[]> {\n const embeddedDocuments = await this.embeddings.embedDocuments(\n documents.map((doc) => doc.pageContent)\n );\n const embeddedQuery = await this.embeddings.embedQuery(query);\n const similarity = this.similarityFn([embeddedQuery], embeddedDocuments)[0];\n let includedIdxs = Array.from(\n { length: embeddedDocuments.length },\n (_, i) => i\n );\n\n if (this.k !== undefined) {\n includedIdxs = includedIdxs\n .map((v, i) => [similarity[i], v])\n .sort(([a], [b]) => b - a)\n .slice(0, this.k)\n .map(([, i]) => i);\n }\n\n if (this.similarityThreshold !== undefined) {\n const threshold = this.similarityThreshold;\n includedIdxs = includedIdxs.filter((i) => similarity[i] > threshold);\n }\n\n return includedIdxs.map((i) => documents[i]);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"embeddings_filter.cjs","names":["BaseDocumentCompressor","cosineSimilarity"],"sources":["../../../src/retrievers/document_compressors/embeddings_filter.ts"],"sourcesContent":["import type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { cosineSimilarity } from \"@langchain/core/utils/math\";\nimport { BaseDocumentCompressor } from \"./index.js\";\n\n/**\n * Interface for the parameters of the `EmbeddingsFilter` class.\n */\nexport interface EmbeddingsFilterParams {\n embeddings: EmbeddingsInterface;\n similarityFn?: (x: number[][], y: number[][]) => number[][];\n similarityThreshold?: number;\n k?: number;\n}\n\n/**\n * Class that represents a document compressor that uses embeddings to\n * drop documents unrelated to the query.\n * @example\n * ```typescript\n * const embeddingsFilter = new EmbeddingsFilter({\n * embeddings: new OpenAIEmbeddings(),\n * similarityThreshold: 0.8,\n * k: 5,\n * });\n * const retrievedDocs = await embeddingsFilter.filterDocuments(\n * getDocuments(),\n * \"What did the speaker say about Justice Breyer in the 2022 State of the Union?\",\n * );\n * console.log({ retrievedDocs });\n * ```\n */\nexport class EmbeddingsFilter extends BaseDocumentCompressor {\n /**\n * Embeddings to use for embedding document contents and queries.\n */\n embeddings: EmbeddingsInterface;\n\n /**\n * Similarity function for comparing documents.\n */\n similarityFn = cosineSimilarity;\n\n /**\n * Threshold for determining when two documents are similar enough\n * to be considered redundant. Must be specified if `k` is not set.\n */\n similarityThreshold?: number;\n\n /**\n * The number of relevant documents to return. Can be explicitly set to undefined, in which case\n * similarity_threshold` must be specified. Defaults to 20\n */\n k? = 20;\n\n constructor(params: EmbeddingsFilterParams) {\n super();\n this.embeddings = params.embeddings;\n this.similarityFn = params.similarityFn ?? this.similarityFn;\n this.similarityThreshold = params.similarityThreshold;\n this.k = \"k\" in params ? params.k : this.k;\n if (this.k === undefined && this.similarityThreshold === undefined) {\n throw new Error(`Must specify one of \"k\" or \"similarity_threshold\".`);\n }\n }\n\n async compressDocuments(\n documents: DocumentInterface[],\n query: string\n ): Promise<DocumentInterface[]> {\n const embeddedDocuments = await this.embeddings.embedDocuments(\n documents.map((doc) => doc.pageContent)\n );\n const embeddedQuery = await this.embeddings.embedQuery(query);\n const similarity = this.similarityFn([embeddedQuery], embeddedDocuments)[0];\n let includedIdxs = Array.from(\n { length: embeddedDocuments.length },\n (_, i) => i\n );\n\n if (this.k !== undefined) {\n includedIdxs = includedIdxs\n .map((v, i) => [similarity[i], v])\n .sort(([a], [b]) => b - a)\n .slice(0, this.k)\n .map(([, i]) => i);\n }\n\n if (this.similarityThreshold !== undefined) {\n const threshold = this.similarityThreshold;\n includedIdxs = includedIdxs.filter((i) => similarity[i] > threshold);\n }\n\n return includedIdxs.map((i) => documents[i]);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAa,mBAAb,cAAsCA,8CAAAA,uBAAuB;;;;CAI3D;;;;CAKA,eAAeC,2BAAAA;;;;;CAMf;;;;;CAMA,IAAK;CAEL,YAAY,QAAgC;AAC1C,SAAO;AACP,OAAK,aAAa,OAAO;AACzB,OAAK,eAAe,OAAO,gBAAgB,KAAK;AAChD,OAAK,sBAAsB,OAAO;AAClC,OAAK,IAAI,OAAO,SAAS,OAAO,IAAI,KAAK;AACzC,MAAI,KAAK,MAAM,KAAA,KAAa,KAAK,wBAAwB,KAAA,EACvD,OAAM,IAAI,MAAM,qDAAqD;;CAIzE,MAAM,kBACJ,WACA,OAC8B;EAC9B,MAAM,oBAAoB,MAAM,KAAK,WAAW,eAC9C,UAAU,KAAK,QAAQ,IAAI,YAAY,CACxC;EACD,MAAM,gBAAgB,MAAM,KAAK,WAAW,WAAW,MAAM;EAC7D,MAAM,aAAa,KAAK,aAAa,CAAC,cAAc,EAAE,kBAAkB,CAAC;EACzE,IAAI,eAAe,MAAM,KACvB,EAAE,QAAQ,kBAAkB,QAAQ,GACnC,GAAG,MAAM,EACX;AAED,MAAI,KAAK,MAAM,KAAA,EACb,gBAAe,aACZ,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CACjC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CACzB,MAAM,GAAG,KAAK,EAAE,CAChB,KAAK,GAAG,OAAO,EAAE;AAGtB,MAAI,KAAK,wBAAwB,KAAA,GAAW;GAC1C,MAAM,YAAY,KAAK;AACvB,kBAAe,aAAa,QAAQ,MAAM,WAAW,KAAK,UAAU;;AAGtE,SAAO,aAAa,KAAK,MAAM,UAAU,GAAG"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { BaseDocumentCompressor } from "./index.js";
|
|
3
3
|
import { cosineSimilarity } from "@langchain/core/utils/math";
|
|
4
|
-
|
|
5
4
|
//#region src/retrievers/document_compressors/embeddings_filter.ts
|
|
6
5
|
var embeddings_filter_exports = /* @__PURE__ */ __exportAll({ EmbeddingsFilter: () => EmbeddingsFilter });
|
|
7
6
|
/**
|
|
@@ -61,7 +60,7 @@ var EmbeddingsFilter = class extends BaseDocumentCompressor {
|
|
|
61
60
|
return includedIdxs.map((i) => documents[i]);
|
|
62
61
|
}
|
|
63
62
|
};
|
|
64
|
-
|
|
65
63
|
//#endregion
|
|
66
64
|
export { EmbeddingsFilter, embeddings_filter_exports };
|
|
65
|
+
|
|
67
66
|
//# sourceMappingURL=embeddings_filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings_filter.js","names":[],"sources":["../../../src/retrievers/document_compressors/embeddings_filter.ts"],"sourcesContent":["import type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { cosineSimilarity } from \"@langchain/core/utils/math\";\nimport { BaseDocumentCompressor } from \"./index.js\";\n\n/**\n * Interface for the parameters of the `EmbeddingsFilter` class.\n */\nexport interface EmbeddingsFilterParams {\n embeddings: EmbeddingsInterface;\n similarityFn?: (x: number[][], y: number[][]) => number[][];\n similarityThreshold?: number;\n k?: number;\n}\n\n/**\n * Class that represents a document compressor that uses embeddings to\n * drop documents unrelated to the query.\n * @example\n * ```typescript\n * const embeddingsFilter = new EmbeddingsFilter({\n * embeddings: new OpenAIEmbeddings(),\n * similarityThreshold: 0.8,\n * k: 5,\n * });\n * const retrievedDocs = await embeddingsFilter.filterDocuments(\n * getDocuments(),\n * \"What did the speaker say about Justice Breyer in the 2022 State of the Union?\",\n * );\n * console.log({ retrievedDocs });\n * ```\n */\nexport class EmbeddingsFilter extends BaseDocumentCompressor {\n /**\n * Embeddings to use for embedding document contents and queries.\n */\n embeddings: EmbeddingsInterface;\n\n /**\n * Similarity function for comparing documents.\n */\n similarityFn = cosineSimilarity;\n\n /**\n * Threshold for determining when two documents are similar enough\n * to be considered redundant. Must be specified if `k` is not set.\n */\n similarityThreshold?: number;\n\n /**\n * The number of relevant documents to return. Can be explicitly set to undefined, in which case\n * similarity_threshold` must be specified. Defaults to 20\n */\n k? = 20;\n\n constructor(params: EmbeddingsFilterParams) {\n super();\n this.embeddings = params.embeddings;\n this.similarityFn = params.similarityFn ?? this.similarityFn;\n this.similarityThreshold = params.similarityThreshold;\n this.k = \"k\" in params ? params.k : this.k;\n if (this.k === undefined && this.similarityThreshold === undefined) {\n throw new Error(`Must specify one of \"k\" or \"similarity_threshold\".`);\n }\n }\n\n async compressDocuments(\n documents: DocumentInterface[],\n query: string\n ): Promise<DocumentInterface[]> {\n const embeddedDocuments = await this.embeddings.embedDocuments(\n documents.map((doc) => doc.pageContent)\n );\n const embeddedQuery = await this.embeddings.embedQuery(query);\n const similarity = this.similarityFn([embeddedQuery], embeddedDocuments)[0];\n let includedIdxs = Array.from(\n { length: embeddedDocuments.length },\n (_, i) => i\n );\n\n if (this.k !== undefined) {\n includedIdxs = includedIdxs\n .map((v, i) => [similarity[i], v])\n .sort(([a], [b]) => b - a)\n .slice(0, this.k)\n .map(([, i]) => i);\n }\n\n if (this.similarityThreshold !== undefined) {\n const threshold = this.similarityThreshold;\n includedIdxs = includedIdxs.filter((i) => similarity[i] > threshold);\n }\n\n return includedIdxs.map((i) => documents[i]);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"embeddings_filter.js","names":[],"sources":["../../../src/retrievers/document_compressors/embeddings_filter.ts"],"sourcesContent":["import type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport type { DocumentInterface } from \"@langchain/core/documents\";\nimport { cosineSimilarity } from \"@langchain/core/utils/math\";\nimport { BaseDocumentCompressor } from \"./index.js\";\n\n/**\n * Interface for the parameters of the `EmbeddingsFilter` class.\n */\nexport interface EmbeddingsFilterParams {\n embeddings: EmbeddingsInterface;\n similarityFn?: (x: number[][], y: number[][]) => number[][];\n similarityThreshold?: number;\n k?: number;\n}\n\n/**\n * Class that represents a document compressor that uses embeddings to\n * drop documents unrelated to the query.\n * @example\n * ```typescript\n * const embeddingsFilter = new EmbeddingsFilter({\n * embeddings: new OpenAIEmbeddings(),\n * similarityThreshold: 0.8,\n * k: 5,\n * });\n * const retrievedDocs = await embeddingsFilter.filterDocuments(\n * getDocuments(),\n * \"What did the speaker say about Justice Breyer in the 2022 State of the Union?\",\n * );\n * console.log({ retrievedDocs });\n * ```\n */\nexport class EmbeddingsFilter extends BaseDocumentCompressor {\n /**\n * Embeddings to use for embedding document contents and queries.\n */\n embeddings: EmbeddingsInterface;\n\n /**\n * Similarity function for comparing documents.\n */\n similarityFn = cosineSimilarity;\n\n /**\n * Threshold for determining when two documents are similar enough\n * to be considered redundant. Must be specified if `k` is not set.\n */\n similarityThreshold?: number;\n\n /**\n * The number of relevant documents to return. Can be explicitly set to undefined, in which case\n * similarity_threshold` must be specified. Defaults to 20\n */\n k? = 20;\n\n constructor(params: EmbeddingsFilterParams) {\n super();\n this.embeddings = params.embeddings;\n this.similarityFn = params.similarityFn ?? this.similarityFn;\n this.similarityThreshold = params.similarityThreshold;\n this.k = \"k\" in params ? params.k : this.k;\n if (this.k === undefined && this.similarityThreshold === undefined) {\n throw new Error(`Must specify one of \"k\" or \"similarity_threshold\".`);\n }\n }\n\n async compressDocuments(\n documents: DocumentInterface[],\n query: string\n ): Promise<DocumentInterface[]> {\n const embeddedDocuments = await this.embeddings.embedDocuments(\n documents.map((doc) => doc.pageContent)\n );\n const embeddedQuery = await this.embeddings.embedQuery(query);\n const similarity = this.similarityFn([embeddedQuery], embeddedDocuments)[0];\n let includedIdxs = Array.from(\n { length: embeddedDocuments.length },\n (_, i) => i\n );\n\n if (this.k !== undefined) {\n includedIdxs = includedIdxs\n .map((v, i) => [similarity[i], v])\n .sort(([a], [b]) => b - a)\n .slice(0, this.k)\n .map(([, i]) => i);\n }\n\n if (this.similarityThreshold !== undefined) {\n const threshold = this.similarityThreshold;\n includedIdxs = includedIdxs.filter((i) => similarity[i] > threshold);\n }\n\n return includedIdxs.map((i) => documents[i]);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAa,mBAAb,cAAsC,uBAAuB;;;;CAI3D;;;;CAKA,eAAe;;;;;CAMf;;;;;CAMA,IAAK;CAEL,YAAY,QAAgC;AAC1C,SAAO;AACP,OAAK,aAAa,OAAO;AACzB,OAAK,eAAe,OAAO,gBAAgB,KAAK;AAChD,OAAK,sBAAsB,OAAO;AAClC,OAAK,IAAI,OAAO,SAAS,OAAO,IAAI,KAAK;AACzC,MAAI,KAAK,MAAM,KAAA,KAAa,KAAK,wBAAwB,KAAA,EACvD,OAAM,IAAI,MAAM,qDAAqD;;CAIzE,MAAM,kBACJ,WACA,OAC8B;EAC9B,MAAM,oBAAoB,MAAM,KAAK,WAAW,eAC9C,UAAU,KAAK,QAAQ,IAAI,YAAY,CACxC;EACD,MAAM,gBAAgB,MAAM,KAAK,WAAW,WAAW,MAAM;EAC7D,MAAM,aAAa,KAAK,aAAa,CAAC,cAAc,EAAE,kBAAkB,CAAC;EACzE,IAAI,eAAe,MAAM,KACvB,EAAE,QAAQ,kBAAkB,QAAQ,GACnC,GAAG,MAAM,EACX;AAED,MAAI,KAAK,MAAM,KAAA,EACb,gBAAe,aACZ,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CACjC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CACzB,MAAM,GAAG,KAAK,EAAE,CAChB,KAAK,GAAG,OAAO,EAAE;AAGtB,MAAI,KAAK,wBAAwB,KAAA,GAAW;GAC1C,MAAM,YAAY,KAAK;AACvB,kBAAe,aAAa,QAAQ,MAAM,WAAW,KAAK,UAAU;;AAGtE,SAAO,aAAa,KAAK,MAAM,UAAU,GAAG"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
3
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
2
|
//#region src/retrievers/document_compressors/index.ts
|
|
5
|
-
var document_compressors_exports = /* @__PURE__ */
|
|
3
|
+
var document_compressors_exports = /* @__PURE__ */ require("../../_virtual/_rolldown/runtime.cjs").__exportAll({
|
|
6
4
|
BaseDocumentCompressor: () => BaseDocumentCompressor,
|
|
7
5
|
DocumentCompressorPipeline: () => DocumentCompressorPipeline
|
|
8
6
|
});
|
|
@@ -56,14 +54,14 @@ var DocumentCompressorPipeline = class extends BaseDocumentCompressor {
|
|
|
56
54
|
return transformedDocuments;
|
|
57
55
|
}
|
|
58
56
|
};
|
|
59
|
-
|
|
60
57
|
//#endregion
|
|
61
58
|
exports.BaseDocumentCompressor = BaseDocumentCompressor;
|
|
62
59
|
exports.DocumentCompressorPipeline = DocumentCompressorPipeline;
|
|
63
|
-
Object.defineProperty(exports,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
Object.defineProperty(exports, "document_compressors_exports", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function() {
|
|
63
|
+
return document_compressors_exports;
|
|
64
|
+
}
|
|
68
65
|
});
|
|
66
|
+
|
|
69
67
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/retrievers/document_compressors/index.ts"],"sourcesContent":["import type { DocumentInterface } from \"@langchain/core/documents\";\nimport { BaseDocumentTransformer } from \"@langchain/core/documents\";\nimport { Callbacks } from \"@langchain/core/callbacks/manager\";\n\n/**\n * Base Document Compression class. All compressors should extend this class.\n */\nexport abstract class BaseDocumentCompressor {\n /**\n * Abstract method that must be implemented by any class that extends\n * `BaseDocumentCompressor`. This method takes an array of `Document`\n * objects and a query string as parameters and returns a Promise that\n * resolves with an array of compressed `Document` objects.\n * @param documents An array of `Document` objects to be compressed.\n * @param query A query string.\n * @returns A Promise that resolves with an array of compressed `Document` objects.\n */\n abstract compressDocuments(\n documents: DocumentInterface[],\n query: string,\n callbacks?: Callbacks\n ): Promise<DocumentInterface[]>;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static isBaseDocumentCompressor(x: any): x is BaseDocumentCompressor {\n return x?.compressDocuments !== undefined;\n }\n}\n\n/**\n * Document compressor that uses a pipeline of Transformers.\n * @example\n * ```typescript\n * const compressorPipeline = new DocumentCompressorPipeline({\n * transformers: [\n * new RecursiveCharacterTextSplitter({\n * chunkSize: 200,\n * chunkOverlap: 0,\n * }),\n * new EmbeddingsFilter({\n * embeddings: new OpenAIEmbeddings(),\n * similarityThreshold: 0.8,\n * k: 5,\n * }),\n * ],\n * });\n * const retriever = new ContextualCompressionRetriever({\n * baseCompressor: compressorPipeline,\n * baseRetriever: new TavilySearchAPIRetriever({\n * includeRawContent: true,\n * }),\n * });\n * const retrievedDocs = await retriever.invoke(\n * \"What did the speaker say about Justice Breyer in the 2022 State of the Union?\",\n * );\n * console.log({ retrievedDocs });\n * ```\n */\nexport class DocumentCompressorPipeline extends BaseDocumentCompressor {\n transformers: (BaseDocumentTransformer | BaseDocumentCompressor)[];\n\n constructor(fields: {\n transformers: (BaseDocumentTransformer | BaseDocumentCompressor)[];\n }) {\n super();\n this.transformers = fields.transformers;\n }\n\n async compressDocuments(\n documents: DocumentInterface[],\n query: string,\n callbacks?: Callbacks\n ): Promise<DocumentInterface[]> {\n let transformedDocuments = documents;\n for (const transformer of this.transformers) {\n if (BaseDocumentCompressor.isBaseDocumentCompressor(transformer)) {\n transformedDocuments = await transformer.compressDocuments(\n transformedDocuments,\n query,\n callbacks\n );\n } else {\n transformedDocuments =\n await transformer.transformDocuments(transformedDocuments);\n }\n }\n return transformedDocuments;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/retrievers/document_compressors/index.ts"],"sourcesContent":["import type { DocumentInterface } from \"@langchain/core/documents\";\nimport { BaseDocumentTransformer } from \"@langchain/core/documents\";\nimport { Callbacks } from \"@langchain/core/callbacks/manager\";\n\n/**\n * Base Document Compression class. All compressors should extend this class.\n */\nexport abstract class BaseDocumentCompressor {\n /**\n * Abstract method that must be implemented by any class that extends\n * `BaseDocumentCompressor`. This method takes an array of `Document`\n * objects and a query string as parameters and returns a Promise that\n * resolves with an array of compressed `Document` objects.\n * @param documents An array of `Document` objects to be compressed.\n * @param query A query string.\n * @returns A Promise that resolves with an array of compressed `Document` objects.\n */\n abstract compressDocuments(\n documents: DocumentInterface[],\n query: string,\n callbacks?: Callbacks\n ): Promise<DocumentInterface[]>;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static isBaseDocumentCompressor(x: any): x is BaseDocumentCompressor {\n return x?.compressDocuments !== undefined;\n }\n}\n\n/**\n * Document compressor that uses a pipeline of Transformers.\n * @example\n * ```typescript\n * const compressorPipeline = new DocumentCompressorPipeline({\n * transformers: [\n * new RecursiveCharacterTextSplitter({\n * chunkSize: 200,\n * chunkOverlap: 0,\n * }),\n * new EmbeddingsFilter({\n * embeddings: new OpenAIEmbeddings(),\n * similarityThreshold: 0.8,\n * k: 5,\n * }),\n * ],\n * });\n * const retriever = new ContextualCompressionRetriever({\n * baseCompressor: compressorPipeline,\n * baseRetriever: new TavilySearchAPIRetriever({\n * includeRawContent: true,\n * }),\n * });\n * const retrievedDocs = await retriever.invoke(\n * \"What did the speaker say about Justice Breyer in the 2022 State of the Union?\",\n * );\n * console.log({ retrievedDocs });\n * ```\n */\nexport class DocumentCompressorPipeline extends BaseDocumentCompressor {\n transformers: (BaseDocumentTransformer | BaseDocumentCompressor)[];\n\n constructor(fields: {\n transformers: (BaseDocumentTransformer | BaseDocumentCompressor)[];\n }) {\n super();\n this.transformers = fields.transformers;\n }\n\n async compressDocuments(\n documents: DocumentInterface[],\n query: string,\n callbacks?: Callbacks\n ): Promise<DocumentInterface[]> {\n let transformedDocuments = documents;\n for (const transformer of this.transformers) {\n if (BaseDocumentCompressor.isBaseDocumentCompressor(transformer)) {\n transformedDocuments = await transformer.compressDocuments(\n transformedDocuments,\n query,\n callbacks\n );\n } else {\n transformedDocuments =\n await transformer.transformDocuments(transformedDocuments);\n }\n }\n return transformedDocuments;\n }\n}\n"],"mappings":";;;;;;;;;AAOA,IAAsB,yBAAtB,MAA6C;CAiB3C,OAAO,yBAAyB,GAAqC;AACnE,SAAO,GAAG,sBAAsB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCpC,IAAa,6BAAb,cAAgD,uBAAuB;CACrE;CAEA,YAAY,QAET;AACD,SAAO;AACP,OAAK,eAAe,OAAO;;CAG7B,MAAM,kBACJ,WACA,OACA,WAC8B;EAC9B,IAAI,uBAAuB;AAC3B,OAAK,MAAM,eAAe,KAAK,aAC7B,KAAI,uBAAuB,yBAAyB,YAAY,CAC9D,wBAAuB,MAAM,YAAY,kBACvC,sBACA,OACA,UACD;MAED,wBACE,MAAM,YAAY,mBAAmB,qBAAqB;AAGhE,SAAO"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
2
|
-
|
|
3
2
|
//#region src/retrievers/document_compressors/index.ts
|
|
4
3
|
var document_compressors_exports = /* @__PURE__ */ __exportAll({
|
|
5
4
|
BaseDocumentCompressor: () => BaseDocumentCompressor,
|
|
@@ -55,7 +54,7 @@ var DocumentCompressorPipeline = class extends BaseDocumentCompressor {
|
|
|
55
54
|
return transformedDocuments;
|
|
56
55
|
}
|
|
57
56
|
};
|
|
58
|
-
|
|
59
57
|
//#endregion
|
|
60
58
|
export { BaseDocumentCompressor, DocumentCompressorPipeline, document_compressors_exports };
|
|
59
|
+
|
|
61
60
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/retrievers/document_compressors/index.ts"],"sourcesContent":["import type { DocumentInterface } from \"@langchain/core/documents\";\nimport { BaseDocumentTransformer } from \"@langchain/core/documents\";\nimport { Callbacks } from \"@langchain/core/callbacks/manager\";\n\n/**\n * Base Document Compression class. All compressors should extend this class.\n */\nexport abstract class BaseDocumentCompressor {\n /**\n * Abstract method that must be implemented by any class that extends\n * `BaseDocumentCompressor`. This method takes an array of `Document`\n * objects and a query string as parameters and returns a Promise that\n * resolves with an array of compressed `Document` objects.\n * @param documents An array of `Document` objects to be compressed.\n * @param query A query string.\n * @returns A Promise that resolves with an array of compressed `Document` objects.\n */\n abstract compressDocuments(\n documents: DocumentInterface[],\n query: string,\n callbacks?: Callbacks\n ): Promise<DocumentInterface[]>;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static isBaseDocumentCompressor(x: any): x is BaseDocumentCompressor {\n return x?.compressDocuments !== undefined;\n }\n}\n\n/**\n * Document compressor that uses a pipeline of Transformers.\n * @example\n * ```typescript\n * const compressorPipeline = new DocumentCompressorPipeline({\n * transformers: [\n * new RecursiveCharacterTextSplitter({\n * chunkSize: 200,\n * chunkOverlap: 0,\n * }),\n * new EmbeddingsFilter({\n * embeddings: new OpenAIEmbeddings(),\n * similarityThreshold: 0.8,\n * k: 5,\n * }),\n * ],\n * });\n * const retriever = new ContextualCompressionRetriever({\n * baseCompressor: compressorPipeline,\n * baseRetriever: new TavilySearchAPIRetriever({\n * includeRawContent: true,\n * }),\n * });\n * const retrievedDocs = await retriever.invoke(\n * \"What did the speaker say about Justice Breyer in the 2022 State of the Union?\",\n * );\n * console.log({ retrievedDocs });\n * ```\n */\nexport class DocumentCompressorPipeline extends BaseDocumentCompressor {\n transformers: (BaseDocumentTransformer | BaseDocumentCompressor)[];\n\n constructor(fields: {\n transformers: (BaseDocumentTransformer | BaseDocumentCompressor)[];\n }) {\n super();\n this.transformers = fields.transformers;\n }\n\n async compressDocuments(\n documents: DocumentInterface[],\n query: string,\n callbacks?: Callbacks\n ): Promise<DocumentInterface[]> {\n let transformedDocuments = documents;\n for (const transformer of this.transformers) {\n if (BaseDocumentCompressor.isBaseDocumentCompressor(transformer)) {\n transformedDocuments = await transformer.compressDocuments(\n transformedDocuments,\n query,\n callbacks\n );\n } else {\n transformedDocuments =\n await transformer.transformDocuments(transformedDocuments);\n }\n }\n return transformedDocuments;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/retrievers/document_compressors/index.ts"],"sourcesContent":["import type { DocumentInterface } from \"@langchain/core/documents\";\nimport { BaseDocumentTransformer } from \"@langchain/core/documents\";\nimport { Callbacks } from \"@langchain/core/callbacks/manager\";\n\n/**\n * Base Document Compression class. All compressors should extend this class.\n */\nexport abstract class BaseDocumentCompressor {\n /**\n * Abstract method that must be implemented by any class that extends\n * `BaseDocumentCompressor`. This method takes an array of `Document`\n * objects and a query string as parameters and returns a Promise that\n * resolves with an array of compressed `Document` objects.\n * @param documents An array of `Document` objects to be compressed.\n * @param query A query string.\n * @returns A Promise that resolves with an array of compressed `Document` objects.\n */\n abstract compressDocuments(\n documents: DocumentInterface[],\n query: string,\n callbacks?: Callbacks\n ): Promise<DocumentInterface[]>;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static isBaseDocumentCompressor(x: any): x is BaseDocumentCompressor {\n return x?.compressDocuments !== undefined;\n }\n}\n\n/**\n * Document compressor that uses a pipeline of Transformers.\n * @example\n * ```typescript\n * const compressorPipeline = new DocumentCompressorPipeline({\n * transformers: [\n * new RecursiveCharacterTextSplitter({\n * chunkSize: 200,\n * chunkOverlap: 0,\n * }),\n * new EmbeddingsFilter({\n * embeddings: new OpenAIEmbeddings(),\n * similarityThreshold: 0.8,\n * k: 5,\n * }),\n * ],\n * });\n * const retriever = new ContextualCompressionRetriever({\n * baseCompressor: compressorPipeline,\n * baseRetriever: new TavilySearchAPIRetriever({\n * includeRawContent: true,\n * }),\n * });\n * const retrievedDocs = await retriever.invoke(\n * \"What did the speaker say about Justice Breyer in the 2022 State of the Union?\",\n * );\n * console.log({ retrievedDocs });\n * ```\n */\nexport class DocumentCompressorPipeline extends BaseDocumentCompressor {\n transformers: (BaseDocumentTransformer | BaseDocumentCompressor)[];\n\n constructor(fields: {\n transformers: (BaseDocumentTransformer | BaseDocumentCompressor)[];\n }) {\n super();\n this.transformers = fields.transformers;\n }\n\n async compressDocuments(\n documents: DocumentInterface[],\n query: string,\n callbacks?: Callbacks\n ): Promise<DocumentInterface[]> {\n let transformedDocuments = documents;\n for (const transformer of this.transformers) {\n if (BaseDocumentCompressor.isBaseDocumentCompressor(transformer)) {\n transformedDocuments = await transformer.compressDocuments(\n transformedDocuments,\n query,\n callbacks\n );\n } else {\n transformedDocuments =\n await transformer.transformDocuments(transformedDocuments);\n }\n }\n return transformedDocuments;\n }\n}\n"],"mappings":";;;;;;;;;AAOA,IAAsB,yBAAtB,MAA6C;CAiB3C,OAAO,yBAAyB,GAAqC;AACnE,SAAO,GAAG,sBAAsB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCpC,IAAa,6BAAb,cAAgD,uBAAuB;CACrE;CAEA,YAAY,QAET;AACD,SAAO;AACP,OAAK,eAAe,OAAO;;CAG7B,MAAM,kBACJ,WACA,OACA,WAC8B;EAC9B,IAAI,uBAAuB;AAC3B,OAAK,MAAM,eAAe,KAAK,aAC7B,KAAI,uBAAuB,yBAAyB,YAAY,CAC9D,wBAAuB,MAAM,YAAY,kBACvC,sBACA,OACA,UACD;MAED,wBACE,MAAM,YAAY,mBAAmB,qBAAqB;AAGhE,SAAO"}
|