langchain 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/agents.d.ts +1 -0
- package/agents.js +1 -0
- package/chains.d.ts +1 -0
- package/chains.js +1 -0
- package/dist/{cjs/agents → agents}/agent.d.ts +1 -1
- package/dist/{cjs/agents → agents}/agent.js +0 -0
- package/dist/agents/agent.js.map +1 -0
- package/dist/{cjs/agents → agents}/executor.d.ts +0 -0
- package/dist/{cjs/agents → agents}/executor.js +0 -0
- package/dist/agents/executor.js.map +1 -0
- package/dist/{cjs/agents → agents}/helpers.d.ts +0 -0
- package/dist/{cjs/agents → agents}/helpers.js +0 -0
- package/dist/agents/helpers.js.map +1 -0
- package/dist/{cjs/agents → agents}/index.d.ts +0 -0
- package/dist/{cjs/agents → agents}/index.js +0 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/{cjs/agents → agents}/initialize.d.ts +0 -0
- package/dist/{cjs/agents → agents}/initialize.js +2 -4
- package/dist/agents/initialize.js.map +1 -0
- package/dist/{cjs/agents → agents}/load.d.ts +0 -0
- package/dist/{cjs/agents → agents}/load.js +0 -0
- package/dist/agents/load.js.map +1 -0
- package/dist/{cjs/agents → agents}/mrkl/index.d.ts +1 -1
- package/dist/{cjs/agents → agents}/mrkl/index.js +5 -5
- package/dist/agents/mrkl/index.js.map +1 -0
- package/dist/{cjs/agents → agents}/mrkl/prompt.d.ts +0 -0
- package/dist/{cjs/agents → agents}/mrkl/prompt.js +0 -0
- package/dist/agents/mrkl/prompt.js.map +1 -0
- package/dist/{cjs/agents → agents}/tests/agent.test.d.ts +0 -0
- package/dist/{cjs/agents → agents}/tests/agent.test.js +0 -0
- package/dist/agents/tests/agent.test.js.map +1 -0
- package/dist/{cjs/agents → agents}/tests/calculator.test.d.ts +0 -0
- package/dist/{cjs/agents → agents}/tests/calculator.test.js +0 -0
- package/dist/agents/tests/calculator.test.js.map +1 -0
- package/dist/{cjs/agents → agents}/tools/base.d.ts +0 -0
- package/dist/{cjs/agents → agents}/tools/base.js +0 -0
- package/dist/agents/tools/base.js.map +1 -0
- package/dist/{cjs/agents → agents}/tools/calculator.d.ts +0 -0
- package/dist/{cjs/agents → agents}/tools/calculator.js +0 -0
- package/dist/agents/tools/calculator.js.map +1 -0
- package/dist/{cjs/agents → agents}/tools/index.d.ts +0 -0
- package/dist/{cjs/agents → agents}/tools/index.js +0 -0
- package/dist/agents/tools/index.js.map +1 -0
- package/dist/{cjs/agents → agents}/tools/llm-math.d.ts +0 -0
- package/dist/{cjs/agents → agents}/tools/llm-math.js +0 -0
- package/dist/{cjs/agents → agents}/tools/llm-math.js.map +1 -1
- package/dist/{cjs/agents → agents}/tools/serpapi.d.ts +0 -0
- package/dist/{cjs/agents → agents}/tools/serpapi.js +0 -0
- package/dist/agents/tools/serpapi.js.map +1 -0
- package/dist/{cjs/agents → agents}/types.d.ts +0 -0
- package/dist/{cjs/agents → agents}/types.js +0 -0
- package/dist/{cjs/agents → agents}/types.js.map +1 -1
- package/dist/{cjs/cache.d.ts → cache.d.ts} +0 -0
- package/dist/{cjs/cache.js → cache.js} +0 -0
- package/dist/cache.js.map +1 -0
- package/dist/{cjs/chains → chains}/base.d.ts +0 -0
- package/dist/{cjs/chains → chains}/base.js +8 -2
- package/dist/chains/base.js.map +1 -0
- package/dist/{cjs/chains → chains}/chat_vector_db_chain.d.ts +0 -0
- package/dist/{cjs/chains → chains}/chat_vector_db_chain.js +21 -7
- package/dist/chains/chat_vector_db_chain.js.map +1 -0
- package/dist/{cjs/chains → chains}/combine_docs_chain.d.ts +0 -0
- package/dist/{cjs/chains → chains}/combine_docs_chain.js +0 -0
- package/dist/chains/combine_docs_chain.js.map +1 -0
- package/dist/{esm/chains → chains}/conversation.d.ts +1 -1
- package/dist/{cjs/chains → chains}/conversation.js +2 -2
- package/dist/chains/conversation.js.map +1 -0
- package/dist/{esm/chains → chains}/index.d.ts +1 -1
- package/dist/{cjs/chains → chains}/index.js +0 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/{esm/chains → chains}/llm_chain.d.ts +1 -1
- package/dist/{cjs/chains → chains}/llm_chain.js +3 -3
- package/dist/chains/llm_chain.js.map +1 -0
- package/dist/{cjs/chains → chains}/load.d.ts +0 -0
- package/dist/{cjs/chains → chains}/load.js +0 -0
- package/dist/chains/load.js.map +1 -0
- package/dist/{cjs/chains → chains}/question_answering/load.d.ts +0 -0
- package/dist/{cjs/chains → chains}/question_answering/load.js +0 -0
- package/dist/chains/question_answering/load.js.map +1 -0
- package/dist/{cjs/chains → chains}/question_answering/stuff_prompts.d.ts +1 -1
- package/dist/{cjs/chains → chains}/question_answering/stuff_prompts.js +2 -2
- package/dist/chains/question_answering/stuff_prompts.js.map +1 -0
- package/dist/{cjs/chains → chains}/question_answering/tests/load.test.d.ts +0 -0
- package/dist/{cjs/chains → chains}/question_answering/tests/load.test.js +5 -1
- package/dist/chains/question_answering/tests/load.test.js.map +1 -0
- package/dist/{cjs/chains → chains}/tests/chat_vector_db_qa_chain.test.d.ts +0 -0
- package/dist/{cjs/chains → chains}/tests/chat_vector_db_qa_chain.test.js +2 -2
- package/dist/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
- package/dist/{cjs/chains → chains}/tests/combine_docs_chain.test.d.ts +0 -0
- package/dist/{cjs/chains → chains}/tests/combine_docs_chain.test.js +16 -5
- package/dist/chains/tests/combine_docs_chain.test.js.map +1 -0
- package/dist/{cjs/chains → chains}/tests/llm_chain.test.d.ts +0 -0
- package/dist/{cjs/chains → chains}/tests/llm_chain.test.js +2 -2
- package/dist/chains/tests/llm_chain.test.js.map +1 -0
- package/dist/{cjs/chains → chains}/tests/vector_db_qa_chain.test.d.ts +0 -0
- package/dist/{cjs/chains → chains}/tests/vector_db_qa_chain.test.js +2 -2
- package/dist/chains/tests/vector_db_qa_chain.test.js.map +1 -0
- package/dist/{cjs/chains → chains}/vector_db_qa.d.ts +0 -0
- package/dist/{cjs/chains → chains}/vector_db_qa.js +0 -0
- package/dist/chains/vector_db_qa.js.map +1 -0
- package/dist/{cjs/document.d.ts → document.d.ts} +0 -0
- package/dist/{cjs/document.js → document.js} +0 -0
- package/dist/document.js.map +1 -0
- package/dist/{cjs/embeddings → embeddings}/base.d.ts +0 -0
- package/dist/{cjs/embeddings → embeddings}/base.js +0 -0
- package/dist/embeddings/base.js.map +1 -0
- package/dist/{cjs/embeddings → embeddings}/index.d.ts +0 -0
- package/dist/{cjs/embeddings → embeddings}/index.js +0 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/{cjs/embeddings → embeddings}/openai.d.ts +0 -0
- package/dist/{cjs/embeddings → embeddings}/openai.js +1 -1
- package/dist/embeddings/openai.js.map +1 -0
- package/dist/{cjs/embeddings → embeddings}/tests/openai.test.d.ts +0 -0
- package/dist/{cjs/embeddings → embeddings}/tests/openai.test.js +0 -0
- package/dist/embeddings/tests/openai.test.js.map +1 -0
- package/dist/{cjs/index.d.ts → index.d.ts} +1 -1
- package/dist/{cjs/index.js → index.js} +4 -4
- package/dist/index.js.map +1 -0
- package/dist/{cjs/llms → llms}/base.d.ts +0 -0
- package/dist/{cjs/llms → llms}/base.js +4 -3
- package/dist/llms/base.js.map +1 -0
- package/dist/llms/cohere.d.ts +24 -0
- package/dist/llms/cohere.js +55 -0
- package/dist/llms/cohere.js.map +1 -0
- package/dist/{cjs/llms → llms}/index.d.ts +5 -3
- package/dist/{cjs/llms → llms}/index.js +3 -1
- package/dist/llms/index.js.map +1 -0
- package/dist/{cjs/llms → llms}/load.d.ts +0 -0
- package/dist/{cjs/llms → llms}/load.js +0 -0
- package/dist/llms/load.js.map +1 -0
- package/dist/{esm/llms → llms}/openai.d.ts +5 -2
- package/dist/{cjs/llms → llms}/openai.js +49 -4
- package/dist/llms/openai.js.map +1 -0
- package/dist/{cjs/llms/tests/openai.test.d.ts → llms/tests/cohere.test.d.ts} +0 -0
- package/dist/llms/tests/cohere.test.js +10 -0
- package/dist/llms/tests/cohere.test.js.map +1 -0
- package/dist/{esm/embeddings → llms}/tests/openai.test.d.ts +0 -0
- package/dist/{cjs/llms → llms}/tests/openai.test.js +0 -0
- package/dist/llms/tests/openai.test.js.map +1 -0
- package/dist/{cjs/memory → memory}/base.d.ts +0 -0
- package/dist/{cjs/memory → memory}/base.js +0 -0
- package/dist/memory/base.js.map +1 -0
- package/dist/{cjs/memory → memory}/buffer_memory.d.ts +0 -0
- package/dist/{cjs/memory → memory}/buffer_memory.js +0 -0
- package/dist/memory/buffer_memory.js.map +1 -0
- package/dist/{cjs/memory → memory}/index.d.ts +0 -0
- package/dist/{cjs/memory → memory}/index.js +0 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/{cjs/memory → memory}/tests/buffer_memory.test.d.ts +0 -0
- package/dist/{cjs/memory → memory}/tests/buffer_memory.test.js +0 -0
- package/dist/memory/tests/buffer_memory.test.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/base.d.ts +0 -0
- package/dist/{cjs/prompt → prompts}/base.js +0 -0
- package/dist/prompts/base.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/few_shot.d.ts +0 -0
- package/dist/{cjs/prompt → prompts}/few_shot.js +0 -0
- package/dist/prompts/few_shot.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/index.d.ts +0 -0
- package/dist/{cjs/prompt → prompts}/index.js +0 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/load.d.ts +2 -2
- package/dist/{cjs/prompt → prompts}/load.js +2 -2
- package/dist/prompts/load.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/parser.d.ts +0 -0
- package/dist/{cjs/prompt → prompts}/parser.js +0 -0
- package/dist/prompts/parser.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/prompt.d.ts +1 -1
- package/dist/{cjs/prompt → prompts}/prompt.js +1 -1
- package/dist/prompts/prompt.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/template.d.ts +0 -0
- package/dist/{cjs/prompt → prompts}/template.js +0 -0
- package/dist/prompts/template.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/tests/load.test.d.ts +0 -0
- package/dist/{cjs/prompt → prompts}/tests/load.test.js +0 -0
- package/dist/prompts/tests/load.test.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/tests/template.test.d.ts +0 -0
- package/dist/{cjs/prompt → prompts}/tests/template.test.js +0 -0
- package/dist/prompts/tests/template.test.js.map +1 -0
- package/dist/{cjs/text_splitter.d.ts → text_splitter.d.ts} +0 -0
- package/dist/{cjs/text_splitter.js → text_splitter.js} +3 -1
- package/dist/text_splitter.js.map +1 -0
- package/dist/{cjs/util → util}/hub.d.ts +0 -0
- package/dist/{cjs/util → util}/hub.js +0 -0
- package/dist/util/hub.js.map +1 -0
- package/dist/{cjs/util → util}/index.d.ts +0 -0
- package/dist/{cjs/util → util}/index.js +0 -0
- package/dist/util/index.js.map +1 -0
- package/dist/{esm/vectorstores → vectorstores}/base.d.ts +1 -1
- package/dist/{cjs/vectorstores → vectorstores}/base.js +1 -1
- package/dist/vectorstores/base.js.map +1 -0
- package/dist/{cjs/vectorstores → vectorstores}/hnswlib.d.ts +0 -0
- package/dist/{cjs/vectorstores → vectorstores}/hnswlib.js +6 -3
- package/dist/vectorstores/hnswlib.js.map +1 -0
- package/dist/{cjs/vectorstores → vectorstores}/index.d.ts +0 -0
- package/dist/{cjs/vectorstores → vectorstores}/index.js +0 -0
- package/dist/vectorstores/index.js.map +1 -0
- package/dist/{cjs/vectorstores → vectorstores}/tests/hnswlib.test.d.ts +0 -0
- package/dist/{cjs/vectorstores → vectorstores}/tests/hnswlib.test.js +6 -6
- package/dist/vectorstores/tests/hnswlib.test.js.map +1 -0
- package/document.d.ts +1 -0
- package/document.js +1 -0
- package/embeddings.d.ts +1 -0
- package/embeddings.js +1 -0
- package/llms.d.ts +1 -0
- package/llms.js +1 -0
- package/memory.d.ts +1 -0
- package/memory.js +1 -0
- package/package.json +48 -65
- package/prompts.d.ts +1 -0
- package/prompts.js +1 -0
- package/text_splitter.d.ts +1 -0
- package/text_splitter.js +1 -0
- package/tools.d.ts +1 -0
- package/tools.js +1 -0
- package/vectorstores.d.ts +1 -0
- package/vectorstores.js +1 -0
- package/dist/cjs/agents/agent.js.map +0 -1
- package/dist/cjs/agents/executor.js.map +0 -1
- package/dist/cjs/agents/helpers.js.map +0 -1
- package/dist/cjs/agents/index.js.map +0 -1
- package/dist/cjs/agents/initialize.js.map +0 -1
- package/dist/cjs/agents/load.js.map +0 -1
- package/dist/cjs/agents/mrkl/index.js.map +0 -1
- package/dist/cjs/agents/mrkl/prompt.js.map +0 -1
- package/dist/cjs/agents/tests/agent.test.js.map +0 -1
- package/dist/cjs/agents/tests/calculator.test.js.map +0 -1
- package/dist/cjs/agents/tools/base.js.map +0 -1
- package/dist/cjs/agents/tools/calculator.js.map +0 -1
- package/dist/cjs/agents/tools/index.js.map +0 -1
- package/dist/cjs/agents/tools/serpapi.js.map +0 -1
- package/dist/cjs/cache.js.map +0 -1
- package/dist/cjs/chains/base.js.map +0 -1
- package/dist/cjs/chains/chat_vector_db_chain.js.map +0 -1
- package/dist/cjs/chains/combine_docs_chain.js.map +0 -1
- package/dist/cjs/chains/conversation.d.ts +0 -12
- package/dist/cjs/chains/conversation.js.map +0 -1
- package/dist/cjs/chains/index.d.ts +0 -7
- package/dist/cjs/chains/index.js.map +0 -1
- package/dist/cjs/chains/llm_chain.d.ts +0 -65
- package/dist/cjs/chains/llm_chain.js.map +0 -1
- package/dist/cjs/chains/llm_math_chain.d.ts +0 -0
- package/dist/cjs/chains/llm_math_chain.js +0 -129
- package/dist/cjs/chains/llm_math_chain.js.map +0 -1
- package/dist/cjs/chains/load.js.map +0 -1
- package/dist/cjs/chains/question_answering/load.js.map +0 -1
- package/dist/cjs/chains/question_answering/stuff_prompts.js.map +0 -1
- package/dist/cjs/chains/question_answering/tests/load.test.js.map +0 -1
- package/dist/cjs/chains/tests/chat_vector_db_qa_chain.test.js.map +0 -1
- package/dist/cjs/chains/tests/combine_docs_chain.test.js.map +0 -1
- package/dist/cjs/chains/tests/llm_chain.test.js.map +0 -1
- package/dist/cjs/chains/tests/vector_db_qa_chain.test.js.map +0 -1
- package/dist/cjs/chains/vector_db_qa.js.map +0 -1
- package/dist/cjs/document.js.map +0 -1
- package/dist/cjs/embeddings/base.js.map +0 -1
- package/dist/cjs/embeddings/index.js.map +0 -1
- package/dist/cjs/embeddings/openai.js.map +0 -1
- package/dist/cjs/embeddings/tests/openai.test.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/llms/base.js.map +0 -1
- package/dist/cjs/llms/index.js.map +0 -1
- package/dist/cjs/llms/load.js.map +0 -1
- package/dist/cjs/llms/openai.d.ts +0 -125
- package/dist/cjs/llms/openai.js.map +0 -1
- package/dist/cjs/llms/tests/openai.test.js.map +0 -1
- package/dist/cjs/memory/base.js.map +0 -1
- package/dist/cjs/memory/buffer_memory.js.map +0 -1
- package/dist/cjs/memory/index.js.map +0 -1
- package/dist/cjs/memory/tests/buffer_memory.test.js.map +0 -1
- package/dist/cjs/prompt/base.js.map +0 -1
- package/dist/cjs/prompt/few_shot.js.map +0 -1
- package/dist/cjs/prompt/index.js.map +0 -1
- package/dist/cjs/prompt/load.js.map +0 -1
- package/dist/cjs/prompt/parser.js.map +0 -1
- package/dist/cjs/prompt/prompt.js.map +0 -1
- package/dist/cjs/prompt/template.js.map +0 -1
- package/dist/cjs/prompt/tests/load.test.js.map +0 -1
- package/dist/cjs/prompt/tests/template.test.js.map +0 -1
- package/dist/cjs/text_splitter.js.map +0 -1
- package/dist/cjs/text_splitter.test.d.ts +0 -1
- package/dist/cjs/text_splitter.test.js +0 -87
- package/dist/cjs/text_splitter.test.js.map +0 -1
- package/dist/cjs/util/hub.js.map +0 -1
- package/dist/cjs/util/index.js.map +0 -1
- package/dist/cjs/vectorstores/base.d.ts +0 -18
- package/dist/cjs/vectorstores/base.js.map +0 -1
- package/dist/cjs/vectorstores/hnswlib.js.map +0 -1
- package/dist/cjs/vectorstores/index.js.map +0 -1
- package/dist/cjs/vectorstores/tests/hnswlib.test.js.map +0 -1
- package/dist/esm/agents/agent.d.ts +0 -96
- package/dist/esm/agents/agent.js +0 -146
- package/dist/esm/agents/agent.js.map +0 -1
- package/dist/esm/agents/executor.d.ts +0 -32
- package/dist/esm/agents/executor.js +0 -95
- package/dist/esm/agents/executor.js.map +0 -1
- package/dist/esm/agents/helpers.d.ts +0 -3
- package/dist/esm/agents/helpers.js +0 -17
- package/dist/esm/agents/helpers.js.map +0 -1
- package/dist/esm/agents/index.d.ts +0 -7
- package/dist/esm/agents/index.js +0 -7
- package/dist/esm/agents/index.js.map +0 -1
- package/dist/esm/agents/initialize.d.ts +0 -4
- package/dist/esm/agents/initialize.js +0 -17
- package/dist/esm/agents/initialize.js.map +0 -1
- package/dist/esm/agents/load.d.ts +0 -6
- package/dist/esm/agents/load.js +0 -15
- package/dist/esm/agents/load.js.map +0 -1
- package/dist/esm/agents/mrkl/index.d.ts +0 -50
- package/dist/esm/agents/mrkl/index.js +0 -98
- package/dist/esm/agents/mrkl/index.js.map +0 -1
- package/dist/esm/agents/mrkl/prompt.d.ts +0 -3
- package/dist/esm/agents/mrkl/prompt.js +0 -16
- package/dist/esm/agents/mrkl/prompt.js.map +0 -1
- package/dist/esm/agents/tests/agent.test.d.ts +0 -1
- package/dist/esm/agents/tests/agent.test.js +0 -33
- package/dist/esm/agents/tests/agent.test.js.map +0 -1
- package/dist/esm/agents/tests/calculator.test.d.ts +0 -1
- package/dist/esm/agents/tests/calculator.test.js +0 -28
- package/dist/esm/agents/tests/calculator.test.js.map +0 -1
- package/dist/esm/agents/tools/base.d.ts +0 -6
- package/dist/esm/agents/tools/base.js +0 -11
- package/dist/esm/agents/tools/base.js.map +0 -1
- package/dist/esm/agents/tools/calculator.d.ts +0 -6
- package/dist/esm/agents/tools/calculator.js +0 -29
- package/dist/esm/agents/tools/calculator.js.map +0 -1
- package/dist/esm/agents/tools/index.d.ts +0 -3
- package/dist/esm/agents/tools/index.js +0 -4
- package/dist/esm/agents/tools/index.js.map +0 -1
- package/dist/esm/agents/tools/llm-math.d.ts +0 -0
- package/dist/esm/agents/tools/llm-math.js +0 -2
- package/dist/esm/agents/tools/llm-math.js.map +0 -1
- package/dist/esm/agents/tools/serpapi.d.ts +0 -18
- package/dist/esm/agents/tools/serpapi.js +0 -89
- package/dist/esm/agents/tools/serpapi.js.map +0 -1
- package/dist/esm/agents/types.d.ts +0 -25
- package/dist/esm/agents/types.js +0 -2
- package/dist/esm/agents/types.js.map +0 -1
- package/dist/esm/cache.d.ts +0 -11
- package/dist/esm/cache.js +0 -22
- package/dist/esm/cache.js.map +0 -1
- package/dist/esm/chains/base.d.ts +0 -42
- package/dist/esm/chains/base.js +0 -57
- package/dist/esm/chains/base.js.map +0 -1
- package/dist/esm/chains/chat_vector_db_chain.d.ts +0 -41
- package/dist/esm/chains/chat_vector_db_chain.js +0 -128
- package/dist/esm/chains/chat_vector_db_chain.js.map +0 -1
- package/dist/esm/chains/combine_docs_chain.d.ts +0 -35
- package/dist/esm/chains/combine_docs_chain.js +0 -71
- package/dist/esm/chains/combine_docs_chain.js.map +0 -1
- package/dist/esm/chains/conversation.js +0 -25
- package/dist/esm/chains/conversation.js.map +0 -1
- package/dist/esm/chains/index.js +0 -8
- package/dist/esm/chains/index.js.map +0 -1
- package/dist/esm/chains/llm_chain.js +0 -110
- package/dist/esm/chains/llm_chain.js.map +0 -1
- package/dist/esm/chains/llm_math_chain.d.ts +0 -0
- package/dist/esm/chains/llm_math_chain.js +0 -129
- package/dist/esm/chains/llm_math_chain.js.map +0 -1
- package/dist/esm/chains/load.d.ts +0 -21
- package/dist/esm/chains/load.js +0 -33
- package/dist/esm/chains/load.js.map +0 -1
- package/dist/esm/chains/question_answering/load.d.ts +0 -3
- package/dist/esm/chains/question_answering/load.js +0 -9
- package/dist/esm/chains/question_answering/load.js.map +0 -1
- package/dist/esm/chains/question_answering/stuff_prompts.d.ts +0 -2
- package/dist/esm/chains/question_answering/stuff_prompts.js +0 -7
- package/dist/esm/chains/question_answering/stuff_prompts.js.map +0 -1
- package/dist/esm/chains/question_answering/tests/load.test.d.ts +0 -1
- package/dist/esm/chains/question_answering/tests/load.test.js +0 -12
- package/dist/esm/chains/question_answering/tests/load.test.js.map +0 -1
- package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.d.ts +0 -1
- package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.js +0 -33
- package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.js.map +0 -1
- package/dist/esm/chains/tests/combine_docs_chain.test.d.ts +0 -1
- package/dist/esm/chains/tests/combine_docs_chain.test.js +0 -26
- package/dist/esm/chains/tests/combine_docs_chain.test.js.map +0 -1
- package/dist/esm/chains/tests/llm_chain.test.d.ts +0 -1
- package/dist/esm/chains/tests/llm_chain.test.js +0 -27
- package/dist/esm/chains/tests/llm_chain.test.js.map +0 -1
- package/dist/esm/chains/tests/vector_db_qa_chain.test.d.ts +0 -1
- package/dist/esm/chains/tests/vector_db_qa_chain.test.js +0 -44
- package/dist/esm/chains/tests/vector_db_qa_chain.test.js.map +0 -1
- package/dist/esm/chains/vector_db_qa.d.ts +0 -36
- package/dist/esm/chains/vector_db_qa.js +0 -81
- package/dist/esm/chains/vector_db_qa.js.map +0 -1
- package/dist/esm/document.d.ts +0 -13
- package/dist/esm/document.js +0 -24
- package/dist/esm/document.js.map +0 -1
- package/dist/esm/embeddings/base.d.ts +0 -4
- package/dist/esm/embeddings/base.js +0 -3
- package/dist/esm/embeddings/base.js.map +0 -1
- package/dist/esm/embeddings/index.d.ts +0 -1
- package/dist/esm/embeddings/index.js +0 -2
- package/dist/esm/embeddings/index.js.map +0 -1
- package/dist/esm/embeddings/openai.d.ts +0 -20
- package/dist/esm/embeddings/openai.js +0 -82
- package/dist/esm/embeddings/openai.js.map +0 -1
- package/dist/esm/embeddings/tests/openai.test.js +0 -15
- package/dist/esm/embeddings/tests/openai.test.js.map +0 -1
- package/dist/esm/index.d.ts +0 -3
- package/dist/esm/index.js +0 -4
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/llms/base.d.ts +0 -64
- package/dist/esm/llms/base.js +0 -159
- package/dist/esm/llms/base.js.map +0 -1
- package/dist/esm/llms/index.d.ts +0 -37
- package/dist/esm/llms/index.js +0 -4
- package/dist/esm/llms/index.js.map +0 -1
- package/dist/esm/llms/load.d.ts +0 -11
- package/dist/esm/llms/load.js +0 -13
- package/dist/esm/llms/load.js.map +0 -1
- package/dist/esm/llms/openai.js +0 -236
- package/dist/esm/llms/openai.js.map +0 -1
- package/dist/esm/llms/tests/openai.test.d.ts +0 -1
- package/dist/esm/llms/tests/openai.test.js +0 -8
- package/dist/esm/llms/tests/openai.test.js.map +0 -1
- package/dist/esm/memory/base.d.ts +0 -7
- package/dist/esm/memory/base.js +0 -3
- package/dist/esm/memory/base.js.map +0 -1
- package/dist/esm/memory/buffer_memory.d.ts +0 -15
- package/dist/esm/memory/buffer_memory.js +0 -53
- package/dist/esm/memory/buffer_memory.js.map +0 -1
- package/dist/esm/memory/index.d.ts +0 -2
- package/dist/esm/memory/index.js +0 -3
- package/dist/esm/memory/index.js.map +0 -1
- package/dist/esm/memory/tests/buffer_memory.test.d.ts +0 -1
- package/dist/esm/memory/tests/buffer_memory.test.js +0 -15
- package/dist/esm/memory/tests/buffer_memory.test.js.map +0 -1
- package/dist/esm/prompt/base.d.ts +0 -58
- package/dist/esm/prompt/base.js +0 -49
- package/dist/esm/prompt/base.js.map +0 -1
- package/dist/esm/prompt/few_shot.d.ts +0 -82
- package/dist/esm/prompt/few_shot.js +0 -133
- package/dist/esm/prompt/few_shot.js.map +0 -1
- package/dist/esm/prompt/index.d.ts +0 -4
- package/dist/esm/prompt/index.js +0 -5
- package/dist/esm/prompt/index.js.map +0 -1
- package/dist/esm/prompt/load.d.ts +0 -19
- package/dist/esm/prompt/load.js +0 -29
- package/dist/esm/prompt/load.js.map +0 -1
- package/dist/esm/prompt/parser.d.ts +0 -70
- package/dist/esm/prompt/parser.js +0 -107
- package/dist/esm/prompt/parser.js.map +0 -1
- package/dist/esm/prompt/prompt.d.ts +0 -76
- package/dist/esm/prompt/prompt.js +0 -107
- package/dist/esm/prompt/prompt.js.map +0 -1
- package/dist/esm/prompt/template.d.ts +0 -16
- package/dist/esm/prompt/template.js +0 -80
- package/dist/esm/prompt/template.js.map +0 -1
- package/dist/esm/prompt/tests/load.test.d.ts +0 -1
- package/dist/esm/prompt/tests/load.test.js +0 -16
- package/dist/esm/prompt/tests/load.test.js.map +0 -1
- package/dist/esm/prompt/tests/template.test.d.ts +0 -1
- package/dist/esm/prompt/tests/template.test.js +0 -25
- package/dist/esm/prompt/tests/template.test.js.map +0 -1
- package/dist/esm/text_splitter.d.ts +0 -32
- package/dist/esm/text_splitter.js +0 -160
- package/dist/esm/text_splitter.js.map +0 -1
- package/dist/esm/text_splitter.test.d.ts +0 -1
- package/dist/esm/text_splitter.test.js +0 -85
- package/dist/esm/text_splitter.test.js.map +0 -1
- package/dist/esm/util/hub.d.ts +0 -2
- package/dist/esm/util/hub.js +0 -34
- package/dist/esm/util/hub.js.map +0 -1
- package/dist/esm/util/index.d.ts +0 -13
- package/dist/esm/util/index.js +0 -61
- package/dist/esm/util/index.js.map +0 -1
- package/dist/esm/vectorstores/base.js +0 -33
- package/dist/esm/vectorstores/base.js.map +0 -1
- package/dist/esm/vectorstores/hnswlib.d.ts +0 -19
- package/dist/esm/vectorstores/hnswlib.js +0 -119
- package/dist/esm/vectorstores/hnswlib.js.map +0 -1
- package/dist/esm/vectorstores/index.d.ts +0 -1
- package/dist/esm/vectorstores/index.js +0 -2
- package/dist/esm/vectorstores/index.js.map +0 -1
- package/dist/esm/vectorstores/tests/hnswlib.test.d.ts +0 -1
- package/dist/esm/vectorstores/tests/hnswlib.test.js +0 -39
- package/dist/esm/vectorstores/tests/hnswlib.test.js.map +0 -1
package/dist/esm/chains/base.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { LLMChain, StuffDocumentsChain, VectorDBQAChain, ChatVectorDBQAChain } from "./index";
|
|
2
|
-
const chainClasses = [LLMChain, StuffDocumentsChain, VectorDBQAChain, ChatVectorDBQAChain];
|
|
3
|
-
/**
|
|
4
|
-
* Base interface that all chains must implement.
|
|
5
|
-
*/
|
|
6
|
-
export class BaseChain {
|
|
7
|
-
constructor() {
|
|
8
|
-
Object.defineProperty(this, "memory", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
configurable: true,
|
|
11
|
-
writable: true,
|
|
12
|
-
value: void 0
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Run the core logic of this chain and add to output if desired.
|
|
17
|
-
*
|
|
18
|
-
* Wraps {@link _call} and handles memory.
|
|
19
|
-
*/
|
|
20
|
-
async call(values) {
|
|
21
|
-
const fullValues = structuredClone(values);
|
|
22
|
-
if (!(this.memory == null)) {
|
|
23
|
-
const newValues = await this.memory.loadMemoryVariables(values);
|
|
24
|
-
for (const [key, value] of Object.entries(newValues)) {
|
|
25
|
-
fullValues[key] = value;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
// TODO(sean) add callback support
|
|
29
|
-
const outputValues = this._call(fullValues);
|
|
30
|
-
if (!(this.memory == null)) {
|
|
31
|
-
this.memory.saveContext(values, outputValues);
|
|
32
|
-
}
|
|
33
|
-
return outputValues;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Call the chain on all inputs in the list
|
|
37
|
-
*/
|
|
38
|
-
apply(inputs) {
|
|
39
|
-
return inputs.map(this.call);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Load a chain from a json-like object describing it.
|
|
43
|
-
*/
|
|
44
|
-
static deserialize(data, values = {}) {
|
|
45
|
-
switch (data._type) {
|
|
46
|
-
case "llm_chain":
|
|
47
|
-
return LLMChain.deserialize(data);
|
|
48
|
-
case "stuff_documents_chain":
|
|
49
|
-
return StuffDocumentsChain.deserialize(data);
|
|
50
|
-
case "vector_db_qa":
|
|
51
|
-
return VectorDBQAChain.deserialize(data, values);
|
|
52
|
-
default:
|
|
53
|
-
throw new Error(`Invalid prompt type in config: ${data._type}`);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../chains/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAQ9F,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAU3F;;GAEG;AACH,MAAM,OAAgB,SAAS;IAA/B;QACE;;;;;WAAoB;IAmEtB,CAAC;IAlDC;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACpD,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACzB;SACF;QACD,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;SAC/C;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAqB;QACzB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,IAAyB,EACzB,SAAqB,EAAE;QAEvB,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,WAAW;gBACd,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,uBAAuB;gBAC1B,OAAO,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,cAAc;gBACjB,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD;gBACE,MAAM,IAAI,KAAK,CACb,kCACG,IAA4B,CAAC,KAChC,EAAE,CACH,CAAC;SACL;IACH,CAAC;CACF"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { BaseChain, ChainValues, SerializedStuffDocumentsChain, StuffDocumentsChain, SerializedLLMChain, LLMChain } from "./index";
|
|
2
|
-
import { VectorStore } from "../vectorstores/base";
|
|
3
|
-
import { BaseLLM } from "../llms";
|
|
4
|
-
export type LoadValues = Record<string, any>;
|
|
5
|
-
export interface ChatVectorDBQAChainInput {
|
|
6
|
-
vectorstore: VectorStore;
|
|
7
|
-
k: number;
|
|
8
|
-
combineDocumentsChain: StuffDocumentsChain;
|
|
9
|
-
questionGeneratorChain: LLMChain;
|
|
10
|
-
outputKey: string;
|
|
11
|
-
inputKey: string;
|
|
12
|
-
}
|
|
13
|
-
export type SerializedChatVectorDBQAChain = {
|
|
14
|
-
_type: "chat-vector-db";
|
|
15
|
-
k: number;
|
|
16
|
-
combine_documents_chain: SerializedStuffDocumentsChain;
|
|
17
|
-
combine_documents_chain_path?: string;
|
|
18
|
-
question_generator: SerializedLLMChain;
|
|
19
|
-
};
|
|
20
|
-
export declare class ChatVectorDBQAChain extends BaseChain implements ChatVectorDBQAChainInput {
|
|
21
|
-
k: number;
|
|
22
|
-
inputKey: string;
|
|
23
|
-
chatHistoryKey: string;
|
|
24
|
-
outputKey: string;
|
|
25
|
-
vectorstore: VectorStore;
|
|
26
|
-
combineDocumentsChain: StuffDocumentsChain;
|
|
27
|
-
questionGeneratorChain: LLMChain;
|
|
28
|
-
constructor(fields: {
|
|
29
|
-
vectorstore: VectorStore;
|
|
30
|
-
combineDocumentsChain: StuffDocumentsChain;
|
|
31
|
-
questionGeneratorChain: LLMChain;
|
|
32
|
-
inputKey?: string;
|
|
33
|
-
outputKey?: string;
|
|
34
|
-
k?: number;
|
|
35
|
-
});
|
|
36
|
-
_call(values: ChainValues): Promise<ChainValues>;
|
|
37
|
-
_chainType(): "chat-vector-db";
|
|
38
|
-
static deserialize(data: SerializedChatVectorDBQAChain, values: LoadValues): Promise<ChatVectorDBQAChain>;
|
|
39
|
-
serialize(): SerializedChatVectorDBQAChain;
|
|
40
|
-
static fromLLM(llm: BaseLLM, vectorstore: VectorStore): ChatVectorDBQAChain;
|
|
41
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { BaseChain, StuffDocumentsChain, loadQAChain, LLMChain, } from "./index";
|
|
2
|
-
import { PromptTemplate } from "../prompt";
|
|
3
|
-
import { resolveConfigFromFile } from "../util";
|
|
4
|
-
const question_generator_template = `Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
|
|
5
|
-
|
|
6
|
-
Chat History:
|
|
7
|
-
{chat_history}
|
|
8
|
-
Follow Up Input: {question}
|
|
9
|
-
Standalone question:`;
|
|
10
|
-
const question_generator_prompt = PromptTemplate.fromTemplate(question_generator_template);
|
|
11
|
-
const qa_template = `Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.
|
|
12
|
-
|
|
13
|
-
{context}
|
|
14
|
-
|
|
15
|
-
Question: {question}
|
|
16
|
-
Helpful Answer:`;
|
|
17
|
-
const qa_prompt = PromptTemplate.fromTemplate(qa_template);
|
|
18
|
-
export class ChatVectorDBQAChain extends BaseChain {
|
|
19
|
-
constructor(fields) {
|
|
20
|
-
var _a, _b, _c;
|
|
21
|
-
super();
|
|
22
|
-
Object.defineProperty(this, "k", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
configurable: true,
|
|
25
|
-
writable: true,
|
|
26
|
-
value: 4
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(this, "inputKey", {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
configurable: true,
|
|
31
|
-
writable: true,
|
|
32
|
-
value: "question"
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(this, "chatHistoryKey", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true,
|
|
38
|
-
value: "chat_history"
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(this, "outputKey", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
writable: true,
|
|
44
|
-
value: "result"
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(this, "vectorstore", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
writable: true,
|
|
50
|
-
value: void 0
|
|
51
|
-
});
|
|
52
|
-
Object.defineProperty(this, "combineDocumentsChain", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: true,
|
|
55
|
-
writable: true,
|
|
56
|
-
value: void 0
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(this, "questionGeneratorChain", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
configurable: true,
|
|
61
|
-
writable: true,
|
|
62
|
-
value: void 0
|
|
63
|
-
});
|
|
64
|
-
this.vectorstore = fields.vectorstore;
|
|
65
|
-
this.combineDocumentsChain = fields.combineDocumentsChain;
|
|
66
|
-
this.questionGeneratorChain = fields.questionGeneratorChain;
|
|
67
|
-
this.inputKey = (_a = fields.inputKey) !== null && _a !== void 0 ? _a : this.inputKey;
|
|
68
|
-
this.outputKey = (_b = fields.outputKey) !== null && _b !== void 0 ? _b : this.outputKey;
|
|
69
|
-
this.k = (_c = fields.k) !== null && _c !== void 0 ? _c : this.k;
|
|
70
|
-
}
|
|
71
|
-
async _call(values) {
|
|
72
|
-
if (!(this.inputKey in values)) {
|
|
73
|
-
throw new Error(`Question key ${this.inputKey} not found.`);
|
|
74
|
-
}
|
|
75
|
-
if (!(this.chatHistoryKey in values)) {
|
|
76
|
-
throw new Error(`chat history key ${this.inputKey} not found.`);
|
|
77
|
-
}
|
|
78
|
-
const question = values[this.inputKey];
|
|
79
|
-
const chatHistory = values[this.chatHistoryKey];
|
|
80
|
-
let newQuestion = question;
|
|
81
|
-
if (chatHistory.length > 0) {
|
|
82
|
-
const result = await this.questionGeneratorChain.call({ question, chat_history: chatHistory });
|
|
83
|
-
const keys = Object.keys(result);
|
|
84
|
-
if (keys.length === 1) {
|
|
85
|
-
newQuestion = result[keys[0]];
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
throw new Error("Return from llm chain has multiple values, only single values supported.");
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
const docs = await this.vectorstore.similaritySearch(newQuestion, this.k);
|
|
92
|
-
const inputs = { question, input_documents: docs, chat_history: chatHistory };
|
|
93
|
-
const result = await this.combineDocumentsChain.call(inputs);
|
|
94
|
-
return result;
|
|
95
|
-
}
|
|
96
|
-
_chainType() {
|
|
97
|
-
return "chat-vector-db";
|
|
98
|
-
}
|
|
99
|
-
static async deserialize(data, values) {
|
|
100
|
-
if (!("vectorstore" in values)) {
|
|
101
|
-
throw new Error(`Need to pass in a vectorstore to deserialize VectorDBQAChain`);
|
|
102
|
-
}
|
|
103
|
-
const { vectorstore } = values;
|
|
104
|
-
const serializedCombineDocumentsChain = resolveConfigFromFile("combine_documents_chain", data);
|
|
105
|
-
const serializedQuestionGeneratorChain = resolveConfigFromFile("question_generator", data);
|
|
106
|
-
return new ChatVectorDBQAChain({
|
|
107
|
-
combineDocumentsChain: await StuffDocumentsChain.deserialize(serializedCombineDocumentsChain),
|
|
108
|
-
questionGeneratorChain: await LLMChain.deserialize(serializedQuestionGeneratorChain),
|
|
109
|
-
k: data.k,
|
|
110
|
-
vectorstore,
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
serialize() {
|
|
114
|
-
return {
|
|
115
|
-
_type: this._chainType(),
|
|
116
|
-
combine_documents_chain: this.combineDocumentsChain.serialize(),
|
|
117
|
-
question_generator: this.questionGeneratorChain.serialize(),
|
|
118
|
-
k: this.k,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
static fromLLM(llm, vectorstore) {
|
|
122
|
-
const qaChain = loadQAChain(llm, qa_prompt);
|
|
123
|
-
const questionGeneratorChain = new LLMChain({ prompt: question_generator_prompt, llm });
|
|
124
|
-
const instance = new this({ vectorstore, combineDocumentsChain: qaChain, questionGeneratorChain });
|
|
125
|
-
return instance;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=chat_vector_db_chain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat_vector_db_chain.js","sourceRoot":"","sources":["../../../chains/chat_vector_db_chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { BaseChain, ChainValues, LLMChain, SerializedLLMChain } from "./index";
|
|
2
|
-
export interface StuffDocumentsChainInput {
|
|
3
|
-
/** LLM Wrapper to use after formatting documents */
|
|
4
|
-
llmChain: LLMChain;
|
|
5
|
-
inputKey: string;
|
|
6
|
-
outputKey: string;
|
|
7
|
-
/** Variable name in the LLM chain to put the documents in */
|
|
8
|
-
documentVariableName: string;
|
|
9
|
-
}
|
|
10
|
-
export type SerializedStuffDocumentsChain = {
|
|
11
|
-
_type: "stuff_documents_chain";
|
|
12
|
-
llm_chain?: SerializedLLMChain;
|
|
13
|
-
llm_chain_path?: string;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Chain that combines documents by stuffing into context.
|
|
17
|
-
* @augments BaseChain
|
|
18
|
-
* @augments StuffDocumentsChainInput
|
|
19
|
-
*/
|
|
20
|
-
export declare class StuffDocumentsChain extends BaseChain implements StuffDocumentsChainInput {
|
|
21
|
-
llmChain: LLMChain;
|
|
22
|
-
inputKey: string;
|
|
23
|
-
outputKey: string;
|
|
24
|
-
documentVariableName: string;
|
|
25
|
-
constructor(fields: {
|
|
26
|
-
llmChain: LLMChain;
|
|
27
|
-
inputKey?: string;
|
|
28
|
-
outputKey?: string;
|
|
29
|
-
documentVariableName?: string;
|
|
30
|
-
});
|
|
31
|
-
_call(values: ChainValues): Promise<ChainValues>;
|
|
32
|
-
_chainType(): "stuff_documents_chain";
|
|
33
|
-
static deserialize(data: SerializedStuffDocumentsChain): Promise<StuffDocumentsChain>;
|
|
34
|
-
serialize(): SerializedStuffDocumentsChain;
|
|
35
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { BaseChain, LLMChain } from "./index";
|
|
2
|
-
import { resolveConfigFromFile } from "../util";
|
|
3
|
-
/**
|
|
4
|
-
* Chain that combines documents by stuffing into context.
|
|
5
|
-
* @augments BaseChain
|
|
6
|
-
* @augments StuffDocumentsChainInput
|
|
7
|
-
*/
|
|
8
|
-
export class StuffDocumentsChain extends BaseChain {
|
|
9
|
-
constructor(fields) {
|
|
10
|
-
var _a, _b, _c;
|
|
11
|
-
super();
|
|
12
|
-
Object.defineProperty(this, "llmChain", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true,
|
|
16
|
-
value: void 0
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(this, "inputKey", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true,
|
|
22
|
-
value: "input_documents"
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(this, "outputKey", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
configurable: true,
|
|
27
|
-
writable: true,
|
|
28
|
-
value: "output_text"
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(this, "documentVariableName", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
configurable: true,
|
|
33
|
-
writable: true,
|
|
34
|
-
value: "context"
|
|
35
|
-
});
|
|
36
|
-
this.llmChain = fields.llmChain;
|
|
37
|
-
this.documentVariableName =
|
|
38
|
-
(_a = fields.documentVariableName) !== null && _a !== void 0 ? _a : this.documentVariableName;
|
|
39
|
-
this.inputKey = (_b = fields.inputKey) !== null && _b !== void 0 ? _b : this.inputKey;
|
|
40
|
-
this.outputKey = (_c = fields.outputKey) !== null && _c !== void 0 ? _c : this.outputKey;
|
|
41
|
-
}
|
|
42
|
-
async _call(values) {
|
|
43
|
-
if (!(this.inputKey in values)) {
|
|
44
|
-
throw new Error(`Document key ${this.inputKey} not found.`);
|
|
45
|
-
}
|
|
46
|
-
const { [this.inputKey]: docs, ...rest } = values;
|
|
47
|
-
const texts = docs.map(({ pageContent }) => pageContent);
|
|
48
|
-
const text = texts.join("\n\n");
|
|
49
|
-
const result = await this.llmChain.call({
|
|
50
|
-
...rest,
|
|
51
|
-
[this.documentVariableName]: text,
|
|
52
|
-
});
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
_chainType() {
|
|
56
|
-
return "stuff_documents_chain";
|
|
57
|
-
}
|
|
58
|
-
static async deserialize(data) {
|
|
59
|
-
const SerializedLLMChain = resolveConfigFromFile("llm_chain", data);
|
|
60
|
-
return new StuffDocumentsChain({
|
|
61
|
-
llmChain: await LLMChain.deserialize(SerializedLLMChain),
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
serialize() {
|
|
65
|
-
return {
|
|
66
|
-
_type: this._chainType(),
|
|
67
|
-
llm_chain: this.llmChain.serialize(),
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=combine_docs_chain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combine_docs_chain.js","sourceRoot":"","sources":["../../../chains/combine_docs_chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,QAAQ,EAAsB,MAAM,SAAS,CAAC;AAI/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAiBhD;;;;GAIG;AACH,MAAM,OAAO,mBACX,SAAQ,SAAS;IAWjB,YAAY,MAKX;;QACC,KAAK,EAAE,CAAC;QAdV;;;;;WAAmB;QAEnB;;;;mBAAW,iBAAiB;WAAC;QAE7B;;;;mBAAY,aAAa;WAAC;QAE1B;;;;mBAAuB,SAAS;WAAC;QAS/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,oBAAoB;YACvB,MAAA,MAAM,CAAC,oBAAoB,mCAAI,IAAI,CAAC,oBAAoB,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAC;SAC7D;QACD,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAClD,MAAM,KAAK,GAAI,IAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtC,GAAG,IAAI;YACP,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,IAAI;SAClC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU;QACR,OAAO,uBAAgC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAmC;QAC1D,MAAM,kBAAkB,GAAG,qBAAqB,CAG9C,WAAW,EAAE,IAAI,CAAC,CAAC;QAErB,OAAO,IAAI,mBAAmB,CAAC;YAC7B,QAAQ,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;YACxB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;SACrC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { LLMChain } from "./llm_chain";
|
|
2
|
-
import { PromptTemplate } from "../prompt";
|
|
3
|
-
import { BufferMemory } from "../memory";
|
|
4
|
-
const defaultTemplate = `The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know.
|
|
5
|
-
|
|
6
|
-
Current conversation:
|
|
7
|
-
{history}
|
|
8
|
-
Human: {input}
|
|
9
|
-
AI:`;
|
|
10
|
-
const defaultPrompt = new PromptTemplate({
|
|
11
|
-
template: defaultTemplate,
|
|
12
|
-
inputVariables: ["history", "input"],
|
|
13
|
-
});
|
|
14
|
-
export class ConversationChain extends LLMChain {
|
|
15
|
-
constructor(fields) {
|
|
16
|
-
var _a, _b, _c;
|
|
17
|
-
super({
|
|
18
|
-
prompt: (_a = fields.prompt) !== null && _a !== void 0 ? _a : defaultPrompt,
|
|
19
|
-
llm: fields.llm,
|
|
20
|
-
outputKey: (_b = fields.outputKey) !== null && _b !== void 0 ? _b : "response",
|
|
21
|
-
});
|
|
22
|
-
this.memory = (_c = fields.memory) !== null && _c !== void 0 ? _c : new BufferMemory();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=conversation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../chains/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAsB,cAAc,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EAAc,YAAY,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,eAAe,GAAG;;;;;IAKpB,CAAC;AAEL,MAAM,aAAa,GAAG,IAAI,cAAc,CAAC;IACvC,QAAQ,EAAE,eAAe;IACzB,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,OAAO,iBAAkB,SAAQ,QAAQ;IAC7C,YAAY,MAKX;;QACC,KAAK,CAAC;YACJ,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,mCAAI,aAAa;YACtC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,UAAU;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,IAAI,YAAY,EAAE,CAAC;IACpD,CAAC;CACF"}
|
package/dist/esm/chains/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { BaseChain } from "./base";
|
|
2
|
-
export { LLMChain, ConversationChain } from "./llm_chain";
|
|
3
|
-
export { StuffDocumentsChain, } from "./combine_docs_chain";
|
|
4
|
-
export { ChatVectorDBQAChain } from "./chat_vector_db_chain";
|
|
5
|
-
export { VectorDBQAChain } from "./vector_db_qa";
|
|
6
|
-
export { loadChain } from "./load";
|
|
7
|
-
export { loadQAChain } from "./question_answering/load";
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../chains/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAsB,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAEL,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAgC,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAA6B,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { BaseChain } from "./index";
|
|
2
|
-
import { BaseLLM } from "../llms";
|
|
3
|
-
import { BufferMemory } from "../memory";
|
|
4
|
-
import { BasePromptTemplate, PromptTemplate } from "../prompt";
|
|
5
|
-
import { resolveConfigFromFile } from "../util";
|
|
6
|
-
/**
|
|
7
|
-
* Chain to run queries against LLMs.
|
|
8
|
-
* @augments BaseChain
|
|
9
|
-
* @augments LLMChainInput
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* import { LLMChain, OpenAI, PromptTemplate } from "langchain";
|
|
14
|
-
* const prompt = PromptTemplate.fromTemplate("Tell me a {adjective} joke");
|
|
15
|
-
* const llm = LLMChain({ llm: new OpenAI(), prompt });
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export class LLMChain extends BaseChain {
|
|
19
|
-
constructor(fields) {
|
|
20
|
-
var _a;
|
|
21
|
-
super();
|
|
22
|
-
Object.defineProperty(this, "prompt", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
configurable: true,
|
|
25
|
-
writable: true,
|
|
26
|
-
value: void 0
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(this, "llm", {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
configurable: true,
|
|
31
|
-
writable: true,
|
|
32
|
-
value: void 0
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(this, "outputKey", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true,
|
|
38
|
-
value: "text"
|
|
39
|
-
});
|
|
40
|
-
this.prompt = fields.prompt;
|
|
41
|
-
this.llm = fields.llm;
|
|
42
|
-
this.outputKey = (_a = fields.outputKey) !== null && _a !== void 0 ? _a : this.outputKey;
|
|
43
|
-
}
|
|
44
|
-
async _call(values) {
|
|
45
|
-
let stop;
|
|
46
|
-
if ("stop" in values && Array.isArray(values.stop)) {
|
|
47
|
-
stop = values.stop;
|
|
48
|
-
}
|
|
49
|
-
const formattedString = this.prompt.format(values);
|
|
50
|
-
const llmResult = await this.llm.call(formattedString, stop);
|
|
51
|
-
const result = { [this.outputKey]: llmResult };
|
|
52
|
-
return result;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Format prompt with values and pass to LLM
|
|
56
|
-
*
|
|
57
|
-
* @param values - keys to pass to prompt template
|
|
58
|
-
* @returns Completion from LLM.
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* ```ts
|
|
62
|
-
* llm.predict({ adjective: "funny" })
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
|
-
async predict(values) {
|
|
66
|
-
const output = await this.call(values);
|
|
67
|
-
return output[this.outputKey];
|
|
68
|
-
}
|
|
69
|
-
_chainType() {
|
|
70
|
-
return "llm_chain";
|
|
71
|
-
}
|
|
72
|
-
static async deserialize(data) {
|
|
73
|
-
const serializedLLM = resolveConfigFromFile("llm", data);
|
|
74
|
-
const serializedPrompt = resolveConfigFromFile("prompt", data);
|
|
75
|
-
return new LLMChain({
|
|
76
|
-
llm: await BaseLLM.deserialize(serializedLLM),
|
|
77
|
-
prompt: await BasePromptTemplate.deserialize(serializedPrompt),
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
serialize() {
|
|
81
|
-
return {
|
|
82
|
-
_type: this._chainType(),
|
|
83
|
-
llm: this.llm.serialize(),
|
|
84
|
-
prompt: this.prompt.serialize(),
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// eslint-disable-next-line max-len
|
|
89
|
-
const defaultTemplate = `The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know.
|
|
90
|
-
|
|
91
|
-
Current conversation:
|
|
92
|
-
{history}
|
|
93
|
-
Human: {input}
|
|
94
|
-
AI:`;
|
|
95
|
-
const defaultPrompt = new PromptTemplate({
|
|
96
|
-
template: defaultTemplate,
|
|
97
|
-
inputVariables: ["history", "input"],
|
|
98
|
-
});
|
|
99
|
-
export class ConversationChain extends LLMChain {
|
|
100
|
-
constructor(fields) {
|
|
101
|
-
var _a, _b, _c;
|
|
102
|
-
super({
|
|
103
|
-
prompt: (_a = fields.prompt) !== null && _a !== void 0 ? _a : defaultPrompt,
|
|
104
|
-
llm: fields.llm,
|
|
105
|
-
outputKey: (_b = fields.outputKey) !== null && _b !== void 0 ? _b : "response",
|
|
106
|
-
});
|
|
107
|
-
this.memory = (_c = fields.memory) !== null && _c !== void 0 ? _c : new BufferMemory();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=llm_chain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"llm_chain.js","sourceRoot":"","sources":["../../../chains/llm_chain.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
import { BaseChain, ChainValues, LLMChain } from "./index";
|
|
4
|
-
|
|
5
|
-
import { BaseLLM, SerializedLLM } from "../llms";
|
|
6
|
-
import { BasePromptTemplate, SerializedBasePromptTemplate } from "../prompt";
|
|
7
|
-
|
|
8
|
-
import { resolveConfigFromFile } from "../util";
|
|
9
|
-
|
|
10
|
-
export interface LLMMathChainInput {
|
|
11
|
-
prompt: BasePromptTemplate;
|
|
12
|
-
llm: BaseLLM;
|
|
13
|
-
outputKey: string;
|
|
14
|
-
inputKey: string;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export type SerializedLLMChain = {
|
|
18
|
-
_type: "llm_chain";
|
|
19
|
-
llm?: SerializedLLM;
|
|
20
|
-
llm_path?: string;
|
|
21
|
-
prompt?: SerializedBasePromptTemplate;
|
|
22
|
-
prompt_path?: string;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export class LLMChain extends BaseChain implements LLMMathChainInput {
|
|
26
|
-
prompt: BasePromptTemplate;
|
|
27
|
-
|
|
28
|
-
llm: BaseLLM;
|
|
29
|
-
|
|
30
|
-
inputKey = "answer";
|
|
31
|
-
|
|
32
|
-
outputKey = "question";
|
|
33
|
-
|
|
34
|
-
constructor(fields: {
|
|
35
|
-
prompt: BasePromptTemplate;
|
|
36
|
-
llm: BaseLLM;
|
|
37
|
-
outputKey?: string;
|
|
38
|
-
inputKey?: string;
|
|
39
|
-
}) {
|
|
40
|
-
super();
|
|
41
|
-
this.prompt = fields.prompt;
|
|
42
|
-
this.llm = fields.llm;
|
|
43
|
-
this.outputKey = fields.outputKey ?? this.outputKey;
|
|
44
|
-
this.inputKey = fields.inputKey ?? this.inputKey;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
async _call(values: ChainValues, stop?: string[]): Promise<ChainValues> {
|
|
48
|
-
const llm = new LLMChain({ prompt: this.prompt, llm: this.llm });
|
|
49
|
-
const p;
|
|
50
|
-
const formattedString = this.prompt.format(values);
|
|
51
|
-
const llmResult = await this.llm.call(formattedString, stop);
|
|
52
|
-
const result = { [this.outputKey]: llmResult };
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async predict(values: ChainValues, stop?: string[]): Promise<string> {
|
|
57
|
-
const output = await this.call(values, stop);
|
|
58
|
-
return output[this.outputKey];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
_chainType() {
|
|
62
|
-
return "llm_chain" as const;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
static async deserialize(data: SerializedLLMChain) {
|
|
66
|
-
const serializedLLM = resolveConfigFromFile<"llm", SerializedLLM>(
|
|
67
|
-
"llm",
|
|
68
|
-
data
|
|
69
|
-
);
|
|
70
|
-
const serializedPrompt = resolveConfigFromFile<
|
|
71
|
-
"prompt",
|
|
72
|
-
SerializedBasePromptTemplate
|
|
73
|
-
>("prompt", data);
|
|
74
|
-
|
|
75
|
-
return new LLMChain({
|
|
76
|
-
llm: await BaseLLM.deserialize(serializedLLM),
|
|
77
|
-
prompt: await BasePromptTemplate.deserialize(serializedPrompt),
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
serialize(): SerializedLLMChain {
|
|
82
|
-
return {
|
|
83
|
-
_type: this._chainType(),
|
|
84
|
-
llm: this.llm.serialize(),
|
|
85
|
-
prompt: this.prompt.serialize(),
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const PROMPT_TEMPLATE = `You are GPT-3, and you can't do math.
|
|
91
|
-
You can do basic math, and your memorization abilities are impressive, but you can't do any complex calculations that a human could not do in their head. You also have an annoying tendency to just make up highly specific, but wrong, answers.
|
|
92
|
-
|
|
93
|
-
So we hooked you up to a Python 3 kernel, and now you can execute code. If anyone gives you a hard math problem, just use this format and we’ll take care of the rest:
|
|
94
|
-
|
|
95
|
-
Question: \${{Question with hard calculation.}}
|
|
96
|
-
\`\`\`python
|
|
97
|
-
\${{Code that prints what you need to know}}
|
|
98
|
-
\`\`\`
|
|
99
|
-
\`\`\`output
|
|
100
|
-
\${{Output of your code}}
|
|
101
|
-
\`\`\`
|
|
102
|
-
Answer: \${{Answer}}
|
|
103
|
-
|
|
104
|
-
Otherwise, use this simpler format:
|
|
105
|
-
|
|
106
|
-
Question: \${{Question without hard calculation}}
|
|
107
|
-
Answer: \${{Answer}}
|
|
108
|
-
|
|
109
|
-
Begin.
|
|
110
|
-
|
|
111
|
-
Question: What is 37593 * 67?
|
|
112
|
-
|
|
113
|
-
\`\`\`python
|
|
114
|
-
print(37593 * 67)
|
|
115
|
-
\`\`\`
|
|
116
|
-
\`\`\`output
|
|
117
|
-
2518731
|
|
118
|
-
\`\`\`
|
|
119
|
-
Answer: 2518731
|
|
120
|
-
|
|
121
|
-
Question: {question}
|
|
122
|
-
`;
|
|
123
|
-
|
|
124
|
-
PROMPT = PromptTemplate(
|
|
125
|
-
(input_variables = ["question"]),
|
|
126
|
-
(template = _PROMPT_TEMPLATE)
|
|
127
|
-
);
|
|
128
|
-
*/
|
|
129
|
-
//# sourceMappingURL=llm_math_chain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"llm_math_chain.js","sourceRoot":"","sources":["../../../chains/llm_math_chain.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8HE"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { BaseChain } from ".";
|
|
2
|
-
export type LoadValues = Record<string, any>;
|
|
3
|
-
/**
|
|
4
|
-
* Load a chain from {@link https://github.com/hwchase17/langchain-hub | LangchainHub} or local filesystem.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* Loading from LangchainHub:
|
|
8
|
-
* ```ts
|
|
9
|
-
* import { loadChain } from "langchain/chains";
|
|
10
|
-
* const chain = await loadChain("lc://chains/hello-world/chain.json");
|
|
11
|
-
* const res = await chain.call({ topic: "my favorite color" });
|
|
12
|
-
* ```
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* Loading from local filesystem:
|
|
16
|
-
* ```ts
|
|
17
|
-
* import { loadChain } from "langchain/chains";
|
|
18
|
-
* const chain = await loadChain("/path/to/chain.json");
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
export declare const loadChain: (uri: string, values?: LoadValues) => Promise<BaseChain>;
|