@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,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/agents/mrkl/prompt.ts
|
|
3
2
|
const PREFIX = `Answer the following questions as best you can. You have access to the following tools:`;
|
|
4
3
|
const FORMAT_INSTRUCTIONS = `Use the following format in your response:
|
|
@@ -15,9 +14,9 @@ const SUFFIX = `Begin!
|
|
|
15
14
|
|
|
16
15
|
Question: {input}
|
|
17
16
|
Thought:{agent_scratchpad}`;
|
|
18
|
-
|
|
19
17
|
//#endregion
|
|
20
18
|
exports.FORMAT_INSTRUCTIONS = FORMAT_INSTRUCTIONS;
|
|
21
19
|
exports.PREFIX = PREFIX;
|
|
22
20
|
exports.SUFFIX = SUFFIX;
|
|
21
|
+
|
|
23
22
|
//# sourceMappingURL=prompt.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.cjs","names":[],"sources":["../../../src/agents/mrkl/prompt.ts"],"sourcesContent":["export const PREFIX = `Answer the following questions as best you can. You have access to the following tools:`;\nexport const FORMAT_INSTRUCTIONS = `Use the following format in your response:\n\nQuestion: the input question you must answer\nThought: you should always think about what to do\nAction: the action to take, should be one of [{tool_names}]\nAction Input: the input to the action\nObservation: the result of the action\n... (this Thought/Action/Action Input/Observation can repeat N times)\nThought: I now know the final answer\nFinal Answer: the final answer to the original input question`;\nexport const SUFFIX = `Begin!\n\nQuestion: {input}\nThought:{agent_scratchpad}`;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt.cjs","names":[],"sources":["../../../src/agents/mrkl/prompt.ts"],"sourcesContent":["export const PREFIX = `Answer the following questions as best you can. You have access to the following tools:`;\nexport const FORMAT_INSTRUCTIONS = `Use the following format in your response:\n\nQuestion: the input question you must answer\nThought: you should always think about what to do\nAction: the action to take, should be one of [{tool_names}]\nAction Input: the input to the action\nObservation: the result of the action\n... (this Thought/Action/Action Input/Observation can repeat N times)\nThought: I now know the final answer\nFinal Answer: the final answer to the original input question`;\nexport const SUFFIX = `Begin!\n\nQuestion: {input}\nThought:{agent_scratchpad}`;\n"],"mappings":";AAAA,MAAa,SAAS;AACtB,MAAa,sBAAsB;;;;;;;;;;AAUnC,MAAa,SAAS"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require(
|
|
3
|
-
const require_output_parser = require(
|
|
4
|
-
const require_output_parser$1 = require(
|
|
5
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_output_parser = require("../openai_functions/output_parser.cjs");
|
|
4
|
+
const require_output_parser$1 = require("../openai_tools/output_parser.cjs");
|
|
6
5
|
//#region src/agents/openai/output_parser.ts
|
|
7
6
|
var output_parser_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
8
7
|
OpenAIFunctionsAgentOutputParser: () => require_output_parser.OpenAIFunctionsAgentOutputParser,
|
|
9
8
|
OpenAIToolsAgentOutputParser: () => require_output_parser$1.OpenAIToolsAgentOutputParser
|
|
10
9
|
});
|
|
11
|
-
|
|
12
10
|
//#endregion
|
|
13
11
|
exports.OpenAIFunctionsAgentOutputParser = require_output_parser.OpenAIFunctionsAgentOutputParser;
|
|
14
12
|
exports.OpenAIToolsAgentOutputParser = require_output_parser$1.OpenAIToolsAgentOutputParser;
|
|
15
|
-
Object.defineProperty(exports,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
Object.defineProperty(exports, "output_parser_exports", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function() {
|
|
16
|
+
return output_parser_exports;
|
|
17
|
+
}
|
|
20
18
|
});
|
|
19
|
+
|
|
21
20
|
//# sourceMappingURL=output_parser.cjs.map
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { OpenAIFunctionsAgentOutputParser } from "../openai_functions/output_parser.js";
|
|
3
3
|
import { OpenAIToolsAgentOutputParser } from "../openai_tools/output_parser.js";
|
|
4
|
-
|
|
5
4
|
//#region src/agents/openai/output_parser.ts
|
|
6
5
|
var output_parser_exports = /* @__PURE__ */ __exportAll({
|
|
7
6
|
OpenAIFunctionsAgentOutputParser: () => OpenAIFunctionsAgentOutputParser,
|
|
8
7
|
OpenAIToolsAgentOutputParser: () => OpenAIToolsAgentOutputParser
|
|
9
8
|
});
|
|
10
|
-
|
|
11
9
|
//#endregion
|
|
12
10
|
export { OpenAIFunctionsAgentOutputParser, OpenAIToolsAgentOutputParser, output_parser_exports };
|
|
11
|
+
|
|
13
12
|
//# sourceMappingURL=output_parser.js.map
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
const require_agents_format_scratchpad_openai_functions = require(
|
|
3
|
-
const require_agent = require(
|
|
4
|
-
const require_llm_chain = require(
|
|
5
|
-
const require_prompt = require(
|
|
6
|
-
const require_output_parser = require(
|
|
7
|
-
require(
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_agents_format_scratchpad_openai_functions = require("../format_scratchpad/openai_functions.cjs");
|
|
3
|
+
const require_agent = require("../agent.cjs");
|
|
4
|
+
const require_llm_chain = require("../../chains/llm_chain.cjs");
|
|
5
|
+
const require_prompt = require("./prompt.cjs");
|
|
6
|
+
const require_output_parser = require("./output_parser.cjs");
|
|
7
|
+
require("../openai/output_parser.cjs");
|
|
8
8
|
let _langchain_core_messages = require("@langchain/core/messages");
|
|
9
9
|
let _langchain_core_prompts = require("@langchain/core/prompts");
|
|
10
10
|
let _langchain_core_runnables = require("@langchain/core/runnables");
|
|
11
11
|
let _langchain_core_utils_function_calling = require("@langchain/core/utils/function_calling");
|
|
12
|
-
|
|
13
12
|
//#region src/agents/openai_functions/index.ts
|
|
14
13
|
/**
|
|
15
14
|
* Checks if the given action is a FunctionsAgentAction.
|
|
@@ -206,9 +205,9 @@ async function createOpenAIFunctionsAgent({ llm, tools, prompt, streamRunnable }
|
|
|
206
205
|
singleAction: true
|
|
207
206
|
});
|
|
208
207
|
}
|
|
209
|
-
|
|
210
208
|
//#endregion
|
|
211
209
|
exports.OpenAIAgent = OpenAIAgent;
|
|
212
210
|
exports._formatIntermediateSteps = _formatIntermediateSteps;
|
|
213
211
|
exports.createOpenAIFunctionsAgent = createOpenAIFunctionsAgent;
|
|
212
|
+
|
|
214
213
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["FunctionMessage","AIMessage","Agent","OpenAIFunctionsAgentOutputParser","PREFIX","ChatPromptTemplate","SystemMessagePromptTemplate","MessagesPlaceholder","HumanMessagePromptTemplate","LLMChain","AgentRunnableSequence","RunnablePassthrough","formatToOpenAIFunctionMessages"],"sources":["../../../src/agents/openai_functions/index.ts"],"sourcesContent":["import type {\n BaseLanguageModelInterface,\n BaseLanguageModelInput,\n BaseFunctionCallOptions,\n} from \"@langchain/core/language_models/base\";\nimport type { StructuredToolInterface } from \"@langchain/core/tools\";\nimport type { BaseChatModel } from \"@langchain/core/language_models/chat_models\";\nimport { Runnable, RunnablePassthrough } from \"@langchain/core/runnables\";\nimport { ChatOpenAI, ChatOpenAICallOptions } from \"@langchain/openai\";\nimport type {\n AgentAction,\n AgentFinish,\n AgentStep,\n} from \"@langchain/core/agents\";\nimport { convertToOpenAIFunction } from \"@langchain/core/utils/function_calling\";\nimport {\n AIMessage,\n BaseMessage,\n FunctionMessage,\n SystemMessage,\n BaseMessageChunk,\n} from \"@langchain/core/messages\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n MessagesPlaceholder,\n SystemMessagePromptTemplate,\n BasePromptTemplate,\n} from \"@langchain/core/prompts\";\nimport { CallbackManager } from \"@langchain/core/callbacks/manager\";\nimport { Agent, AgentArgs, AgentRunnableSequence } from \"../agent.js\";\nimport { AgentInput } from \"../types.js\";\nimport { PREFIX } from \"./prompt.js\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport {\n FunctionsAgentAction,\n OpenAIFunctionsAgentOutputParser,\n} from \"../openai/output_parser.js\";\nimport { formatToOpenAIFunctionMessages } from \"../format_scratchpad/openai_functions.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype CallOptionsIfAvailable<T> = T extends { CallOptions: infer CO } ? CO : any;\n\n/**\n * Checks if the given action is a FunctionsAgentAction.\n * @param action The action to check.\n * @returns True if the action is a FunctionsAgentAction, false otherwise.\n */\nfunction isFunctionsAgentAction(\n action: AgentAction | FunctionsAgentAction\n): action is FunctionsAgentAction {\n return (action as FunctionsAgentAction).messageLog !== undefined;\n}\n\nfunction _convertAgentStepToMessages(\n action: AgentAction | FunctionsAgentAction,\n observation: string\n) {\n if (isFunctionsAgentAction(action) && action.messageLog !== undefined) {\n return action.messageLog?.concat(\n new FunctionMessage(observation, action.tool)\n );\n } else {\n return [new AIMessage(action.log)];\n }\n}\n\nexport function _formatIntermediateSteps(\n intermediateSteps: AgentStep[]\n): BaseMessage[] {\n return intermediateSteps.flatMap(({ action, observation }) =>\n _convertAgentStepToMessages(action, observation)\n );\n}\n\n/**\n * Interface for the input data required to create an OpenAIAgent.\n */\nexport interface OpenAIAgentInput extends AgentInput {\n tools: StructuredToolInterface[];\n}\n\n/**\n * Interface for the arguments required to create a prompt for an\n * OpenAIAgent.\n */\nexport interface OpenAIAgentCreatePromptArgs {\n prefix?: string;\n systemMessage?: SystemMessage;\n}\n\n/**\n * Class representing an agent for the OpenAI chat model in LangChain. It\n * extends the Agent class and provides additional functionality specific\n * to the OpenAIAgent type.\n */\nexport class OpenAIAgent extends Agent {\n static lc_name() {\n return \"OpenAIAgent\";\n }\n\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n _agentType() {\n return \"openai-functions\" as const;\n }\n\n observationPrefix() {\n return \"Observation: \";\n }\n\n llmPrefix() {\n return \"Thought:\";\n }\n\n _stop(): string[] {\n return [\"Observation:\"];\n }\n\n tools: StructuredToolInterface[];\n\n outputParser: OpenAIFunctionsAgentOutputParser =\n new OpenAIFunctionsAgentOutputParser();\n\n constructor(input: Omit<OpenAIAgentInput, \"outputParser\">) {\n super({ ...input, outputParser: undefined });\n this.tools = input.tools;\n }\n\n /**\n * Creates a prompt for the OpenAIAgent using the provided tools and\n * fields.\n * @param _tools The tools to be used in the prompt.\n * @param fields Optional fields for creating the prompt.\n * @returns A BasePromptTemplate object representing the created prompt.\n */\n static createPrompt(\n _tools: StructuredToolInterface[],\n fields?: OpenAIAgentCreatePromptArgs\n ): BasePromptTemplate {\n const { prefix = PREFIX } = fields || {};\n return ChatPromptTemplate.fromMessages([\n SystemMessagePromptTemplate.fromTemplate(prefix),\n new MessagesPlaceholder(\"chat_history\"),\n HumanMessagePromptTemplate.fromTemplate(\"{input}\"),\n new MessagesPlaceholder(\"agent_scratchpad\"),\n ]);\n }\n\n /**\n * Creates an OpenAIAgent from a BaseLanguageModel and a list of tools.\n * @param llm The BaseLanguageModel to use.\n * @param tools The tools to be used by the agent.\n * @param args Optional arguments for creating the agent.\n * @returns An instance of OpenAIAgent.\n */\n static fromLLMAndTools(\n llm: BaseLanguageModelInterface,\n tools: StructuredToolInterface[],\n args?: OpenAIAgentCreatePromptArgs & Pick<AgentArgs, \"callbacks\">\n ) {\n OpenAIAgent.validateTools(tools);\n if (llm._modelType() !== \"base_chat_model\" || llm._llmType() !== \"openai\") {\n throw new Error(\"OpenAIAgent requires an OpenAI chat model\");\n }\n const prompt = OpenAIAgent.createPrompt(tools, args);\n const chain = new LLMChain({\n prompt,\n llm,\n callbacks: args?.callbacks,\n });\n return new OpenAIAgent({\n llmChain: chain,\n allowedTools: tools.map((t) => t.name),\n tools,\n });\n }\n\n /**\n * Constructs a scratch pad from a list of agent steps.\n * @param steps The steps to include in the scratch pad.\n * @returns A string or a list of BaseMessages representing the constructed scratch pad.\n */\n async constructScratchPad(\n steps: AgentStep[]\n ): Promise<string | BaseMessage[]> {\n return _formatIntermediateSteps(steps);\n }\n\n /**\n * Plans the next action or finish state of the agent based on the\n * provided steps, inputs, and optional callback manager.\n * @param steps The steps to consider in planning.\n * @param inputs The inputs to consider in planning.\n * @param callbackManager Optional CallbackManager to use in planning.\n * @returns A Promise that resolves to an AgentAction or AgentFinish object representing the planned action or finish state.\n */\n async plan(\n steps: Array<AgentStep>,\n inputs: ChainValues,\n callbackManager?: CallbackManager\n ): Promise<AgentAction | AgentFinish> {\n // Add scratchpad and stop to inputs\n const thoughts = await this.constructScratchPad(steps);\n const newInputs: ChainValues = {\n ...inputs,\n agent_scratchpad: thoughts,\n };\n if (this._stop().length !== 0) {\n newInputs.stop = this._stop();\n }\n\n // Split inputs between prompt and llm\n const llm = this.llmChain.llm as\n | ChatOpenAI\n | Runnable<\n BaseLanguageModelInput,\n BaseMessageChunk,\n ChatOpenAICallOptions\n >;\n\n const valuesForPrompt = { ...newInputs };\n const valuesForLLM: CallOptionsIfAvailable<typeof llm> = {\n functions: this.tools.map((tool) => convertToOpenAIFunction(tool)),\n };\n const callKeys =\n \"callKeys\" in this.llmChain.llm ? this.llmChain.llm.callKeys : [];\n for (const key of callKeys) {\n if (key in inputs) {\n valuesForLLM[key as keyof CallOptionsIfAvailable<typeof llm>] =\n inputs[key];\n delete valuesForPrompt[key];\n }\n }\n\n const promptValue =\n await this.llmChain.prompt.formatPromptValue(valuesForPrompt);\n\n const message = await (\n llm as Runnable<\n BaseLanguageModelInput,\n BaseMessageChunk,\n ChatOpenAICallOptions\n >\n ).invoke(promptValue.toChatMessages(), {\n ...valuesForLLM,\n callbacks: callbackManager,\n });\n return this.outputParser.parseAIMessage(message);\n }\n}\n\n/**\n * Params used by the createOpenAIFunctionsAgent function.\n */\nexport type CreateOpenAIFunctionsAgentParams = {\n /**\n * LLM to use as the agent. Should work with OpenAI function calling,\n * so must either be an OpenAI model that supports that or a wrapper of\n * a different model that adds in equivalent support.\n */\n llm: BaseChatModel<BaseFunctionCallOptions>;\n /** Tools this agent has access to. */\n tools: StructuredToolInterface[];\n /** The prompt to use, must have an input key for `agent_scratchpad`. */\n prompt: ChatPromptTemplate;\n /**\n * Whether to invoke the underlying model in streaming mode,\n * allowing streaming of intermediate steps. Defaults to true.\n */\n streamRunnable?: boolean;\n};\n\n/**\n * Create an agent that uses OpenAI-style function calling.\n * @param params Params required to create the agent. Includes an LLM, tools, and prompt.\n * @returns A runnable sequence representing an agent. It takes as input all the same input\n * variables as the prompt passed in does. It returns as output either an\n * AgentAction or AgentFinish.\n *\n * @example\n * ```typescript\n * import { AgentExecutor, createOpenAIFunctionsAgent } from \"langchain/agents\";\n * import { pull } from \"langchain/hub\";\n * import type { ChatPromptTemplate } from \"@langchain/core/prompts\";\n * import { AIMessage, HumanMessage } from \"@langchain/core/messages\";\n *\n * import { ChatOpenAI } from \"@langchain/openai\";\n *\n * // Define the tools the agent will have access to.\n * const tools = [...];\n *\n * // Get the prompt to use - you can modify this!\n * // If you want to see the prompt in full, you can at:\n * // https://smith.langchain.com/hub/hwchase17/openai-functions-agent\n * const prompt = await pull<ChatPromptTemplate>(\n * \"hwchase17/openai-functions-agent\"\n * );\n *\n * const llm = new ChatOpenAI({\n * model: \"gpt-4o-mini\",\n * temperature: 0,\n * });\n *\n * const agent = await createOpenAIFunctionsAgent({\n * llm,\n * tools,\n * prompt,\n * });\n *\n * const agentExecutor = new AgentExecutor({\n * agent,\n * tools,\n * });\n *\n * const result = await agentExecutor.invoke({\n * input: \"what is LangChain?\",\n * });\n *\n * // With chat history\n * const result2 = await agentExecutor.invoke({\n * input: \"what's my name?\",\n * chat_history: [\n * new HumanMessage(\"hi! my name is cob\"),\n * new AIMessage(\"Hello Cob! How can I assist you today?\"),\n * ],\n * });\n * ```\n */\nexport async function createOpenAIFunctionsAgent({\n llm,\n tools,\n prompt,\n streamRunnable,\n}: CreateOpenAIFunctionsAgentParams) {\n if (!prompt.inputVariables.includes(\"agent_scratchpad\")) {\n throw new Error(\n [\n `Prompt must have an input variable named \"agent_scratchpad\".`,\n `Found ${JSON.stringify(prompt.inputVariables)} instead.`,\n ].join(\"\\n\")\n );\n }\n const llmWithTools = llm.bindTools\n ? llm.bindTools(tools)\n : llm.withConfig({\n functions: tools.map((tool) => convertToOpenAIFunction(tool)),\n });\n const agent = AgentRunnableSequence.fromRunnables(\n [\n RunnablePassthrough.assign({\n agent_scratchpad: (input: { steps: AgentStep[] }) =>\n formatToOpenAIFunctionMessages(input.steps),\n }),\n prompt,\n llmWithTools,\n new OpenAIFunctionsAgentOutputParser(),\n ],\n {\n name: \"OpenAIFunctionsAgent\",\n streamRunnable,\n singleAction: true,\n }\n );\n return agent;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiDA,SAAS,uBACP,QACgC;AAChC,QAAQ,OAAgC,eAAe;;AAGzD,SAAS,4BACP,QACA,aACA;AACA,KAAI,uBAAuB,OAAO,IAAI,OAAO,eAAe,OAC1D,QAAO,OAAO,YAAY,OACxB,IAAIA,yCAAgB,aAAa,OAAO,KAAK,CAC9C;KAED,QAAO,CAAC,IAAIC,mCAAU,OAAO,IAAI,CAAC;;AAItC,SAAgB,yBACd,mBACe;AACf,QAAO,kBAAkB,SAAS,EAAE,QAAQ,kBAC1C,4BAA4B,QAAQ,YAAY,CACjD;;;;;;;AAwBH,IAAa,cAAb,MAAa,oBAAoBC,oBAAM;CACrC,OAAO,UAAU;AACf,SAAO;;CAGT,eAAe;EAAC;EAAa;EAAU;EAAS;CAEhD,aAAa;AACX,SAAO;;CAGT,oBAAoB;AAClB,SAAO;;CAGT,YAAY;AACV,SAAO;;CAGT,QAAkB;AAChB,SAAO,CAAC,eAAe;;CAGzB;CAEA,eACE,IAAIC,wDAAkC;CAExC,YAAY,OAA+C;AACzD,QAAM;GAAE,GAAG;GAAO,cAAc;GAAW,CAAC;AAC5C,OAAK,QAAQ,MAAM;;;;;;;;;CAUrB,OAAO,aACL,QACA,QACoB;EACpB,MAAM,EAAE,SAASC,0BAAW,UAAU,EAAE;AACxC,SAAOC,2CAAmB,aAAa;GACrCC,oDAA4B,aAAa,OAAO;GAChD,IAAIC,4CAAoB,eAAe;GACvCC,mDAA2B,aAAa,UAAU;GAClD,IAAID,4CAAoB,mBAAmB;GAC5C,CAAC;;;;;;;;;CAUJ,OAAO,gBACL,KACA,OACA,MACA;AACA,cAAY,cAAc,MAAM;AAChC,MAAI,IAAI,YAAY,KAAK,qBAAqB,IAAI,UAAU,KAAK,SAC/D,OAAM,IAAI,MAAM,4CAA4C;AAQ9D,SAAO,IAAI,YAAY;GACrB,UANY,IAAIE,2BAAS;IACzB,QAFa,YAAY,aAAa,OAAO,KAAK;IAGlD;IACA,WAAW,MAAM;IAClB,CAAC;GAGA,cAAc,MAAM,KAAK,MAAM,EAAE,KAAK;GACtC;GACD,CAAC;;;;;;;CAQJ,MAAM,oBACJ,OACiC;AACjC,SAAO,yBAAyB,MAAM;;;;;;;;;;CAWxC,MAAM,KACJ,OACA,QACA,iBACoC;EAEpC,MAAM,WAAW,MAAM,KAAK,oBAAoB,MAAM;EACtD,MAAM,YAAyB;GAC7B,GAAG;GACH,kBAAkB;GACnB;AACD,MAAI,KAAK,OAAO,CAAC,WAAW,EAC1B,WAAU,OAAO,KAAK,OAAO;EAI/B,MAAM,MAAM,KAAK,SAAS;EAQ1B,MAAM,kBAAkB,EAAE,GAAG,WAAW;EACxC,MAAM,eAAmD,EACvD,WAAW,KAAK,MAAM,KAAK,6EAAiC,KAAK,CAAC,EACnE;EACD,MAAM,WACJ,cAAc,KAAK,SAAS,MAAM,KAAK,SAAS,IAAI,WAAW,EAAE;AACnE,OAAK,MAAM,OAAO,SAChB,KAAI,OAAO,QAAQ;AACjB,gBAAa,OACX,OAAO;AACT,UAAO,gBAAgB;;EAI3B,MAAM,cACJ,MAAM,KAAK,SAAS,OAAO,kBAAkB,gBAAgB;EAE/D,MAAM,UAAU,MACd,IAKA,OAAO,YAAY,gBAAgB,EAAE;GACrC,GAAG;GACH,WAAW;GACZ,CAAC;AACF,SAAO,KAAK,aAAa,eAAe,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFpD,eAAsB,2BAA2B,EAC/C,KACA,OACA,QACA,kBACmC;AACnC,KAAI,CAAC,OAAO,eAAe,SAAS,mBAAmB,CACrD,OAAM,IAAI,MACR,CACE,gEACA,SAAS,KAAK,UAAU,OAAO,eAAe,CAAC,WAChD,CAAC,KAAK,KAAK,CACb;CAEH,MAAM,eAAe,IAAI,YACrB,IAAI,UAAU,MAAM,GACpB,IAAI,WAAW,EACb,WAAW,MAAM,KAAK,6EAAiC,KAAK,CAAC,EAC9D,CAAC;AAiBN,QAhBcC,oCAAsB,cAClC;EACEC,8CAAoB,OAAO,EACzB,mBAAmB,UACjBC,iFAA+B,MAAM,MAAM,EAC9C,CAAC;EACF;EACA;EACA,IAAIT,wDAAkC;EACvC,EACD;EACE,MAAM;EACN;EACA,cAAc;EACf,CACF"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["FunctionMessage","AIMessage","Agent","OpenAIFunctionsAgentOutputParser","PREFIX","ChatPromptTemplate","SystemMessagePromptTemplate","MessagesPlaceholder","HumanMessagePromptTemplate","LLMChain","AgentRunnableSequence","RunnablePassthrough","formatToOpenAIFunctionMessages"],"sources":["../../../src/agents/openai_functions/index.ts"],"sourcesContent":["import type {\n BaseLanguageModelInterface,\n BaseLanguageModelInput,\n BaseFunctionCallOptions,\n} from \"@langchain/core/language_models/base\";\nimport type { StructuredToolInterface } from \"@langchain/core/tools\";\nimport type { BaseChatModel } from \"@langchain/core/language_models/chat_models\";\nimport { Runnable, RunnablePassthrough } from \"@langchain/core/runnables\";\nimport { ChatOpenAI, ChatOpenAICallOptions } from \"@langchain/openai\";\nimport type {\n AgentAction,\n AgentFinish,\n AgentStep,\n} from \"@langchain/core/agents\";\nimport { convertToOpenAIFunction } from \"@langchain/core/utils/function_calling\";\nimport {\n AIMessage,\n BaseMessage,\n FunctionMessage,\n SystemMessage,\n BaseMessageChunk,\n} from \"@langchain/core/messages\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n MessagesPlaceholder,\n SystemMessagePromptTemplate,\n BasePromptTemplate,\n} from \"@langchain/core/prompts\";\nimport { CallbackManager } from \"@langchain/core/callbacks/manager\";\nimport { Agent, AgentArgs, AgentRunnableSequence } from \"../agent.js\";\nimport { AgentInput } from \"../types.js\";\nimport { PREFIX } from \"./prompt.js\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport {\n FunctionsAgentAction,\n OpenAIFunctionsAgentOutputParser,\n} from \"../openai/output_parser.js\";\nimport { formatToOpenAIFunctionMessages } from \"../format_scratchpad/openai_functions.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype CallOptionsIfAvailable<T> = T extends { CallOptions: infer CO } ? CO : any;\n\n/**\n * Checks if the given action is a FunctionsAgentAction.\n * @param action The action to check.\n * @returns True if the action is a FunctionsAgentAction, false otherwise.\n */\nfunction isFunctionsAgentAction(\n action: AgentAction | FunctionsAgentAction\n): action is FunctionsAgentAction {\n return (action as FunctionsAgentAction).messageLog !== undefined;\n}\n\nfunction _convertAgentStepToMessages(\n action: AgentAction | FunctionsAgentAction,\n observation: string\n) {\n if (isFunctionsAgentAction(action) && action.messageLog !== undefined) {\n return action.messageLog?.concat(\n new FunctionMessage(observation, action.tool)\n );\n } else {\n return [new AIMessage(action.log)];\n }\n}\n\nexport function _formatIntermediateSteps(\n intermediateSteps: AgentStep[]\n): BaseMessage[] {\n return intermediateSteps.flatMap(({ action, observation }) =>\n _convertAgentStepToMessages(action, observation)\n );\n}\n\n/**\n * Interface for the input data required to create an OpenAIAgent.\n */\nexport interface OpenAIAgentInput extends AgentInput {\n tools: StructuredToolInterface[];\n}\n\n/**\n * Interface for the arguments required to create a prompt for an\n * OpenAIAgent.\n */\nexport interface OpenAIAgentCreatePromptArgs {\n prefix?: string;\n systemMessage?: SystemMessage;\n}\n\n/**\n * Class representing an agent for the OpenAI chat model in LangChain. It\n * extends the Agent class and provides additional functionality specific\n * to the OpenAIAgent type.\n */\nexport class OpenAIAgent extends Agent {\n static lc_name() {\n return \"OpenAIAgent\";\n }\n\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n _agentType() {\n return \"openai-functions\" as const;\n }\n\n observationPrefix() {\n return \"Observation: \";\n }\n\n llmPrefix() {\n return \"Thought:\";\n }\n\n _stop(): string[] {\n return [\"Observation:\"];\n }\n\n tools: StructuredToolInterface[];\n\n outputParser: OpenAIFunctionsAgentOutputParser =\n new OpenAIFunctionsAgentOutputParser();\n\n constructor(input: Omit<OpenAIAgentInput, \"outputParser\">) {\n super({ ...input, outputParser: undefined });\n this.tools = input.tools;\n }\n\n /**\n * Creates a prompt for the OpenAIAgent using the provided tools and\n * fields.\n * @param _tools The tools to be used in the prompt.\n * @param fields Optional fields for creating the prompt.\n * @returns A BasePromptTemplate object representing the created prompt.\n */\n static createPrompt(\n _tools: StructuredToolInterface[],\n fields?: OpenAIAgentCreatePromptArgs\n ): BasePromptTemplate {\n const { prefix = PREFIX } = fields || {};\n return ChatPromptTemplate.fromMessages([\n SystemMessagePromptTemplate.fromTemplate(prefix),\n new MessagesPlaceholder(\"chat_history\"),\n HumanMessagePromptTemplate.fromTemplate(\"{input}\"),\n new MessagesPlaceholder(\"agent_scratchpad\"),\n ]);\n }\n\n /**\n * Creates an OpenAIAgent from a BaseLanguageModel and a list of tools.\n * @param llm The BaseLanguageModel to use.\n * @param tools The tools to be used by the agent.\n * @param args Optional arguments for creating the agent.\n * @returns An instance of OpenAIAgent.\n */\n static fromLLMAndTools(\n llm: BaseLanguageModelInterface,\n tools: StructuredToolInterface[],\n args?: OpenAIAgentCreatePromptArgs & Pick<AgentArgs, \"callbacks\">\n ) {\n OpenAIAgent.validateTools(tools);\n if (llm._modelType() !== \"base_chat_model\" || llm._llmType() !== \"openai\") {\n throw new Error(\"OpenAIAgent requires an OpenAI chat model\");\n }\n const prompt = OpenAIAgent.createPrompt(tools, args);\n const chain = new LLMChain({\n prompt,\n llm,\n callbacks: args?.callbacks,\n });\n return new OpenAIAgent({\n llmChain: chain,\n allowedTools: tools.map((t) => t.name),\n tools,\n });\n }\n\n /**\n * Constructs a scratch pad from a list of agent steps.\n * @param steps The steps to include in the scratch pad.\n * @returns A string or a list of BaseMessages representing the constructed scratch pad.\n */\n async constructScratchPad(\n steps: AgentStep[]\n ): Promise<string | BaseMessage[]> {\n return _formatIntermediateSteps(steps);\n }\n\n /**\n * Plans the next action or finish state of the agent based on the\n * provided steps, inputs, and optional callback manager.\n * @param steps The steps to consider in planning.\n * @param inputs The inputs to consider in planning.\n * @param callbackManager Optional CallbackManager to use in planning.\n * @returns A Promise that resolves to an AgentAction or AgentFinish object representing the planned action or finish state.\n */\n async plan(\n steps: Array<AgentStep>,\n inputs: ChainValues,\n callbackManager?: CallbackManager\n ): Promise<AgentAction | AgentFinish> {\n // Add scratchpad and stop to inputs\n const thoughts = await this.constructScratchPad(steps);\n const newInputs: ChainValues = {\n ...inputs,\n agent_scratchpad: thoughts,\n };\n if (this._stop().length !== 0) {\n newInputs.stop = this._stop();\n }\n\n // Split inputs between prompt and llm\n const llm = this.llmChain.llm as\n | ChatOpenAI\n | Runnable<\n BaseLanguageModelInput,\n BaseMessageChunk,\n ChatOpenAICallOptions\n >;\n\n const valuesForPrompt = { ...newInputs };\n const valuesForLLM: CallOptionsIfAvailable<typeof llm> = {\n functions: this.tools.map((tool) => convertToOpenAIFunction(tool)),\n };\n const callKeys =\n \"callKeys\" in this.llmChain.llm ? this.llmChain.llm.callKeys : [];\n for (const key of callKeys) {\n if (key in inputs) {\n valuesForLLM[key as keyof CallOptionsIfAvailable<typeof llm>] =\n inputs[key];\n delete valuesForPrompt[key];\n }\n }\n\n const promptValue =\n await this.llmChain.prompt.formatPromptValue(valuesForPrompt);\n\n const message = await (\n llm as Runnable<\n BaseLanguageModelInput,\n BaseMessageChunk,\n ChatOpenAICallOptions\n >\n ).invoke(promptValue.toChatMessages(), {\n ...valuesForLLM,\n callbacks: callbackManager,\n });\n return this.outputParser.parseAIMessage(message);\n }\n}\n\n/**\n * Params used by the createOpenAIFunctionsAgent function.\n */\nexport type CreateOpenAIFunctionsAgentParams = {\n /**\n * LLM to use as the agent. Should work with OpenAI function calling,\n * so must either be an OpenAI model that supports that or a wrapper of\n * a different model that adds in equivalent support.\n */\n llm: BaseChatModel<BaseFunctionCallOptions>;\n /** Tools this agent has access to. */\n tools: StructuredToolInterface[];\n /** The prompt to use, must have an input key for `agent_scratchpad`. */\n prompt: ChatPromptTemplate;\n /**\n * Whether to invoke the underlying model in streaming mode,\n * allowing streaming of intermediate steps. Defaults to true.\n */\n streamRunnable?: boolean;\n};\n\n/**\n * Create an agent that uses OpenAI-style function calling.\n * @param params Params required to create the agent. Includes an LLM, tools, and prompt.\n * @returns A runnable sequence representing an agent. It takes as input all the same input\n * variables as the prompt passed in does. It returns as output either an\n * AgentAction or AgentFinish.\n *\n * @example\n * ```typescript\n * import { AgentExecutor, createOpenAIFunctionsAgent } from \"langchain/agents\";\n * import { pull } from \"langchain/hub\";\n * import type { ChatPromptTemplate } from \"@langchain/core/prompts\";\n * import { AIMessage, HumanMessage } from \"@langchain/core/messages\";\n *\n * import { ChatOpenAI } from \"@langchain/openai\";\n *\n * // Define the tools the agent will have access to.\n * const tools = [...];\n *\n * // Get the prompt to use - you can modify this!\n * // If you want to see the prompt in full, you can at:\n * // https://smith.langchain.com/hub/hwchase17/openai-functions-agent\n * const prompt = await pull<ChatPromptTemplate>(\n * \"hwchase17/openai-functions-agent\"\n * );\n *\n * const llm = new ChatOpenAI({\n * model: \"gpt-4o-mini\",\n * temperature: 0,\n * });\n *\n * const agent = await createOpenAIFunctionsAgent({\n * llm,\n * tools,\n * prompt,\n * });\n *\n * const agentExecutor = new AgentExecutor({\n * agent,\n * tools,\n * });\n *\n * const result = await agentExecutor.invoke({\n * input: \"what is LangChain?\",\n * });\n *\n * // With chat history\n * const result2 = await agentExecutor.invoke({\n * input: \"what's my name?\",\n * chat_history: [\n * new HumanMessage(\"hi! my name is cob\"),\n * new AIMessage(\"Hello Cob! How can I assist you today?\"),\n * ],\n * });\n * ```\n */\nexport async function createOpenAIFunctionsAgent({\n llm,\n tools,\n prompt,\n streamRunnable,\n}: CreateOpenAIFunctionsAgentParams) {\n if (!prompt.inputVariables.includes(\"agent_scratchpad\")) {\n throw new Error(\n [\n `Prompt must have an input variable named \"agent_scratchpad\".`,\n `Found ${JSON.stringify(prompt.inputVariables)} instead.`,\n ].join(\"\\n\")\n );\n }\n const llmWithTools = llm.bindTools\n ? llm.bindTools(tools)\n : llm.withConfig({\n functions: tools.map((tool) => convertToOpenAIFunction(tool)),\n });\n const agent = AgentRunnableSequence.fromRunnables(\n [\n RunnablePassthrough.assign({\n agent_scratchpad: (input: { steps: AgentStep[] }) =>\n formatToOpenAIFunctionMessages(input.steps),\n }),\n prompt,\n llmWithTools,\n new OpenAIFunctionsAgentOutputParser(),\n ],\n {\n name: \"OpenAIFunctionsAgent\",\n streamRunnable,\n singleAction: true,\n }\n );\n return agent;\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AgentInput } from "../types.js";
|
|
2
2
|
import { Agent, AgentArgs, AgentRunnableSequence } from "../agent.js";
|
|
3
3
|
import { OpenAIFunctionsAgentOutputParser } from "./output_parser.js";
|
|
4
|
-
import "../openai/output_parser.js";
|
|
5
4
|
import { BaseMessage, SystemMessage } from "@langchain/core/messages";
|
|
6
5
|
import { BasePromptTemplate, ChatPromptTemplate } from "@langchain/core/prompts";
|
|
7
6
|
import { StructuredToolInterface } from "@langchain/core/tools";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/agents/openai_functions/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/agents/openai_functions/index.ts"],"mappings":";;;;;;;;;;;;;;;AA+EA;UAAiB,gBAAA,SAAyB,UAAA;EACxC,KAAA,EAAO,uBAAA;AAAA;;;;;UAOQ,2BAAA;EACf,MAAA;EACA,aAAA,GAAgB,aAAA;AAAA;;;;;;cAQL,WAAA,SAAoB,KAAA;EAAA,OACxB,OAAA,CAAA;EAIP,YAAA;EAEA,UAAA,CAAA;EAIA,iBAAA,CAAA;EAIA,SAAA,CAAA;EAIA,KAAA,CAAA;EAIA,KAAA,EAAO,uBAAA;EAEP,YAAA,EAAc,gCAAA;EAGd,WAAA,CAAY,KAAA,EAAO,IAAA,CAAK,gBAAA;EAerB;;;;;;;EAAA,OAHI,YAAA,CACL,MAAA,EAAQ,uBAAA,IACR,MAAA,GAAS,2BAAA,GACR,kBAAA;EA8CiB;;;;;;;EAAA,OA7Bb,eAAA,CACL,GAAA,EAAK,0BAAA,EACL,KAAA,EAAO,uBAAA,IACP,IAAA,GAAO,2BAAA,GAA8B,IAAA,CAAK,SAAA,iBAAuB,WAAA;EA0ChE;;;;;EAlBG,mBAAA,CACJ,KAAA,EAAO,SAAA,KACN,OAAA,UAAiB,WAAA;EApFpB;;;;;;;;EAgGM,IAAA,CACJ,KAAA,EAAO,KAAA,CAAM,SAAA,GACb,MAAA,EAAQ,WAAA,EACR,eAAA,GAAkB,eAAA,GACjB,OAAA,CAAQ,WAAA,GAAc,WAAA;AAAA;;;;KAsDf,gCAAA;EAtHA;;;;;EA4HV,GAAA,EAAK,aAAA,CAAc,uBAAA,GAxGZ;EA0GP,KAAA,EAAO,uBAAA,IAzGE;EA2GT,MAAA,EAAQ,kBAAA;EA1GC;;;;EA+GT,cAAA;AAAA;;;;;;;;;;;;;;;;;;AAfF;;;;;;;;;;;;;;;;;;;AA0EA;;;;;;;;;;;;;;;;;;;;iBAAsB,0BAAA,CAAA;EACpB,GAAA;EACA,KAAA;EACA,MAAA;EACA;AAAA,GACC,gCAAA,GAAgC,OAAA,CAAA,qBAAA"}
|
|
@@ -8,7 +8,6 @@ import { AIMessage, FunctionMessage } from "@langchain/core/messages";
|
|
|
8
8
|
import { ChatPromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder, SystemMessagePromptTemplate } from "@langchain/core/prompts";
|
|
9
9
|
import { RunnablePassthrough } from "@langchain/core/runnables";
|
|
10
10
|
import { convertToOpenAIFunction } from "@langchain/core/utils/function_calling";
|
|
11
|
-
|
|
12
11
|
//#region src/agents/openai_functions/index.ts
|
|
13
12
|
/**
|
|
14
13
|
* Checks if the given action is a FunctionsAgentAction.
|
|
@@ -205,7 +204,7 @@ async function createOpenAIFunctionsAgent({ llm, tools, prompt, streamRunnable }
|
|
|
205
204
|
singleAction: true
|
|
206
205
|
});
|
|
207
206
|
}
|
|
208
|
-
|
|
209
207
|
//#endregion
|
|
210
208
|
export { OpenAIAgent, _formatIntermediateSteps, createOpenAIFunctionsAgent };
|
|
209
|
+
|
|
211
210
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/agents/openai_functions/index.ts"],"sourcesContent":["import type {\n BaseLanguageModelInterface,\n BaseLanguageModelInput,\n BaseFunctionCallOptions,\n} from \"@langchain/core/language_models/base\";\nimport type { StructuredToolInterface } from \"@langchain/core/tools\";\nimport type { BaseChatModel } from \"@langchain/core/language_models/chat_models\";\nimport { Runnable, RunnablePassthrough } from \"@langchain/core/runnables\";\nimport { ChatOpenAI, ChatOpenAICallOptions } from \"@langchain/openai\";\nimport type {\n AgentAction,\n AgentFinish,\n AgentStep,\n} from \"@langchain/core/agents\";\nimport { convertToOpenAIFunction } from \"@langchain/core/utils/function_calling\";\nimport {\n AIMessage,\n BaseMessage,\n FunctionMessage,\n SystemMessage,\n BaseMessageChunk,\n} from \"@langchain/core/messages\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n MessagesPlaceholder,\n SystemMessagePromptTemplate,\n BasePromptTemplate,\n} from \"@langchain/core/prompts\";\nimport { CallbackManager } from \"@langchain/core/callbacks/manager\";\nimport { Agent, AgentArgs, AgentRunnableSequence } from \"../agent.js\";\nimport { AgentInput } from \"../types.js\";\nimport { PREFIX } from \"./prompt.js\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport {\n FunctionsAgentAction,\n OpenAIFunctionsAgentOutputParser,\n} from \"../openai/output_parser.js\";\nimport { formatToOpenAIFunctionMessages } from \"../format_scratchpad/openai_functions.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype CallOptionsIfAvailable<T> = T extends { CallOptions: infer CO } ? CO : any;\n\n/**\n * Checks if the given action is a FunctionsAgentAction.\n * @param action The action to check.\n * @returns True if the action is a FunctionsAgentAction, false otherwise.\n */\nfunction isFunctionsAgentAction(\n action: AgentAction | FunctionsAgentAction\n): action is FunctionsAgentAction {\n return (action as FunctionsAgentAction).messageLog !== undefined;\n}\n\nfunction _convertAgentStepToMessages(\n action: AgentAction | FunctionsAgentAction,\n observation: string\n) {\n if (isFunctionsAgentAction(action) && action.messageLog !== undefined) {\n return action.messageLog?.concat(\n new FunctionMessage(observation, action.tool)\n );\n } else {\n return [new AIMessage(action.log)];\n }\n}\n\nexport function _formatIntermediateSteps(\n intermediateSteps: AgentStep[]\n): BaseMessage[] {\n return intermediateSteps.flatMap(({ action, observation }) =>\n _convertAgentStepToMessages(action, observation)\n );\n}\n\n/**\n * Interface for the input data required to create an OpenAIAgent.\n */\nexport interface OpenAIAgentInput extends AgentInput {\n tools: StructuredToolInterface[];\n}\n\n/**\n * Interface for the arguments required to create a prompt for an\n * OpenAIAgent.\n */\nexport interface OpenAIAgentCreatePromptArgs {\n prefix?: string;\n systemMessage?: SystemMessage;\n}\n\n/**\n * Class representing an agent for the OpenAI chat model in LangChain. It\n * extends the Agent class and provides additional functionality specific\n * to the OpenAIAgent type.\n */\nexport class OpenAIAgent extends Agent {\n static lc_name() {\n return \"OpenAIAgent\";\n }\n\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n _agentType() {\n return \"openai-functions\" as const;\n }\n\n observationPrefix() {\n return \"Observation: \";\n }\n\n llmPrefix() {\n return \"Thought:\";\n }\n\n _stop(): string[] {\n return [\"Observation:\"];\n }\n\n tools: StructuredToolInterface[];\n\n outputParser: OpenAIFunctionsAgentOutputParser =\n new OpenAIFunctionsAgentOutputParser();\n\n constructor(input: Omit<OpenAIAgentInput, \"outputParser\">) {\n super({ ...input, outputParser: undefined });\n this.tools = input.tools;\n }\n\n /**\n * Creates a prompt for the OpenAIAgent using the provided tools and\n * fields.\n * @param _tools The tools to be used in the prompt.\n * @param fields Optional fields for creating the prompt.\n * @returns A BasePromptTemplate object representing the created prompt.\n */\n static createPrompt(\n _tools: StructuredToolInterface[],\n fields?: OpenAIAgentCreatePromptArgs\n ): BasePromptTemplate {\n const { prefix = PREFIX } = fields || {};\n return ChatPromptTemplate.fromMessages([\n SystemMessagePromptTemplate.fromTemplate(prefix),\n new MessagesPlaceholder(\"chat_history\"),\n HumanMessagePromptTemplate.fromTemplate(\"{input}\"),\n new MessagesPlaceholder(\"agent_scratchpad\"),\n ]);\n }\n\n /**\n * Creates an OpenAIAgent from a BaseLanguageModel and a list of tools.\n * @param llm The BaseLanguageModel to use.\n * @param tools The tools to be used by the agent.\n * @param args Optional arguments for creating the agent.\n * @returns An instance of OpenAIAgent.\n */\n static fromLLMAndTools(\n llm: BaseLanguageModelInterface,\n tools: StructuredToolInterface[],\n args?: OpenAIAgentCreatePromptArgs & Pick<AgentArgs, \"callbacks\">\n ) {\n OpenAIAgent.validateTools(tools);\n if (llm._modelType() !== \"base_chat_model\" || llm._llmType() !== \"openai\") {\n throw new Error(\"OpenAIAgent requires an OpenAI chat model\");\n }\n const prompt = OpenAIAgent.createPrompt(tools, args);\n const chain = new LLMChain({\n prompt,\n llm,\n callbacks: args?.callbacks,\n });\n return new OpenAIAgent({\n llmChain: chain,\n allowedTools: tools.map((t) => t.name),\n tools,\n });\n }\n\n /**\n * Constructs a scratch pad from a list of agent steps.\n * @param steps The steps to include in the scratch pad.\n * @returns A string or a list of BaseMessages representing the constructed scratch pad.\n */\n async constructScratchPad(\n steps: AgentStep[]\n ): Promise<string | BaseMessage[]> {\n return _formatIntermediateSteps(steps);\n }\n\n /**\n * Plans the next action or finish state of the agent based on the\n * provided steps, inputs, and optional callback manager.\n * @param steps The steps to consider in planning.\n * @param inputs The inputs to consider in planning.\n * @param callbackManager Optional CallbackManager to use in planning.\n * @returns A Promise that resolves to an AgentAction or AgentFinish object representing the planned action or finish state.\n */\n async plan(\n steps: Array<AgentStep>,\n inputs: ChainValues,\n callbackManager?: CallbackManager\n ): Promise<AgentAction | AgentFinish> {\n // Add scratchpad and stop to inputs\n const thoughts = await this.constructScratchPad(steps);\n const newInputs: ChainValues = {\n ...inputs,\n agent_scratchpad: thoughts,\n };\n if (this._stop().length !== 0) {\n newInputs.stop = this._stop();\n }\n\n // Split inputs between prompt and llm\n const llm = this.llmChain.llm as\n | ChatOpenAI\n | Runnable<\n BaseLanguageModelInput,\n BaseMessageChunk,\n ChatOpenAICallOptions\n >;\n\n const valuesForPrompt = { ...newInputs };\n const valuesForLLM: CallOptionsIfAvailable<typeof llm> = {\n functions: this.tools.map((tool) => convertToOpenAIFunction(tool)),\n };\n const callKeys =\n \"callKeys\" in this.llmChain.llm ? this.llmChain.llm.callKeys : [];\n for (const key of callKeys) {\n if (key in inputs) {\n valuesForLLM[key as keyof CallOptionsIfAvailable<typeof llm>] =\n inputs[key];\n delete valuesForPrompt[key];\n }\n }\n\n const promptValue =\n await this.llmChain.prompt.formatPromptValue(valuesForPrompt);\n\n const message = await (\n llm as Runnable<\n BaseLanguageModelInput,\n BaseMessageChunk,\n ChatOpenAICallOptions\n >\n ).invoke(promptValue.toChatMessages(), {\n ...valuesForLLM,\n callbacks: callbackManager,\n });\n return this.outputParser.parseAIMessage(message);\n }\n}\n\n/**\n * Params used by the createOpenAIFunctionsAgent function.\n */\nexport type CreateOpenAIFunctionsAgentParams = {\n /**\n * LLM to use as the agent. Should work with OpenAI function calling,\n * so must either be an OpenAI model that supports that or a wrapper of\n * a different model that adds in equivalent support.\n */\n llm: BaseChatModel<BaseFunctionCallOptions>;\n /** Tools this agent has access to. */\n tools: StructuredToolInterface[];\n /** The prompt to use, must have an input key for `agent_scratchpad`. */\n prompt: ChatPromptTemplate;\n /**\n * Whether to invoke the underlying model in streaming mode,\n * allowing streaming of intermediate steps. Defaults to true.\n */\n streamRunnable?: boolean;\n};\n\n/**\n * Create an agent that uses OpenAI-style function calling.\n * @param params Params required to create the agent. Includes an LLM, tools, and prompt.\n * @returns A runnable sequence representing an agent. It takes as input all the same input\n * variables as the prompt passed in does. It returns as output either an\n * AgentAction or AgentFinish.\n *\n * @example\n * ```typescript\n * import { AgentExecutor, createOpenAIFunctionsAgent } from \"langchain/agents\";\n * import { pull } from \"langchain/hub\";\n * import type { ChatPromptTemplate } from \"@langchain/core/prompts\";\n * import { AIMessage, HumanMessage } from \"@langchain/core/messages\";\n *\n * import { ChatOpenAI } from \"@langchain/openai\";\n *\n * // Define the tools the agent will have access to.\n * const tools = [...];\n *\n * // Get the prompt to use - you can modify this!\n * // If you want to see the prompt in full, you can at:\n * // https://smith.langchain.com/hub/hwchase17/openai-functions-agent\n * const prompt = await pull<ChatPromptTemplate>(\n * \"hwchase17/openai-functions-agent\"\n * );\n *\n * const llm = new ChatOpenAI({\n * model: \"gpt-4o-mini\",\n * temperature: 0,\n * });\n *\n * const agent = await createOpenAIFunctionsAgent({\n * llm,\n * tools,\n * prompt,\n * });\n *\n * const agentExecutor = new AgentExecutor({\n * agent,\n * tools,\n * });\n *\n * const result = await agentExecutor.invoke({\n * input: \"what is LangChain?\",\n * });\n *\n * // With chat history\n * const result2 = await agentExecutor.invoke({\n * input: \"what's my name?\",\n * chat_history: [\n * new HumanMessage(\"hi! my name is cob\"),\n * new AIMessage(\"Hello Cob! How can I assist you today?\"),\n * ],\n * });\n * ```\n */\nexport async function createOpenAIFunctionsAgent({\n llm,\n tools,\n prompt,\n streamRunnable,\n}: CreateOpenAIFunctionsAgentParams) {\n if (!prompt.inputVariables.includes(\"agent_scratchpad\")) {\n throw new Error(\n [\n `Prompt must have an input variable named \"agent_scratchpad\".`,\n `Found ${JSON.stringify(prompt.inputVariables)} instead.`,\n ].join(\"\\n\")\n );\n }\n const llmWithTools = llm.bindTools\n ? llm.bindTools(tools)\n : llm.withConfig({\n functions: tools.map((tool) => convertToOpenAIFunction(tool)),\n });\n const agent = AgentRunnableSequence.fromRunnables(\n [\n RunnablePassthrough.assign({\n agent_scratchpad: (input: { steps: AgentStep[] }) =>\n formatToOpenAIFunctionMessages(input.steps),\n }),\n prompt,\n llmWithTools,\n new OpenAIFunctionsAgentOutputParser(),\n ],\n {\n name: \"OpenAIFunctionsAgent\",\n streamRunnable,\n singleAction: true,\n }\n );\n return agent;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/agents/openai_functions/index.ts"],"sourcesContent":["import type {\n BaseLanguageModelInterface,\n BaseLanguageModelInput,\n BaseFunctionCallOptions,\n} from \"@langchain/core/language_models/base\";\nimport type { StructuredToolInterface } from \"@langchain/core/tools\";\nimport type { BaseChatModel } from \"@langchain/core/language_models/chat_models\";\nimport { Runnable, RunnablePassthrough } from \"@langchain/core/runnables\";\nimport { ChatOpenAI, ChatOpenAICallOptions } from \"@langchain/openai\";\nimport type {\n AgentAction,\n AgentFinish,\n AgentStep,\n} from \"@langchain/core/agents\";\nimport { convertToOpenAIFunction } from \"@langchain/core/utils/function_calling\";\nimport {\n AIMessage,\n BaseMessage,\n FunctionMessage,\n SystemMessage,\n BaseMessageChunk,\n} from \"@langchain/core/messages\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n MessagesPlaceholder,\n SystemMessagePromptTemplate,\n BasePromptTemplate,\n} from \"@langchain/core/prompts\";\nimport { CallbackManager } from \"@langchain/core/callbacks/manager\";\nimport { Agent, AgentArgs, AgentRunnableSequence } from \"../agent.js\";\nimport { AgentInput } from \"../types.js\";\nimport { PREFIX } from \"./prompt.js\";\nimport { LLMChain } from \"../../chains/llm_chain.js\";\nimport {\n FunctionsAgentAction,\n OpenAIFunctionsAgentOutputParser,\n} from \"../openai/output_parser.js\";\nimport { formatToOpenAIFunctionMessages } from \"../format_scratchpad/openai_functions.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype CallOptionsIfAvailable<T> = T extends { CallOptions: infer CO } ? CO : any;\n\n/**\n * Checks if the given action is a FunctionsAgentAction.\n * @param action The action to check.\n * @returns True if the action is a FunctionsAgentAction, false otherwise.\n */\nfunction isFunctionsAgentAction(\n action: AgentAction | FunctionsAgentAction\n): action is FunctionsAgentAction {\n return (action as FunctionsAgentAction).messageLog !== undefined;\n}\n\nfunction _convertAgentStepToMessages(\n action: AgentAction | FunctionsAgentAction,\n observation: string\n) {\n if (isFunctionsAgentAction(action) && action.messageLog !== undefined) {\n return action.messageLog?.concat(\n new FunctionMessage(observation, action.tool)\n );\n } else {\n return [new AIMessage(action.log)];\n }\n}\n\nexport function _formatIntermediateSteps(\n intermediateSteps: AgentStep[]\n): BaseMessage[] {\n return intermediateSteps.flatMap(({ action, observation }) =>\n _convertAgentStepToMessages(action, observation)\n );\n}\n\n/**\n * Interface for the input data required to create an OpenAIAgent.\n */\nexport interface OpenAIAgentInput extends AgentInput {\n tools: StructuredToolInterface[];\n}\n\n/**\n * Interface for the arguments required to create a prompt for an\n * OpenAIAgent.\n */\nexport interface OpenAIAgentCreatePromptArgs {\n prefix?: string;\n systemMessage?: SystemMessage;\n}\n\n/**\n * Class representing an agent for the OpenAI chat model in LangChain. It\n * extends the Agent class and provides additional functionality specific\n * to the OpenAIAgent type.\n */\nexport class OpenAIAgent extends Agent {\n static lc_name() {\n return \"OpenAIAgent\";\n }\n\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n _agentType() {\n return \"openai-functions\" as const;\n }\n\n observationPrefix() {\n return \"Observation: \";\n }\n\n llmPrefix() {\n return \"Thought:\";\n }\n\n _stop(): string[] {\n return [\"Observation:\"];\n }\n\n tools: StructuredToolInterface[];\n\n outputParser: OpenAIFunctionsAgentOutputParser =\n new OpenAIFunctionsAgentOutputParser();\n\n constructor(input: Omit<OpenAIAgentInput, \"outputParser\">) {\n super({ ...input, outputParser: undefined });\n this.tools = input.tools;\n }\n\n /**\n * Creates a prompt for the OpenAIAgent using the provided tools and\n * fields.\n * @param _tools The tools to be used in the prompt.\n * @param fields Optional fields for creating the prompt.\n * @returns A BasePromptTemplate object representing the created prompt.\n */\n static createPrompt(\n _tools: StructuredToolInterface[],\n fields?: OpenAIAgentCreatePromptArgs\n ): BasePromptTemplate {\n const { prefix = PREFIX } = fields || {};\n return ChatPromptTemplate.fromMessages([\n SystemMessagePromptTemplate.fromTemplate(prefix),\n new MessagesPlaceholder(\"chat_history\"),\n HumanMessagePromptTemplate.fromTemplate(\"{input}\"),\n new MessagesPlaceholder(\"agent_scratchpad\"),\n ]);\n }\n\n /**\n * Creates an OpenAIAgent from a BaseLanguageModel and a list of tools.\n * @param llm The BaseLanguageModel to use.\n * @param tools The tools to be used by the agent.\n * @param args Optional arguments for creating the agent.\n * @returns An instance of OpenAIAgent.\n */\n static fromLLMAndTools(\n llm: BaseLanguageModelInterface,\n tools: StructuredToolInterface[],\n args?: OpenAIAgentCreatePromptArgs & Pick<AgentArgs, \"callbacks\">\n ) {\n OpenAIAgent.validateTools(tools);\n if (llm._modelType() !== \"base_chat_model\" || llm._llmType() !== \"openai\") {\n throw new Error(\"OpenAIAgent requires an OpenAI chat model\");\n }\n const prompt = OpenAIAgent.createPrompt(tools, args);\n const chain = new LLMChain({\n prompt,\n llm,\n callbacks: args?.callbacks,\n });\n return new OpenAIAgent({\n llmChain: chain,\n allowedTools: tools.map((t) => t.name),\n tools,\n });\n }\n\n /**\n * Constructs a scratch pad from a list of agent steps.\n * @param steps The steps to include in the scratch pad.\n * @returns A string or a list of BaseMessages representing the constructed scratch pad.\n */\n async constructScratchPad(\n steps: AgentStep[]\n ): Promise<string | BaseMessage[]> {\n return _formatIntermediateSteps(steps);\n }\n\n /**\n * Plans the next action or finish state of the agent based on the\n * provided steps, inputs, and optional callback manager.\n * @param steps The steps to consider in planning.\n * @param inputs The inputs to consider in planning.\n * @param callbackManager Optional CallbackManager to use in planning.\n * @returns A Promise that resolves to an AgentAction or AgentFinish object representing the planned action or finish state.\n */\n async plan(\n steps: Array<AgentStep>,\n inputs: ChainValues,\n callbackManager?: CallbackManager\n ): Promise<AgentAction | AgentFinish> {\n // Add scratchpad and stop to inputs\n const thoughts = await this.constructScratchPad(steps);\n const newInputs: ChainValues = {\n ...inputs,\n agent_scratchpad: thoughts,\n };\n if (this._stop().length !== 0) {\n newInputs.stop = this._stop();\n }\n\n // Split inputs between prompt and llm\n const llm = this.llmChain.llm as\n | ChatOpenAI\n | Runnable<\n BaseLanguageModelInput,\n BaseMessageChunk,\n ChatOpenAICallOptions\n >;\n\n const valuesForPrompt = { ...newInputs };\n const valuesForLLM: CallOptionsIfAvailable<typeof llm> = {\n functions: this.tools.map((tool) => convertToOpenAIFunction(tool)),\n };\n const callKeys =\n \"callKeys\" in this.llmChain.llm ? this.llmChain.llm.callKeys : [];\n for (const key of callKeys) {\n if (key in inputs) {\n valuesForLLM[key as keyof CallOptionsIfAvailable<typeof llm>] =\n inputs[key];\n delete valuesForPrompt[key];\n }\n }\n\n const promptValue =\n await this.llmChain.prompt.formatPromptValue(valuesForPrompt);\n\n const message = await (\n llm as Runnable<\n BaseLanguageModelInput,\n BaseMessageChunk,\n ChatOpenAICallOptions\n >\n ).invoke(promptValue.toChatMessages(), {\n ...valuesForLLM,\n callbacks: callbackManager,\n });\n return this.outputParser.parseAIMessage(message);\n }\n}\n\n/**\n * Params used by the createOpenAIFunctionsAgent function.\n */\nexport type CreateOpenAIFunctionsAgentParams = {\n /**\n * LLM to use as the agent. Should work with OpenAI function calling,\n * so must either be an OpenAI model that supports that or a wrapper of\n * a different model that adds in equivalent support.\n */\n llm: BaseChatModel<BaseFunctionCallOptions>;\n /** Tools this agent has access to. */\n tools: StructuredToolInterface[];\n /** The prompt to use, must have an input key for `agent_scratchpad`. */\n prompt: ChatPromptTemplate;\n /**\n * Whether to invoke the underlying model in streaming mode,\n * allowing streaming of intermediate steps. Defaults to true.\n */\n streamRunnable?: boolean;\n};\n\n/**\n * Create an agent that uses OpenAI-style function calling.\n * @param params Params required to create the agent. Includes an LLM, tools, and prompt.\n * @returns A runnable sequence representing an agent. It takes as input all the same input\n * variables as the prompt passed in does. It returns as output either an\n * AgentAction or AgentFinish.\n *\n * @example\n * ```typescript\n * import { AgentExecutor, createOpenAIFunctionsAgent } from \"langchain/agents\";\n * import { pull } from \"langchain/hub\";\n * import type { ChatPromptTemplate } from \"@langchain/core/prompts\";\n * import { AIMessage, HumanMessage } from \"@langchain/core/messages\";\n *\n * import { ChatOpenAI } from \"@langchain/openai\";\n *\n * // Define the tools the agent will have access to.\n * const tools = [...];\n *\n * // Get the prompt to use - you can modify this!\n * // If you want to see the prompt in full, you can at:\n * // https://smith.langchain.com/hub/hwchase17/openai-functions-agent\n * const prompt = await pull<ChatPromptTemplate>(\n * \"hwchase17/openai-functions-agent\"\n * );\n *\n * const llm = new ChatOpenAI({\n * model: \"gpt-4o-mini\",\n * temperature: 0,\n * });\n *\n * const agent = await createOpenAIFunctionsAgent({\n * llm,\n * tools,\n * prompt,\n * });\n *\n * const agentExecutor = new AgentExecutor({\n * agent,\n * tools,\n * });\n *\n * const result = await agentExecutor.invoke({\n * input: \"what is LangChain?\",\n * });\n *\n * // With chat history\n * const result2 = await agentExecutor.invoke({\n * input: \"what's my name?\",\n * chat_history: [\n * new HumanMessage(\"hi! my name is cob\"),\n * new AIMessage(\"Hello Cob! How can I assist you today?\"),\n * ],\n * });\n * ```\n */\nexport async function createOpenAIFunctionsAgent({\n llm,\n tools,\n prompt,\n streamRunnable,\n}: CreateOpenAIFunctionsAgentParams) {\n if (!prompt.inputVariables.includes(\"agent_scratchpad\")) {\n throw new Error(\n [\n `Prompt must have an input variable named \"agent_scratchpad\".`,\n `Found ${JSON.stringify(prompt.inputVariables)} instead.`,\n ].join(\"\\n\")\n );\n }\n const llmWithTools = llm.bindTools\n ? llm.bindTools(tools)\n : llm.withConfig({\n functions: tools.map((tool) => convertToOpenAIFunction(tool)),\n });\n const agent = AgentRunnableSequence.fromRunnables(\n [\n RunnablePassthrough.assign({\n agent_scratchpad: (input: { steps: AgentStep[] }) =>\n formatToOpenAIFunctionMessages(input.steps),\n }),\n prompt,\n llmWithTools,\n new OpenAIFunctionsAgentOutputParser(),\n ],\n {\n name: \"OpenAIFunctionsAgent\",\n streamRunnable,\n singleAction: true,\n }\n );\n return agent;\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
const require_types = require(
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_types = require("../types.cjs");
|
|
3
3
|
let _langchain_core_messages = require("@langchain/core/messages");
|
|
4
4
|
let _langchain_core_output_parsers = require("@langchain/core/output_parsers");
|
|
5
|
-
|
|
6
5
|
//#region src/agents/openai_functions/output_parser.ts
|
|
7
6
|
/**
|
|
8
7
|
* @example
|
|
@@ -82,7 +81,7 @@ var OpenAIFunctionsAgentOutputParser = class extends require_types.AgentActionOu
|
|
|
82
81
|
throw new Error("getFormatInstructions not implemented inside OpenAIFunctionsAgentOutputParser.");
|
|
83
82
|
}
|
|
84
83
|
};
|
|
85
|
-
|
|
86
84
|
//#endregion
|
|
87
85
|
exports.OpenAIFunctionsAgentOutputParser = OpenAIFunctionsAgentOutputParser;
|
|
86
|
+
|
|
88
87
|
//# sourceMappingURL=output_parser.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output_parser.cjs","names":["AgentActionOutputParser","OutputParserException"],"sources":["../../../src/agents/openai_functions/output_parser.ts"],"sourcesContent":["import type { OpenAIClient } from \"@langchain/openai\";\nimport { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseMessage, isBaseMessage } from \"@langchain/core/messages\";\nimport { ChatGeneration } from \"@langchain/core/outputs\";\nimport { OutputParserException } from \"@langchain/core/output_parsers\";\nimport { AgentActionOutputParser } from \"../types.js\";\n\n/**\n * Type that represents an agent action with an optional message log.\n */\nexport type FunctionsAgentAction = AgentAction & {\n messageLog?: BaseMessage[];\n};\n\n/**\n * @example\n * ```typescript\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant\"],\n * [\"human\", \"{input}\"],\n * new MessagesPlaceholder(\"agent_scratchpad\"),\n * ]);\n *\n * const modelWithFunctions = new ChatOpenAI({\n * model: \"gpt-4\",\n * temperature: 0,\n * }).bindTools(tools);\n *\n * const runnableAgent = RunnableSequence.from([\n * {\n * input: (i) => i.input,\n * agent_scratchpad: (i) => formatAgentSteps(i.steps),\n * },\n * prompt,\n * modelWithFunctions,\n * new OpenAIFunctionsAgentOutputParser(),\n * ]);\n *\n * const result = await runnableAgent.invoke({\n * input: \"What is the weather in New York?\",\n * steps: agentSteps,\n * });\n *\n * ```\n */\nexport class OpenAIFunctionsAgentOutputParser extends AgentActionOutputParser {\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n static lc_name() {\n return \"OpenAIFunctionsAgentOutputParser\";\n }\n\n async parse(text: string): Promise<AgentAction | AgentFinish> {\n throw new Error(\n `OpenAIFunctionsAgentOutputParser can only parse messages.\\nPassed input: ${text}`\n );\n }\n\n async parseResult(generations: ChatGeneration[]) {\n if (\"message\" in generations[0] && isBaseMessage(generations[0].message)) {\n return this.parseAIMessage(generations[0].message);\n }\n throw new Error(\n \"parseResult on OpenAIFunctionsAgentOutputParser only works on ChatGeneration output\"\n );\n }\n\n /**\n * Parses the output message into a FunctionsAgentAction or AgentFinish\n * object.\n * @param message The BaseMessage to parse.\n * @returns A FunctionsAgentAction or AgentFinish object.\n */\n parseAIMessage(message: BaseMessage): FunctionsAgentAction | AgentFinish {\n if (message.content && typeof message.content !== \"string\") {\n throw new Error(\"This agent cannot parse non-string model responses.\");\n }\n if (message.additional_kwargs.function_call) {\n const function_call: OpenAIClient.Chat.ChatCompletionMessage.FunctionCall =\n message.additional_kwargs.function_call;\n try {\n const toolInput = function_call.arguments\n ? JSON.parse(function_call.arguments)\n : {};\n return {\n tool: function_call.name as string,\n toolInput,\n log: `Invoking \"${function_call.name}\" with ${\n function_call.arguments ?? \"{}\"\n }\\n${message.content}`,\n messageLog: [message],\n };\n } catch (error) {\n throw new OutputParserException(\n `Failed to parse function arguments from chat model response. Text: \"${function_call.arguments}\". ${error}`\n );\n }\n } else {\n return {\n returnValues: { output: message.content },\n log: message.content,\n };\n }\n }\n\n getFormatInstructions(): string {\n throw new Error(\n \"getFormatInstructions not implemented inside OpenAIFunctionsAgentOutputParser.\"\n );\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"output_parser.cjs","names":["AgentActionOutputParser","OutputParserException"],"sources":["../../../src/agents/openai_functions/output_parser.ts"],"sourcesContent":["import type { OpenAIClient } from \"@langchain/openai\";\nimport { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseMessage, isBaseMessage } from \"@langchain/core/messages\";\nimport { ChatGeneration } from \"@langchain/core/outputs\";\nimport { OutputParserException } from \"@langchain/core/output_parsers\";\nimport { AgentActionOutputParser } from \"../types.js\";\n\n/**\n * Type that represents an agent action with an optional message log.\n */\nexport type FunctionsAgentAction = AgentAction & {\n messageLog?: BaseMessage[];\n};\n\n/**\n * @example\n * ```typescript\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant\"],\n * [\"human\", \"{input}\"],\n * new MessagesPlaceholder(\"agent_scratchpad\"),\n * ]);\n *\n * const modelWithFunctions = new ChatOpenAI({\n * model: \"gpt-4\",\n * temperature: 0,\n * }).bindTools(tools);\n *\n * const runnableAgent = RunnableSequence.from([\n * {\n * input: (i) => i.input,\n * agent_scratchpad: (i) => formatAgentSteps(i.steps),\n * },\n * prompt,\n * modelWithFunctions,\n * new OpenAIFunctionsAgentOutputParser(),\n * ]);\n *\n * const result = await runnableAgent.invoke({\n * input: \"What is the weather in New York?\",\n * steps: agentSteps,\n * });\n *\n * ```\n */\nexport class OpenAIFunctionsAgentOutputParser extends AgentActionOutputParser {\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n static lc_name() {\n return \"OpenAIFunctionsAgentOutputParser\";\n }\n\n async parse(text: string): Promise<AgentAction | AgentFinish> {\n throw new Error(\n `OpenAIFunctionsAgentOutputParser can only parse messages.\\nPassed input: ${text}`\n );\n }\n\n async parseResult(generations: ChatGeneration[]) {\n if (\"message\" in generations[0] && isBaseMessage(generations[0].message)) {\n return this.parseAIMessage(generations[0].message);\n }\n throw new Error(\n \"parseResult on OpenAIFunctionsAgentOutputParser only works on ChatGeneration output\"\n );\n }\n\n /**\n * Parses the output message into a FunctionsAgentAction or AgentFinish\n * object.\n * @param message The BaseMessage to parse.\n * @returns A FunctionsAgentAction or AgentFinish object.\n */\n parseAIMessage(message: BaseMessage): FunctionsAgentAction | AgentFinish {\n if (message.content && typeof message.content !== \"string\") {\n throw new Error(\"This agent cannot parse non-string model responses.\");\n }\n if (message.additional_kwargs.function_call) {\n const function_call: OpenAIClient.Chat.ChatCompletionMessage.FunctionCall =\n message.additional_kwargs.function_call;\n try {\n const toolInput = function_call.arguments\n ? JSON.parse(function_call.arguments)\n : {};\n return {\n tool: function_call.name as string,\n toolInput,\n log: `Invoking \"${function_call.name}\" with ${\n function_call.arguments ?? \"{}\"\n }\\n${message.content}`,\n messageLog: [message],\n };\n } catch (error) {\n throw new OutputParserException(\n `Failed to parse function arguments from chat model response. Text: \"${function_call.arguments}\". ${error}`\n );\n }\n } else {\n return {\n returnValues: { output: message.content },\n log: message.content,\n };\n }\n }\n\n getFormatInstructions(): string {\n throw new Error(\n \"getFormatInstructions not implemented inside OpenAIFunctionsAgentOutputParser.\"\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,IAAa,mCAAb,cAAsDA,cAAAA,wBAAwB;CAC5E,eAAe;EAAC;EAAa;EAAU;EAAS;CAEhD,OAAO,UAAU;AACf,SAAO;;CAGT,MAAM,MAAM,MAAkD;AAC5D,QAAM,IAAI,MACR,4EAA4E,OAC7E;;CAGH,MAAM,YAAY,aAA+B;AAC/C,MAAI,aAAa,YAAY,OAAA,GAAA,yBAAA,eAAoB,YAAY,GAAG,QAAQ,CACtE,QAAO,KAAK,eAAe,YAAY,GAAG,QAAQ;AAEpD,QAAM,IAAI,MACR,sFACD;;;;;;;;CASH,eAAe,SAA0D;AACvE,MAAI,QAAQ,WAAW,OAAO,QAAQ,YAAY,SAChD,OAAM,IAAI,MAAM,sDAAsD;AAExE,MAAI,QAAQ,kBAAkB,eAAe;GAC3C,MAAM,gBACJ,QAAQ,kBAAkB;AAC5B,OAAI;IACF,MAAM,YAAY,cAAc,YAC5B,KAAK,MAAM,cAAc,UAAU,GACnC,EAAE;AACN,WAAO;KACL,MAAM,cAAc;KACpB;KACA,KAAK,aAAa,cAAc,KAAK,SACnC,cAAc,aAAa,KAC5B,IAAI,QAAQ;KACb,YAAY,CAAC,QAAQ;KACtB;YACM,OAAO;AACd,UAAM,IAAIC,+BAAAA,sBACR,uEAAuE,cAAc,UAAU,KAAK,QACrG;;QAGH,QAAO;GACL,cAAc,EAAE,QAAQ,QAAQ,SAAS;GACzC,KAAK,QAAQ;GACd;;CAIL,wBAAgC;AAC9B,QAAM,IAAI,MACR,iFACD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AgentActionOutputParser } from "../types.js";
|
|
2
2
|
import { isBaseMessage } from "@langchain/core/messages";
|
|
3
3
|
import { OutputParserException } from "@langchain/core/output_parsers";
|
|
4
|
-
|
|
5
4
|
//#region src/agents/openai_functions/output_parser.ts
|
|
6
5
|
/**
|
|
7
6
|
* @example
|
|
@@ -81,7 +80,7 @@ var OpenAIFunctionsAgentOutputParser = class extends AgentActionOutputParser {
|
|
|
81
80
|
throw new Error("getFormatInstructions not implemented inside OpenAIFunctionsAgentOutputParser.");
|
|
82
81
|
}
|
|
83
82
|
};
|
|
84
|
-
|
|
85
83
|
//#endregion
|
|
86
84
|
export { OpenAIFunctionsAgentOutputParser };
|
|
85
|
+
|
|
87
86
|
//# sourceMappingURL=output_parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output_parser.js","names":[],"sources":["../../../src/agents/openai_functions/output_parser.ts"],"sourcesContent":["import type { OpenAIClient } from \"@langchain/openai\";\nimport { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseMessage, isBaseMessage } from \"@langchain/core/messages\";\nimport { ChatGeneration } from \"@langchain/core/outputs\";\nimport { OutputParserException } from \"@langchain/core/output_parsers\";\nimport { AgentActionOutputParser } from \"../types.js\";\n\n/**\n * Type that represents an agent action with an optional message log.\n */\nexport type FunctionsAgentAction = AgentAction & {\n messageLog?: BaseMessage[];\n};\n\n/**\n * @example\n * ```typescript\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant\"],\n * [\"human\", \"{input}\"],\n * new MessagesPlaceholder(\"agent_scratchpad\"),\n * ]);\n *\n * const modelWithFunctions = new ChatOpenAI({\n * model: \"gpt-4\",\n * temperature: 0,\n * }).bindTools(tools);\n *\n * const runnableAgent = RunnableSequence.from([\n * {\n * input: (i) => i.input,\n * agent_scratchpad: (i) => formatAgentSteps(i.steps),\n * },\n * prompt,\n * modelWithFunctions,\n * new OpenAIFunctionsAgentOutputParser(),\n * ]);\n *\n * const result = await runnableAgent.invoke({\n * input: \"What is the weather in New York?\",\n * steps: agentSteps,\n * });\n *\n * ```\n */\nexport class OpenAIFunctionsAgentOutputParser extends AgentActionOutputParser {\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n static lc_name() {\n return \"OpenAIFunctionsAgentOutputParser\";\n }\n\n async parse(text: string): Promise<AgentAction | AgentFinish> {\n throw new Error(\n `OpenAIFunctionsAgentOutputParser can only parse messages.\\nPassed input: ${text}`\n );\n }\n\n async parseResult(generations: ChatGeneration[]) {\n if (\"message\" in generations[0] && isBaseMessage(generations[0].message)) {\n return this.parseAIMessage(generations[0].message);\n }\n throw new Error(\n \"parseResult on OpenAIFunctionsAgentOutputParser only works on ChatGeneration output\"\n );\n }\n\n /**\n * Parses the output message into a FunctionsAgentAction or AgentFinish\n * object.\n * @param message The BaseMessage to parse.\n * @returns A FunctionsAgentAction or AgentFinish object.\n */\n parseAIMessage(message: BaseMessage): FunctionsAgentAction | AgentFinish {\n if (message.content && typeof message.content !== \"string\") {\n throw new Error(\"This agent cannot parse non-string model responses.\");\n }\n if (message.additional_kwargs.function_call) {\n const function_call: OpenAIClient.Chat.ChatCompletionMessage.FunctionCall =\n message.additional_kwargs.function_call;\n try {\n const toolInput = function_call.arguments\n ? JSON.parse(function_call.arguments)\n : {};\n return {\n tool: function_call.name as string,\n toolInput,\n log: `Invoking \"${function_call.name}\" with ${\n function_call.arguments ?? \"{}\"\n }\\n${message.content}`,\n messageLog: [message],\n };\n } catch (error) {\n throw new OutputParserException(\n `Failed to parse function arguments from chat model response. Text: \"${function_call.arguments}\". ${error}`\n );\n }\n } else {\n return {\n returnValues: { output: message.content },\n log: message.content,\n };\n }\n }\n\n getFormatInstructions(): string {\n throw new Error(\n \"getFormatInstructions not implemented inside OpenAIFunctionsAgentOutputParser.\"\n );\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"output_parser.js","names":[],"sources":["../../../src/agents/openai_functions/output_parser.ts"],"sourcesContent":["import type { OpenAIClient } from \"@langchain/openai\";\nimport { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseMessage, isBaseMessage } from \"@langchain/core/messages\";\nimport { ChatGeneration } from \"@langchain/core/outputs\";\nimport { OutputParserException } from \"@langchain/core/output_parsers\";\nimport { AgentActionOutputParser } from \"../types.js\";\n\n/**\n * Type that represents an agent action with an optional message log.\n */\nexport type FunctionsAgentAction = AgentAction & {\n messageLog?: BaseMessage[];\n};\n\n/**\n * @example\n * ```typescript\n *\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant\"],\n * [\"human\", \"{input}\"],\n * new MessagesPlaceholder(\"agent_scratchpad\"),\n * ]);\n *\n * const modelWithFunctions = new ChatOpenAI({\n * model: \"gpt-4\",\n * temperature: 0,\n * }).bindTools(tools);\n *\n * const runnableAgent = RunnableSequence.from([\n * {\n * input: (i) => i.input,\n * agent_scratchpad: (i) => formatAgentSteps(i.steps),\n * },\n * prompt,\n * modelWithFunctions,\n * new OpenAIFunctionsAgentOutputParser(),\n * ]);\n *\n * const result = await runnableAgent.invoke({\n * input: \"What is the weather in New York?\",\n * steps: agentSteps,\n * });\n *\n * ```\n */\nexport class OpenAIFunctionsAgentOutputParser extends AgentActionOutputParser {\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n static lc_name() {\n return \"OpenAIFunctionsAgentOutputParser\";\n }\n\n async parse(text: string): Promise<AgentAction | AgentFinish> {\n throw new Error(\n `OpenAIFunctionsAgentOutputParser can only parse messages.\\nPassed input: ${text}`\n );\n }\n\n async parseResult(generations: ChatGeneration[]) {\n if (\"message\" in generations[0] && isBaseMessage(generations[0].message)) {\n return this.parseAIMessage(generations[0].message);\n }\n throw new Error(\n \"parseResult on OpenAIFunctionsAgentOutputParser only works on ChatGeneration output\"\n );\n }\n\n /**\n * Parses the output message into a FunctionsAgentAction or AgentFinish\n * object.\n * @param message The BaseMessage to parse.\n * @returns A FunctionsAgentAction or AgentFinish object.\n */\n parseAIMessage(message: BaseMessage): FunctionsAgentAction | AgentFinish {\n if (message.content && typeof message.content !== \"string\") {\n throw new Error(\"This agent cannot parse non-string model responses.\");\n }\n if (message.additional_kwargs.function_call) {\n const function_call: OpenAIClient.Chat.ChatCompletionMessage.FunctionCall =\n message.additional_kwargs.function_call;\n try {\n const toolInput = function_call.arguments\n ? JSON.parse(function_call.arguments)\n : {};\n return {\n tool: function_call.name as string,\n toolInput,\n log: `Invoking \"${function_call.name}\" with ${\n function_call.arguments ?? \"{}\"\n }\\n${message.content}`,\n messageLog: [message],\n };\n } catch (error) {\n throw new OutputParserException(\n `Failed to parse function arguments from chat model response. Text: \"${function_call.arguments}\". ${error}`\n );\n }\n } else {\n return {\n returnValues: { output: message.content },\n log: message.content,\n };\n }\n }\n\n getFormatInstructions(): string {\n throw new Error(\n \"getFormatInstructions not implemented inside OpenAIFunctionsAgentOutputParser.\"\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,IAAa,mCAAb,cAAsD,wBAAwB;CAC5E,eAAe;EAAC;EAAa;EAAU;EAAS;CAEhD,OAAO,UAAU;AACf,SAAO;;CAGT,MAAM,MAAM,MAAkD;AAC5D,QAAM,IAAI,MACR,4EAA4E,OAC7E;;CAGH,MAAM,YAAY,aAA+B;AAC/C,MAAI,aAAa,YAAY,MAAM,cAAc,YAAY,GAAG,QAAQ,CACtE,QAAO,KAAK,eAAe,YAAY,GAAG,QAAQ;AAEpD,QAAM,IAAI,MACR,sFACD;;;;;;;;CASH,eAAe,SAA0D;AACvE,MAAI,QAAQ,WAAW,OAAO,QAAQ,YAAY,SAChD,OAAM,IAAI,MAAM,sDAAsD;AAExE,MAAI,QAAQ,kBAAkB,eAAe;GAC3C,MAAM,gBACJ,QAAQ,kBAAkB;AAC5B,OAAI;IACF,MAAM,YAAY,cAAc,YAC5B,KAAK,MAAM,cAAc,UAAU,GACnC,EAAE;AACN,WAAO;KACL,MAAM,cAAc;KACpB;KACA,KAAK,aAAa,cAAc,KAAK,SACnC,cAAc,aAAa,KAC5B,IAAI,QAAQ;KACb,YAAY,CAAC,QAAQ;KACtB;YACM,OAAO;AACd,UAAM,IAAI,sBACR,uEAAuE,cAAc,UAAU,KAAK,QACrG;;QAGH,QAAO;GACL,cAAc,EAAE,QAAQ,QAAQ,SAAS;GACzC,KAAK,QAAQ;GACd;;CAIL,wBAAgC;AAC9B,QAAM,IAAI,MACR,iFACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.cjs","names":[],"sources":["../../../src/agents/openai_functions/prompt.ts"],"sourcesContent":["export const PREFIX = `You are a helpful AI assistant.`;\nexport const SUFFIX = ``;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt.cjs","names":[],"sources":["../../../src/agents/openai_functions/prompt.ts"],"sourcesContent":["export const PREFIX = `You are a helpful AI assistant.`;\nexport const SUFFIX = ``;\n"],"mappings":";AAAA,MAAa,SAAS"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
const require_tool_calling = require(
|
|
3
|
-
require(
|
|
4
|
-
const require_agent = require(
|
|
5
|
-
const require_output_parser = require(
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_tool_calling = require("../format_scratchpad/tool_calling.cjs");
|
|
3
|
+
require("../format_scratchpad/openai_tools.cjs");
|
|
4
|
+
const require_agent = require("../agent.cjs");
|
|
5
|
+
const require_output_parser = require("./output_parser.cjs");
|
|
6
6
|
let _langchain_core_runnables = require("@langchain/core/runnables");
|
|
7
7
|
let _langchain_core_utils_function_calling = require("@langchain/core/utils/function_calling");
|
|
8
|
-
|
|
9
8
|
//#region src/agents/openai_tools/index.ts
|
|
10
9
|
/**
|
|
11
10
|
* Create an agent that uses OpenAI-style tool calling.
|
|
@@ -77,7 +76,7 @@ async function createOpenAIToolsAgent({ llm, tools, prompt, streamRunnable }) {
|
|
|
77
76
|
singleAction: false
|
|
78
77
|
});
|
|
79
78
|
}
|
|
80
|
-
|
|
81
79
|
//#endregion
|
|
82
80
|
exports.createOpenAIToolsAgent = createOpenAIToolsAgent;
|
|
81
|
+
|
|
83
82
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["AgentRunnableSequence","RunnablePassthrough","formatToOpenAIToolMessages","OpenAIToolsAgentOutputParser"],"sources":["../../../src/agents/openai_tools/index.ts"],"sourcesContent":["import type { StructuredToolInterface } from \"@langchain/core/tools\";\nimport type {\n BaseChatModel,\n BaseChatModelCallOptions,\n} from \"@langchain/core/language_models/chat_models\";\nimport { ChatPromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnablePassthrough } from \"@langchain/core/runnables\";\nimport { OpenAIClient } from \"@langchain/openai\";\nimport { convertToOpenAITool } from \"@langchain/core/utils/function_calling\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { formatToOpenAIToolMessages } from \"../format_scratchpad/openai_tools.js\";\nimport {\n OpenAIToolsAgentOutputParser,\n type ToolsAgentStep,\n} from \"./output_parser.js\";\nimport { AgentRunnableSequence } from \"../agent.js\";\n\nexport { OpenAIToolsAgentOutputParser, type ToolsAgentStep };\n\n/**\n * Params used by the createOpenAIToolsAgent function.\n */\nexport type CreateOpenAIToolsAgentParams = {\n /**\n * LLM to use as the agent. Should work with OpenAI tool calling,\n * so must either be an OpenAI model that supports that or a wrapper of\n * a different model that adds in equivalent support.\n */\n llm: BaseChatModel<\n BaseChatModelCallOptions & {\n tools?:\n | StructuredToolInterface[]\n | OpenAIClient.ChatCompletionTool[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | any[];\n }\n >;\n /** Tools this agent has access to. */\n tools: StructuredToolInterface[] | ToolDefinition[];\n /** The prompt to use, must have an input key of `agent_scratchpad`. */\n prompt: ChatPromptTemplate;\n /**\n * Whether to invoke the underlying model in streaming mode,\n * allowing streaming of intermediate steps. Defaults to true.\n */\n streamRunnable?: boolean;\n};\n\n/**\n * Create an agent that uses OpenAI-style tool calling.\n * @param params Params required to create the agent. Includes an LLM, tools, and prompt.\n * @returns A runnable sequence representing an agent. It takes as input all the same input\n * variables as the prompt passed in does. It returns as output either an\n * AgentAction or AgentFinish.\n *\n * @example\n * ```typescript\n * import { AgentExecutor, createOpenAIToolsAgent } from \"langchain/agents\";\n * import { pull } from \"langchain/hub\";\n * import type { ChatPromptTemplate } from \"@langchain/core/prompts\";\n * import { AIMessage, HumanMessage } from \"@langchain/core/messages\";\n *\n * import { ChatOpenAI } from \"@langchain/openai\";\n *\n * // Define the tools the agent will have access to.\n * const tools = [...];\n *\n * // Get the prompt to use - you can modify this!\n * // If you want to see the prompt in full, you can at:\n * // https://smith.langchain.com/hub/hwchase17/openai-tools-agent\n * const prompt = await pull<ChatPromptTemplate>(\n * \"hwchase17/openai-tools-agent\"\n * );\n *\n * const llm = new ChatOpenAI({\n * temperature: 0,\n * model: \"gpt-3.5-turbo-1106\",\n * });\n *\n * const agent = await createOpenAIToolsAgent({\n * llm,\n * tools,\n * prompt,\n * });\n *\n * const agentExecutor = new AgentExecutor({\n * agent,\n * tools,\n * });\n *\n * const result = await agentExecutor.invoke({\n * input: \"what is LangChain?\",\n * });\n *\n * // With chat history\n * const result2 = await agentExecutor.invoke({\n * input: \"what's my name?\",\n * chat_history: [\n * new HumanMessage(\"hi! my name is cob\"),\n * new AIMessage(\"Hello Cob! How can I assist you today?\"),\n * ],\n * });\n * ```\n */\nexport async function createOpenAIToolsAgent({\n llm,\n tools,\n prompt,\n streamRunnable,\n}: CreateOpenAIToolsAgentParams) {\n if (!prompt.inputVariables.includes(\"agent_scratchpad\")) {\n throw new Error(\n [\n `Prompt must have an input variable named \"agent_scratchpad\".`,\n `Found ${JSON.stringify(prompt.inputVariables)} instead.`,\n ].join(\"\\n\")\n );\n }\n const modelWithTools = llm.bindTools\n ? llm.bindTools(tools)\n : llm.withConfig({\n tools: tools.map((tool) => convertToOpenAITool(tool)),\n });\n const agent = AgentRunnableSequence.fromRunnables(\n [\n RunnablePassthrough.assign({\n agent_scratchpad: (input: { steps: ToolsAgentStep[] }) =>\n formatToOpenAIToolMessages(input.steps),\n }),\n prompt,\n modelWithTools,\n new OpenAIToolsAgentOutputParser(),\n ],\n {\n name: \"OpenAIToolsAgent\",\n streamRunnable,\n singleAction: false,\n }\n );\n return agent;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["AgentRunnableSequence","RunnablePassthrough","formatToOpenAIToolMessages","OpenAIToolsAgentOutputParser"],"sources":["../../../src/agents/openai_tools/index.ts"],"sourcesContent":["import type { StructuredToolInterface } from \"@langchain/core/tools\";\nimport type {\n BaseChatModel,\n BaseChatModelCallOptions,\n} from \"@langchain/core/language_models/chat_models\";\nimport { ChatPromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnablePassthrough } from \"@langchain/core/runnables\";\nimport { OpenAIClient } from \"@langchain/openai\";\nimport { convertToOpenAITool } from \"@langchain/core/utils/function_calling\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { formatToOpenAIToolMessages } from \"../format_scratchpad/openai_tools.js\";\nimport {\n OpenAIToolsAgentOutputParser,\n type ToolsAgentStep,\n} from \"./output_parser.js\";\nimport { AgentRunnableSequence } from \"../agent.js\";\n\nexport { OpenAIToolsAgentOutputParser, type ToolsAgentStep };\n\n/**\n * Params used by the createOpenAIToolsAgent function.\n */\nexport type CreateOpenAIToolsAgentParams = {\n /**\n * LLM to use as the agent. Should work with OpenAI tool calling,\n * so must either be an OpenAI model that supports that or a wrapper of\n * a different model that adds in equivalent support.\n */\n llm: BaseChatModel<\n BaseChatModelCallOptions & {\n tools?:\n | StructuredToolInterface[]\n | OpenAIClient.ChatCompletionTool[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | any[];\n }\n >;\n /** Tools this agent has access to. */\n tools: StructuredToolInterface[] | ToolDefinition[];\n /** The prompt to use, must have an input key of `agent_scratchpad`. */\n prompt: ChatPromptTemplate;\n /**\n * Whether to invoke the underlying model in streaming mode,\n * allowing streaming of intermediate steps. Defaults to true.\n */\n streamRunnable?: boolean;\n};\n\n/**\n * Create an agent that uses OpenAI-style tool calling.\n * @param params Params required to create the agent. Includes an LLM, tools, and prompt.\n * @returns A runnable sequence representing an agent. It takes as input all the same input\n * variables as the prompt passed in does. It returns as output either an\n * AgentAction or AgentFinish.\n *\n * @example\n * ```typescript\n * import { AgentExecutor, createOpenAIToolsAgent } from \"langchain/agents\";\n * import { pull } from \"langchain/hub\";\n * import type { ChatPromptTemplate } from \"@langchain/core/prompts\";\n * import { AIMessage, HumanMessage } from \"@langchain/core/messages\";\n *\n * import { ChatOpenAI } from \"@langchain/openai\";\n *\n * // Define the tools the agent will have access to.\n * const tools = [...];\n *\n * // Get the prompt to use - you can modify this!\n * // If you want to see the prompt in full, you can at:\n * // https://smith.langchain.com/hub/hwchase17/openai-tools-agent\n * const prompt = await pull<ChatPromptTemplate>(\n * \"hwchase17/openai-tools-agent\"\n * );\n *\n * const llm = new ChatOpenAI({\n * temperature: 0,\n * model: \"gpt-3.5-turbo-1106\",\n * });\n *\n * const agent = await createOpenAIToolsAgent({\n * llm,\n * tools,\n * prompt,\n * });\n *\n * const agentExecutor = new AgentExecutor({\n * agent,\n * tools,\n * });\n *\n * const result = await agentExecutor.invoke({\n * input: \"what is LangChain?\",\n * });\n *\n * // With chat history\n * const result2 = await agentExecutor.invoke({\n * input: \"what's my name?\",\n * chat_history: [\n * new HumanMessage(\"hi! my name is cob\"),\n * new AIMessage(\"Hello Cob! How can I assist you today?\"),\n * ],\n * });\n * ```\n */\nexport async function createOpenAIToolsAgent({\n llm,\n tools,\n prompt,\n streamRunnable,\n}: CreateOpenAIToolsAgentParams) {\n if (!prompt.inputVariables.includes(\"agent_scratchpad\")) {\n throw new Error(\n [\n `Prompt must have an input variable named \"agent_scratchpad\".`,\n `Found ${JSON.stringify(prompt.inputVariables)} instead.`,\n ].join(\"\\n\")\n );\n }\n const modelWithTools = llm.bindTools\n ? llm.bindTools(tools)\n : llm.withConfig({\n tools: tools.map((tool) => convertToOpenAITool(tool)),\n });\n const agent = AgentRunnableSequence.fromRunnables(\n [\n RunnablePassthrough.assign({\n agent_scratchpad: (input: { steps: ToolsAgentStep[] }) =>\n formatToOpenAIToolMessages(input.steps),\n }),\n prompt,\n modelWithTools,\n new OpenAIToolsAgentOutputParser(),\n ],\n {\n name: \"OpenAIToolsAgent\",\n streamRunnable,\n singleAction: false,\n }\n );\n return agent;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwGA,eAAsB,uBAAuB,EAC3C,KACA,OACA,QACA,kBAC+B;AAC/B,KAAI,CAAC,OAAO,eAAe,SAAS,mBAAmB,CACrD,OAAM,IAAI,MACR,CACE,gEACA,SAAS,KAAK,UAAU,OAAO,eAAe,CAAC,WAChD,CAAC,KAAK,KAAK,CACb;CAEH,MAAM,iBAAiB,IAAI,YACvB,IAAI,UAAU,MAAM,GACpB,IAAI,WAAW,EACb,OAAO,MAAM,KAAK,UAAA,GAAA,uCAAA,qBAA6B,KAAK,CAAC,EACtD,CAAC;AAiBN,QAhBcA,cAAAA,sBAAsB,cAClC;EACEC,0BAAAA,oBAAoB,OAAO,EACzB,mBAAmB,UACjBC,qBAAAA,qBAA2B,MAAM,MAAM,EAC1C,CAAC;EACF;EACA;EACA,IAAIC,sBAAAA,8BAA8B;EACnC,EACD;EACE,MAAM;EACN;EACA,cAAc;EACf,CACF"}
|
|
@@ -4,7 +4,6 @@ import { AgentRunnableSequence } from "../agent.js";
|
|
|
4
4
|
import { OpenAIToolsAgentOutputParser } from "./output_parser.js";
|
|
5
5
|
import { RunnablePassthrough } from "@langchain/core/runnables";
|
|
6
6
|
import { convertToOpenAITool } from "@langchain/core/utils/function_calling";
|
|
7
|
-
|
|
8
7
|
//#region src/agents/openai_tools/index.ts
|
|
9
8
|
/**
|
|
10
9
|
* Create an agent that uses OpenAI-style tool calling.
|
|
@@ -76,7 +75,7 @@ async function createOpenAIToolsAgent({ llm, tools, prompt, streamRunnable }) {
|
|
|
76
75
|
singleAction: false
|
|
77
76
|
});
|
|
78
77
|
}
|
|
79
|
-
|
|
80
78
|
//#endregion
|
|
81
79
|
export { createOpenAIToolsAgent };
|
|
80
|
+
|
|
82
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["formatToOpenAIToolMessages"],"sources":["../../../src/agents/openai_tools/index.ts"],"sourcesContent":["import type { StructuredToolInterface } from \"@langchain/core/tools\";\nimport type {\n BaseChatModel,\n BaseChatModelCallOptions,\n} from \"@langchain/core/language_models/chat_models\";\nimport { ChatPromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnablePassthrough } from \"@langchain/core/runnables\";\nimport { OpenAIClient } from \"@langchain/openai\";\nimport { convertToOpenAITool } from \"@langchain/core/utils/function_calling\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { formatToOpenAIToolMessages } from \"../format_scratchpad/openai_tools.js\";\nimport {\n OpenAIToolsAgentOutputParser,\n type ToolsAgentStep,\n} from \"./output_parser.js\";\nimport { AgentRunnableSequence } from \"../agent.js\";\n\nexport { OpenAIToolsAgentOutputParser, type ToolsAgentStep };\n\n/**\n * Params used by the createOpenAIToolsAgent function.\n */\nexport type CreateOpenAIToolsAgentParams = {\n /**\n * LLM to use as the agent. Should work with OpenAI tool calling,\n * so must either be an OpenAI model that supports that or a wrapper of\n * a different model that adds in equivalent support.\n */\n llm: BaseChatModel<\n BaseChatModelCallOptions & {\n tools?:\n | StructuredToolInterface[]\n | OpenAIClient.ChatCompletionTool[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | any[];\n }\n >;\n /** Tools this agent has access to. */\n tools: StructuredToolInterface[] | ToolDefinition[];\n /** The prompt to use, must have an input key of `agent_scratchpad`. */\n prompt: ChatPromptTemplate;\n /**\n * Whether to invoke the underlying model in streaming mode,\n * allowing streaming of intermediate steps. Defaults to true.\n */\n streamRunnable?: boolean;\n};\n\n/**\n * Create an agent that uses OpenAI-style tool calling.\n * @param params Params required to create the agent. Includes an LLM, tools, and prompt.\n * @returns A runnable sequence representing an agent. It takes as input all the same input\n * variables as the prompt passed in does. It returns as output either an\n * AgentAction or AgentFinish.\n *\n * @example\n * ```typescript\n * import { AgentExecutor, createOpenAIToolsAgent } from \"langchain/agents\";\n * import { pull } from \"langchain/hub\";\n * import type { ChatPromptTemplate } from \"@langchain/core/prompts\";\n * import { AIMessage, HumanMessage } from \"@langchain/core/messages\";\n *\n * import { ChatOpenAI } from \"@langchain/openai\";\n *\n * // Define the tools the agent will have access to.\n * const tools = [...];\n *\n * // Get the prompt to use - you can modify this!\n * // If you want to see the prompt in full, you can at:\n * // https://smith.langchain.com/hub/hwchase17/openai-tools-agent\n * const prompt = await pull<ChatPromptTemplate>(\n * \"hwchase17/openai-tools-agent\"\n * );\n *\n * const llm = new ChatOpenAI({\n * temperature: 0,\n * model: \"gpt-3.5-turbo-1106\",\n * });\n *\n * const agent = await createOpenAIToolsAgent({\n * llm,\n * tools,\n * prompt,\n * });\n *\n * const agentExecutor = new AgentExecutor({\n * agent,\n * tools,\n * });\n *\n * const result = await agentExecutor.invoke({\n * input: \"what is LangChain?\",\n * });\n *\n * // With chat history\n * const result2 = await agentExecutor.invoke({\n * input: \"what's my name?\",\n * chat_history: [\n * new HumanMessage(\"hi! my name is cob\"),\n * new AIMessage(\"Hello Cob! How can I assist you today?\"),\n * ],\n * });\n * ```\n */\nexport async function createOpenAIToolsAgent({\n llm,\n tools,\n prompt,\n streamRunnable,\n}: CreateOpenAIToolsAgentParams) {\n if (!prompt.inputVariables.includes(\"agent_scratchpad\")) {\n throw new Error(\n [\n `Prompt must have an input variable named \"agent_scratchpad\".`,\n `Found ${JSON.stringify(prompt.inputVariables)} instead.`,\n ].join(\"\\n\")\n );\n }\n const modelWithTools = llm.bindTools\n ? llm.bindTools(tools)\n : llm.withConfig({\n tools: tools.map((tool) => convertToOpenAITool(tool)),\n });\n const agent = AgentRunnableSequence.fromRunnables(\n [\n RunnablePassthrough.assign({\n agent_scratchpad: (input: { steps: ToolsAgentStep[] }) =>\n formatToOpenAIToolMessages(input.steps),\n }),\n prompt,\n modelWithTools,\n new OpenAIToolsAgentOutputParser(),\n ],\n {\n name: \"OpenAIToolsAgent\",\n streamRunnable,\n singleAction: false,\n }\n );\n return agent;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["formatToOpenAIToolMessages"],"sources":["../../../src/agents/openai_tools/index.ts"],"sourcesContent":["import type { StructuredToolInterface } from \"@langchain/core/tools\";\nimport type {\n BaseChatModel,\n BaseChatModelCallOptions,\n} from \"@langchain/core/language_models/chat_models\";\nimport { ChatPromptTemplate } from \"@langchain/core/prompts\";\nimport { RunnablePassthrough } from \"@langchain/core/runnables\";\nimport { OpenAIClient } from \"@langchain/openai\";\nimport { convertToOpenAITool } from \"@langchain/core/utils/function_calling\";\nimport { ToolDefinition } from \"@langchain/core/language_models/base\";\nimport { formatToOpenAIToolMessages } from \"../format_scratchpad/openai_tools.js\";\nimport {\n OpenAIToolsAgentOutputParser,\n type ToolsAgentStep,\n} from \"./output_parser.js\";\nimport { AgentRunnableSequence } from \"../agent.js\";\n\nexport { OpenAIToolsAgentOutputParser, type ToolsAgentStep };\n\n/**\n * Params used by the createOpenAIToolsAgent function.\n */\nexport type CreateOpenAIToolsAgentParams = {\n /**\n * LLM to use as the agent. Should work with OpenAI tool calling,\n * so must either be an OpenAI model that supports that or a wrapper of\n * a different model that adds in equivalent support.\n */\n llm: BaseChatModel<\n BaseChatModelCallOptions & {\n tools?:\n | StructuredToolInterface[]\n | OpenAIClient.ChatCompletionTool[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | any[];\n }\n >;\n /** Tools this agent has access to. */\n tools: StructuredToolInterface[] | ToolDefinition[];\n /** The prompt to use, must have an input key of `agent_scratchpad`. */\n prompt: ChatPromptTemplate;\n /**\n * Whether to invoke the underlying model in streaming mode,\n * allowing streaming of intermediate steps. Defaults to true.\n */\n streamRunnable?: boolean;\n};\n\n/**\n * Create an agent that uses OpenAI-style tool calling.\n * @param params Params required to create the agent. Includes an LLM, tools, and prompt.\n * @returns A runnable sequence representing an agent. It takes as input all the same input\n * variables as the prompt passed in does. It returns as output either an\n * AgentAction or AgentFinish.\n *\n * @example\n * ```typescript\n * import { AgentExecutor, createOpenAIToolsAgent } from \"langchain/agents\";\n * import { pull } from \"langchain/hub\";\n * import type { ChatPromptTemplate } from \"@langchain/core/prompts\";\n * import { AIMessage, HumanMessage } from \"@langchain/core/messages\";\n *\n * import { ChatOpenAI } from \"@langchain/openai\";\n *\n * // Define the tools the agent will have access to.\n * const tools = [...];\n *\n * // Get the prompt to use - you can modify this!\n * // If you want to see the prompt in full, you can at:\n * // https://smith.langchain.com/hub/hwchase17/openai-tools-agent\n * const prompt = await pull<ChatPromptTemplate>(\n * \"hwchase17/openai-tools-agent\"\n * );\n *\n * const llm = new ChatOpenAI({\n * temperature: 0,\n * model: \"gpt-3.5-turbo-1106\",\n * });\n *\n * const agent = await createOpenAIToolsAgent({\n * llm,\n * tools,\n * prompt,\n * });\n *\n * const agentExecutor = new AgentExecutor({\n * agent,\n * tools,\n * });\n *\n * const result = await agentExecutor.invoke({\n * input: \"what is LangChain?\",\n * });\n *\n * // With chat history\n * const result2 = await agentExecutor.invoke({\n * input: \"what's my name?\",\n * chat_history: [\n * new HumanMessage(\"hi! my name is cob\"),\n * new AIMessage(\"Hello Cob! How can I assist you today?\"),\n * ],\n * });\n * ```\n */\nexport async function createOpenAIToolsAgent({\n llm,\n tools,\n prompt,\n streamRunnable,\n}: CreateOpenAIToolsAgentParams) {\n if (!prompt.inputVariables.includes(\"agent_scratchpad\")) {\n throw new Error(\n [\n `Prompt must have an input variable named \"agent_scratchpad\".`,\n `Found ${JSON.stringify(prompt.inputVariables)} instead.`,\n ].join(\"\\n\")\n );\n }\n const modelWithTools = llm.bindTools\n ? llm.bindTools(tools)\n : llm.withConfig({\n tools: tools.map((tool) => convertToOpenAITool(tool)),\n });\n const agent = AgentRunnableSequence.fromRunnables(\n [\n RunnablePassthrough.assign({\n agent_scratchpad: (input: { steps: ToolsAgentStep[] }) =>\n formatToOpenAIToolMessages(input.steps),\n }),\n prompt,\n modelWithTools,\n new OpenAIToolsAgentOutputParser(),\n ],\n {\n name: \"OpenAIToolsAgent\",\n streamRunnable,\n singleAction: false,\n }\n );\n return agent;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwGA,eAAsB,uBAAuB,EAC3C,KACA,OACA,QACA,kBAC+B;AAC/B,KAAI,CAAC,OAAO,eAAe,SAAS,mBAAmB,CACrD,OAAM,IAAI,MACR,CACE,gEACA,SAAS,KAAK,UAAU,OAAO,eAAe,CAAC,WAChD,CAAC,KAAK,KAAK,CACb;CAEH,MAAM,iBAAiB,IAAI,YACvB,IAAI,UAAU,MAAM,GACpB,IAAI,WAAW,EACb,OAAO,MAAM,KAAK,SAAS,oBAAoB,KAAK,CAAC,EACtD,CAAC;AAiBN,QAhBc,sBAAsB,cAClC;EACE,oBAAoB,OAAO,EACzB,mBAAmB,UACjBA,qBAA2B,MAAM,MAAM,EAC1C,CAAC;EACF;EACA;EACA,IAAI,8BAA8B;EACnC,EACD;EACE,MAAM;EACN;EACA,cAAc;EACf,CACF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
const require_types = require(
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_types = require("../types.cjs");
|
|
3
3
|
let _langchain_core_messages = require("@langchain/core/messages");
|
|
4
4
|
let _langchain_core_output_parsers = require("@langchain/core/output_parsers");
|
|
5
|
-
|
|
6
5
|
//#region src/agents/openai_tools/output_parser.ts
|
|
7
6
|
/**
|
|
8
7
|
* @example
|
|
@@ -85,7 +84,7 @@ var OpenAIToolsAgentOutputParser = class extends require_types.AgentMultiActionO
|
|
|
85
84
|
throw new Error("getFormatInstructions not implemented inside OpenAIToolsAgentOutputParser.");
|
|
86
85
|
}
|
|
87
86
|
};
|
|
88
|
-
|
|
89
87
|
//#endregion
|
|
90
88
|
exports.OpenAIToolsAgentOutputParser = OpenAIToolsAgentOutputParser;
|
|
89
|
+
|
|
91
90
|
//# sourceMappingURL=output_parser.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output_parser.cjs","names":["AgentMultiActionOutputParser","OutputParserException"],"sources":["../../../src/agents/openai_tools/output_parser.ts"],"sourcesContent":["import type { OpenAIClient } from \"@langchain/openai\";\nimport { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseMessage, isBaseMessage } from \"@langchain/core/messages\";\nimport { ChatGeneration } from \"@langchain/core/outputs\";\nimport { OutputParserException } from \"@langchain/core/output_parsers\";\nimport { AgentMultiActionOutputParser } from \"../types.js\";\nimport {\n ToolsAgentAction,\n ToolsAgentStep,\n} from \"../tool_calling/output_parser.js\";\n\nexport type { ToolsAgentAction, ToolsAgentStep };\n\n/**\n * @example\n * ```typescript\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant\"],\n * [\"human\", \"{input}\"],\n * new MessagesPlaceholder(\"agent_scratchpad\"),\n * ]);\n *\n * const runnableAgent = RunnableSequence.from([\n * {\n * input: (i: { input: string; steps: ToolsAgentStep[] }) => i.input,\n * agent_scratchpad: (i: { input: string; steps: ToolsAgentStep[] }) =>\n * formatToOpenAIToolMessages(i.steps),\n * },\n * prompt,\n * new ChatOpenAI({\n * model: \"gpt-3.5-turbo-1106\",\n * temperature: 0,\n * }).bindTools(tools),\n * new OpenAIToolsAgentOutputParser(),\n * ]).withConfig({ runName: \"OpenAIToolsAgent\" });\n *\n * const result = await runnableAgent.invoke({\n * input:\n * \"What is the sum of the current temperature in San Francisco, New York, and Tokyo?\",\n * });\n * ```\n */\nexport class OpenAIToolsAgentOutputParser extends AgentMultiActionOutputParser {\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n static lc_name() {\n return \"OpenAIToolsAgentOutputParser\";\n }\n\n async parse(text: string): Promise<AgentAction[] | AgentFinish> {\n throw new Error(\n `OpenAIFunctionsAgentOutputParser can only parse messages.\\nPassed input: ${text}`\n );\n }\n\n async parseResult(generations: ChatGeneration[]) {\n if (\"message\" in generations[0] && isBaseMessage(generations[0].message)) {\n return this.parseAIMessage(generations[0].message);\n }\n throw new Error(\n \"parseResult on OpenAIFunctionsAgentOutputParser only works on ChatGeneration output\"\n );\n }\n\n /**\n * Parses the output message into a ToolsAgentAction[] or AgentFinish\n * object.\n * @param message The BaseMessage to parse.\n * @returns A ToolsAgentAction[] or AgentFinish object.\n */\n parseAIMessage(message: BaseMessage): ToolsAgentAction[] | AgentFinish {\n if (message.content && typeof message.content !== \"string\") {\n throw new Error(\"This agent cannot parse non-string model responses.\");\n }\n if (message.additional_kwargs.tool_calls) {\n const toolCalls: OpenAIClient.Chat.ChatCompletionMessageToolCall[] =\n message.additional_kwargs.tool_calls;\n try {\n return toolCalls\n .map((toolCall, i) => {\n if (toolCall.type === \"function\") {\n const toolInput = toolCall.function.arguments\n ? JSON.parse(toolCall.function.arguments)\n : {};\n const messageLog = i === 0 ? [message] : [];\n return {\n tool: toolCall.function.name as string,\n toolInput,\n toolCallId: toolCall.id,\n log: `Invoking \"${toolCall.function.name}\" with ${\n toolCall.function.arguments ?? \"{}\"\n }\\n${message.content}`,\n messageLog,\n };\n }\n return undefined;\n })\n .filter(Boolean) as ToolsAgentAction[];\n } catch (error) {\n throw new OutputParserException(\n `Failed to parse tool arguments from chat model response. Text: \"${JSON.stringify(\n toolCalls\n )}\". ${error}`\n );\n }\n } else {\n return {\n returnValues: { output: message.content },\n log: message.content,\n };\n }\n }\n\n getFormatInstructions(): string {\n throw new Error(\n \"getFormatInstructions not implemented inside OpenAIToolsAgentOutputParser.\"\n );\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"output_parser.cjs","names":["AgentMultiActionOutputParser","OutputParserException"],"sources":["../../../src/agents/openai_tools/output_parser.ts"],"sourcesContent":["import type { OpenAIClient } from \"@langchain/openai\";\nimport { AgentAction, AgentFinish } from \"@langchain/core/agents\";\nimport { BaseMessage, isBaseMessage } from \"@langchain/core/messages\";\nimport { ChatGeneration } from \"@langchain/core/outputs\";\nimport { OutputParserException } from \"@langchain/core/output_parsers\";\nimport { AgentMultiActionOutputParser } from \"../types.js\";\nimport {\n ToolsAgentAction,\n ToolsAgentStep,\n} from \"../tool_calling/output_parser.js\";\n\nexport type { ToolsAgentAction, ToolsAgentStep };\n\n/**\n * @example\n * ```typescript\n * const prompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant\"],\n * [\"human\", \"{input}\"],\n * new MessagesPlaceholder(\"agent_scratchpad\"),\n * ]);\n *\n * const runnableAgent = RunnableSequence.from([\n * {\n * input: (i: { input: string; steps: ToolsAgentStep[] }) => i.input,\n * agent_scratchpad: (i: { input: string; steps: ToolsAgentStep[] }) =>\n * formatToOpenAIToolMessages(i.steps),\n * },\n * prompt,\n * new ChatOpenAI({\n * model: \"gpt-3.5-turbo-1106\",\n * temperature: 0,\n * }).bindTools(tools),\n * new OpenAIToolsAgentOutputParser(),\n * ]).withConfig({ runName: \"OpenAIToolsAgent\" });\n *\n * const result = await runnableAgent.invoke({\n * input:\n * \"What is the sum of the current temperature in San Francisco, New York, and Tokyo?\",\n * });\n * ```\n */\nexport class OpenAIToolsAgentOutputParser extends AgentMultiActionOutputParser {\n lc_namespace = [\"langchain\", \"agents\", \"openai\"];\n\n static lc_name() {\n return \"OpenAIToolsAgentOutputParser\";\n }\n\n async parse(text: string): Promise<AgentAction[] | AgentFinish> {\n throw new Error(\n `OpenAIFunctionsAgentOutputParser can only parse messages.\\nPassed input: ${text}`\n );\n }\n\n async parseResult(generations: ChatGeneration[]) {\n if (\"message\" in generations[0] && isBaseMessage(generations[0].message)) {\n return this.parseAIMessage(generations[0].message);\n }\n throw new Error(\n \"parseResult on OpenAIFunctionsAgentOutputParser only works on ChatGeneration output\"\n );\n }\n\n /**\n * Parses the output message into a ToolsAgentAction[] or AgentFinish\n * object.\n * @param message The BaseMessage to parse.\n * @returns A ToolsAgentAction[] or AgentFinish object.\n */\n parseAIMessage(message: BaseMessage): ToolsAgentAction[] | AgentFinish {\n if (message.content && typeof message.content !== \"string\") {\n throw new Error(\"This agent cannot parse non-string model responses.\");\n }\n if (message.additional_kwargs.tool_calls) {\n const toolCalls: OpenAIClient.Chat.ChatCompletionMessageToolCall[] =\n message.additional_kwargs.tool_calls;\n try {\n return toolCalls\n .map((toolCall, i) => {\n if (toolCall.type === \"function\") {\n const toolInput = toolCall.function.arguments\n ? JSON.parse(toolCall.function.arguments)\n : {};\n const messageLog = i === 0 ? [message] : [];\n return {\n tool: toolCall.function.name as string,\n toolInput,\n toolCallId: toolCall.id,\n log: `Invoking \"${toolCall.function.name}\" with ${\n toolCall.function.arguments ?? \"{}\"\n }\\n${message.content}`,\n messageLog,\n };\n }\n return undefined;\n })\n .filter(Boolean) as ToolsAgentAction[];\n } catch (error) {\n throw new OutputParserException(\n `Failed to parse tool arguments from chat model response. Text: \"${JSON.stringify(\n toolCalls\n )}\". ${error}`\n );\n }\n } else {\n return {\n returnValues: { output: message.content },\n log: message.content,\n };\n }\n }\n\n getFormatInstructions(): string {\n throw new Error(\n \"getFormatInstructions not implemented inside OpenAIToolsAgentOutputParser.\"\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,IAAa,+BAAb,cAAkDA,cAAAA,6BAA6B;CAC7E,eAAe;EAAC;EAAa;EAAU;EAAS;CAEhD,OAAO,UAAU;AACf,SAAO;;CAGT,MAAM,MAAM,MAAoD;AAC9D,QAAM,IAAI,MACR,4EAA4E,OAC7E;;CAGH,MAAM,YAAY,aAA+B;AAC/C,MAAI,aAAa,YAAY,OAAA,GAAA,yBAAA,eAAoB,YAAY,GAAG,QAAQ,CACtE,QAAO,KAAK,eAAe,YAAY,GAAG,QAAQ;AAEpD,QAAM,IAAI,MACR,sFACD;;;;;;;;CASH,eAAe,SAAwD;AACrE,MAAI,QAAQ,WAAW,OAAO,QAAQ,YAAY,SAChD,OAAM,IAAI,MAAM,sDAAsD;AAExE,MAAI,QAAQ,kBAAkB,YAAY;GACxC,MAAM,YACJ,QAAQ,kBAAkB;AAC5B,OAAI;AACF,WAAO,UACJ,KAAK,UAAU,MAAM;AACpB,SAAI,SAAS,SAAS,YAAY;MAChC,MAAM,YAAY,SAAS,SAAS,YAChC,KAAK,MAAM,SAAS,SAAS,UAAU,GACvC,EAAE;MACN,MAAM,aAAa,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE;AAC3C,aAAO;OACL,MAAM,SAAS,SAAS;OACxB;OACA,YAAY,SAAS;OACrB,KAAK,aAAa,SAAS,SAAS,KAAK,SACvC,SAAS,SAAS,aAAa,KAChC,IAAI,QAAQ;OACb;OACD;;MAGH,CACD,OAAO,QAAQ;YACX,OAAO;AACd,UAAM,IAAIC,+BAAAA,sBACR,mEAAmE,KAAK,UACtE,UACD,CAAC,KAAK,QACR;;QAGH,QAAO;GACL,cAAc,EAAE,QAAQ,QAAQ,SAAS;GACzC,KAAK,QAAQ;GACd;;CAIL,wBAAgC;AAC9B,QAAM,IAAI,MACR,6EACD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AgentMultiActionOutputParser } from "../types.js";
|
|
2
2
|
import { isBaseMessage } from "@langchain/core/messages";
|
|
3
3
|
import { OutputParserException } from "@langchain/core/output_parsers";
|
|
4
|
-
|
|
5
4
|
//#region src/agents/openai_tools/output_parser.ts
|
|
6
5
|
/**
|
|
7
6
|
* @example
|
|
@@ -84,7 +83,7 @@ var OpenAIToolsAgentOutputParser = class extends AgentMultiActionOutputParser {
|
|
|
84
83
|
throw new Error("getFormatInstructions not implemented inside OpenAIToolsAgentOutputParser.");
|
|
85
84
|
}
|
|
86
85
|
};
|
|
87
|
-
|
|
88
86
|
//#endregion
|
|
89
87
|
export { OpenAIToolsAgentOutputParser };
|
|
88
|
+
|
|
90
89
|
//# sourceMappingURL=output_parser.js.map
|