langchain 0.0.4 → 0.0.6
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/agents/agent.d.ts +96 -0
- package/dist/agents/agent.js +151 -0
- package/dist/agents/agent.js.map +1 -0
- package/dist/{esm/agents → agents}/executor.d.ts +5 -0
- package/dist/agents/executor.js +99 -0
- package/dist/agents/executor.js.map +1 -0
- package/dist/{cjs/agents → agents}/helpers.d.ts +0 -0
- package/dist/agents/helpers.js +21 -0
- package/dist/agents/helpers.js.map +1 -0
- package/dist/{cjs/agents → agents}/index.d.ts +1 -0
- package/dist/{cjs/agents → agents}/index.js +5 -1
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/initialize.d.ts +4 -0
- package/dist/agents/initialize.js +19 -0
- package/dist/agents/initialize.js.map +1 -0
- package/dist/{cjs/agents → agents}/load.d.ts +0 -0
- package/dist/agents/load.js +19 -0
- package/dist/agents/load.js.map +1 -0
- package/dist/{esm/agents → agents}/mrkl/index.d.ts +18 -1
- package/dist/{cjs/agents → agents}/mrkl/index.js +26 -34
- 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 -1
- package/dist/agents/mrkl/prompt.js.map +1 -0
- package/dist/{cjs/agents → agents}/tests/agent.test.d.ts +0 -0
- package/dist/agents/tests/agent.test.js +35 -0
- package/dist/agents/tests/agent.test.js.map +1 -0
- package/dist/{cjs/chains/tests/llm_chain.test.d.ts → agents/tests/calculator.test.d.ts} +0 -0
- package/dist/agents/tests/calculator.test.js +30 -0
- package/dist/agents/tests/calculator.test.js.map +1 -0
- package/dist/agents/tools/base.d.ts +6 -0
- package/dist/agents/tools/base.js +15 -0
- package/dist/agents/tools/base.js.map +1 -0
- package/dist/agents/tools/calculator.d.ts +6 -0
- package/dist/agents/tools/calculator.js +33 -0
- package/dist/agents/tools/calculator.js.map +1 -0
- package/dist/agents/tools/index.d.ts +3 -0
- package/dist/agents/tools/index.js +10 -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/agents/tools/serpapi.d.ts +18 -0
- package/dist/agents/tools/serpapi.js +93 -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/chains/base.d.ts +42 -0
- package/dist/chains/base.js +67 -0
- package/dist/chains/base.js.map +1 -0
- package/dist/chains/chat_vector_db_chain.d.ts +41 -0
- package/dist/chains/chat_vector_db_chain.js +146 -0
- package/dist/chains/chat_vector_db_chain.js.map +1 -0
- package/dist/chains/combine_docs_chain.d.ts +35 -0
- package/dist/chains/combine_docs_chain.js +75 -0
- package/dist/chains/combine_docs_chain.js.map +1 -0
- package/dist/chains/conversation.d.ts +12 -0
- package/dist/chains/conversation.js +29 -0
- package/dist/chains/conversation.js.map +1 -0
- package/dist/chains/index.d.ts +7 -0
- package/dist/chains/index.js +19 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/{cjs/chains → chains}/llm_chain.d.ts +36 -1
- package/dist/chains/llm_chain.js +115 -0
- package/dist/chains/llm_chain.js.map +1 -0
- package/dist/chains/load.d.ts +21 -0
- package/dist/chains/load.js +37 -0
- package/dist/chains/load.js.map +1 -0
- package/dist/chains/question_answering/load.d.ts +3 -0
- package/dist/chains/question_answering/load.js +13 -0
- package/dist/chains/question_answering/load.js.map +1 -0
- package/dist/chains/question_answering/stuff_prompts.d.ts +2 -0
- package/dist/chains/question_answering/stuff_prompts.js +10 -0
- package/dist/chains/question_answering/stuff_prompts.js.map +1 -0
- package/dist/{cjs/prompt → chains/question_answering}/tests/load.test.d.ts +0 -0
- package/dist/chains/question_answering/tests/load.test.js +18 -0
- package/dist/chains/question_answering/tests/load.test.js.map +1 -0
- package/dist/{cjs/llms/tests/openai.test.d.ts → chains/tests/chat_vector_db_qa_chain.test.d.ts} +0 -0
- package/dist/chains/tests/chat_vector_db_qa_chain.test.js +35 -0
- package/dist/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
- package/dist/{cjs/prompt/tests/template.test.d.ts → chains/tests/combine_docs_chain.test.d.ts} +0 -0
- package/dist/chains/tests/combine_docs_chain.test.js +39 -0
- package/dist/chains/tests/combine_docs_chain.test.js.map +1 -0
- package/dist/{esm/chains → chains}/tests/llm_chain.test.d.ts +0 -0
- package/dist/chains/tests/llm_chain.test.js +29 -0
- package/dist/chains/tests/llm_chain.test.js.map +1 -0
- package/dist/{esm/agents/tests/agent.test.d.ts → chains/tests/vector_db_qa_chain.test.d.ts} +0 -0
- package/dist/chains/tests/vector_db_qa_chain.test.js +46 -0
- package/dist/chains/tests/vector_db_qa_chain.test.js.map +1 -0
- package/dist/chains/vector_db_qa.d.ts +36 -0
- package/dist/chains/vector_db_qa.js +85 -0
- package/dist/chains/vector_db_qa.js.map +1 -0
- package/dist/document.d.ts +13 -0
- package/dist/document.js +28 -0
- package/dist/document.js.map +1 -0
- package/dist/embeddings/base.d.ts +4 -0
- package/dist/embeddings/base.js +7 -0
- package/dist/embeddings/base.js.map +1 -0
- package/dist/embeddings/index.d.ts +1 -0
- package/dist/embeddings/index.js +6 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/openai.d.ts +20 -0
- package/dist/embeddings/openai.js +86 -0
- package/dist/embeddings/openai.js.map +1 -0
- package/dist/{esm/llms → embeddings}/tests/openai.test.d.ts +0 -0
- package/dist/embeddings/tests/openai.test.js +17 -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/llms/base.d.ts +64 -0
- package/dist/llms/base.js +164 -0
- 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/{esm/llms → llms}/index.d.ts +20 -0
- package/dist/{cjs/llms → llms}/index.js +3 -1
- package/dist/llms/index.js.map +1 -0
- package/dist/llms/load.d.ts +11 -0
- package/dist/llms/load.js +17 -0
- package/dist/llms/load.js.map +1 -0
- package/dist/llms/openai.d.ts +125 -0
- package/dist/{cjs/llms → llms}/openai.js +96 -58
- package/dist/llms/openai.js.map +1 -0
- package/dist/{esm/prompt/tests/load.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/prompt/tests/template.test.d.ts → llms/tests/openai.test.d.ts} +0 -0
- package/dist/llms/tests/openai.test.js +10 -0
- package/dist/llms/tests/openai.test.js.map +1 -0
- package/dist/memory/base.d.ts +7 -0
- package/dist/memory/base.js +7 -0
- package/dist/memory/base.js.map +1 -0
- package/dist/memory/buffer_memory.d.ts +15 -0
- package/dist/memory/buffer_memory.js +57 -0
- package/dist/memory/buffer_memory.js.map +1 -0
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.js +8 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/tests/buffer_memory.test.d.ts +1 -0
- package/dist/memory/tests/buffer_memory.test.js +17 -0
- package/dist/memory/tests/buffer_memory.test.js.map +1 -0
- package/dist/prompts/base.d.ts +58 -0
- package/dist/prompts/base.js +53 -0
- package/dist/prompts/base.js.map +1 -0
- package/dist/{esm/prompt → prompts}/few_shot.d.ts +36 -1
- package/dist/{cjs/prompt → prompts}/few_shot.js +27 -33
- package/dist/prompts/few_shot.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/index.d.ts +1 -0
- package/dist/{cjs/prompt → prompts}/index.js +3 -1
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/load.d.ts +19 -0
- package/dist/prompts/load.js +33 -0
- package/dist/prompts/load.js.map +1 -0
- package/dist/{cjs/prompt → prompts}/parser.d.ts +30 -0
- package/dist/{cjs/prompt → prompts}/parser.js +21 -0
- package/dist/prompts/parser.js.map +1 -0
- package/dist/prompts/prompt.d.ts +76 -0
- package/dist/{cjs/prompt → prompts}/prompt.js +38 -18
- 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/prompts/tests/load.test.d.ts +1 -0
- package/dist/prompts/tests/load.test.js +21 -0
- package/dist/prompts/tests/load.test.js.map +1 -0
- package/dist/prompts/tests/template.test.d.ts +1 -0
- package/dist/{cjs/prompt → prompts}/tests/template.test.js +0 -0
- package/dist/prompts/tests/template.test.js.map +1 -0
- package/dist/text_splitter.d.ts +32 -0
- package/dist/text_splitter.js +167 -0
- package/dist/text_splitter.js.map +1 -0
- package/dist/util/hub.d.ts +2 -0
- package/dist/{cjs/util → util}/hub.js +5 -14
- package/dist/util/hub.js.map +1 -0
- package/dist/{esm/util → util}/index.d.ts +1 -0
- package/dist/{cjs/util → util}/index.js +13 -25
- package/dist/util/index.js.map +1 -0
- package/dist/vectorstores/base.d.ts +18 -0
- package/dist/vectorstores/base.js +38 -0
- package/dist/vectorstores/base.js.map +1 -0
- package/dist/vectorstores/hnswlib.d.ts +19 -0
- package/dist/vectorstores/hnswlib.js +129 -0
- package/dist/vectorstores/hnswlib.js.map +1 -0
- package/dist/vectorstores/index.d.ts +1 -0
- package/dist/vectorstores/index.js +6 -0
- package/dist/vectorstores/index.js.map +1 -0
- package/dist/vectorstores/tests/hnswlib.test.d.ts +1 -0
- package/dist/vectorstores/tests/hnswlib.test.js +44 -0
- 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 +53 -44
- 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.d.ts +0 -42
- package/dist/cjs/agents/agent.js +0 -129
- package/dist/cjs/agents/agent.js.map +0 -1
- package/dist/cjs/agents/executor.d.ts +0 -27
- package/dist/cjs/agents/executor.js +0 -105
- package/dist/cjs/agents/executor.js.map +0 -1
- package/dist/cjs/agents/helpers.js +0 -30
- package/dist/cjs/agents/helpers.js.map +0 -1
- package/dist/cjs/agents/index.js.map +0 -1
- package/dist/cjs/agents/load.js +0 -28
- package/dist/cjs/agents/load.js.map +0 -1
- package/dist/cjs/agents/mrkl/index.d.ts +0 -33
- 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 +0 -31
- package/dist/cjs/agents/tests/agent.test.js.map +0 -1
- package/dist/cjs/agents/tools/index.d.ts +0 -7
- package/dist/cjs/agents/tools/index.js +0 -6
- package/dist/cjs/agents/tools/index.js.map +0 -1
- package/dist/cjs/agents/tools/serpapi.d.ts +0 -3
- package/dist/cjs/agents/tools/serpapi.js +0 -50
- package/dist/cjs/agents/tools/serpapi.js.map +0 -1
- package/dist/cjs/cache.js.map +0 -1
- package/dist/cjs/chains/base.d.ts +0 -12
- package/dist/cjs/chains/base.js +0 -23
- package/dist/cjs/chains/base.js.map +0 -1
- package/dist/cjs/chains/index.d.ts +0 -3
- package/dist/cjs/chains/index.js +0 -10
- package/dist/cjs/chains/index.js.map +0 -1
- package/dist/cjs/chains/llm_chain.js +0 -83
- 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.d.ts +0 -2
- package/dist/cjs/chains/load.js +0 -29
- package/dist/cjs/chains/load.js.map +0 -1
- package/dist/cjs/chains/tests/llm_chain.test.js +0 -32
- package/dist/cjs/chains/tests/llm_chain.test.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/llms/base.d.ts +0 -23
- package/dist/cjs/llms/base.js +0 -159
- package/dist/cjs/llms/base.js.map +0 -1
- package/dist/cjs/llms/index.d.ts +0 -18
- package/dist/cjs/llms/index.js.map +0 -1
- package/dist/cjs/llms/load.d.ts +0 -3
- package/dist/cjs/llms/load.js +0 -9
- package/dist/cjs/llms/load.js.map +0 -1
- package/dist/cjs/llms/openai.d.ts +0 -63
- package/dist/cjs/llms/openai.js.map +0 -1
- package/dist/cjs/llms/tests/openai.test.js +0 -19
- package/dist/cjs/llms/tests/openai.test.js.map +0 -1
- package/dist/cjs/prompt/base.d.ts +0 -19
- package/dist/cjs/prompt/base.js +0 -54
- package/dist/cjs/prompt/base.js.map +0 -1
- package/dist/cjs/prompt/few_shot.d.ts +0 -47
- package/dist/cjs/prompt/few_shot.js.map +0 -1
- package/dist/cjs/prompt/index.js.map +0 -1
- package/dist/cjs/prompt/load.d.ts +0 -2
- package/dist/cjs/prompt/load.js +0 -25
- package/dist/cjs/prompt/load.js.map +0 -1
- package/dist/cjs/prompt/parser.js.map +0 -1
- package/dist/cjs/prompt/prompt.d.ts +0 -28
- 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 +0 -30
- 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/util/hub.d.ts +0 -1
- package/dist/cjs/util/hub.js.map +0 -1
- package/dist/cjs/util/index.d.ts +0 -12
- package/dist/cjs/util/index.js.map +0 -1
- package/dist/esm/agents/agent.d.ts +0 -42
- package/dist/esm/agents/agent.js +0 -124
- package/dist/esm/agents/agent.js.map +0 -1
- package/dist/esm/agents/executor.js +0 -101
- 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 -26
- package/dist/esm/agents/helpers.js.map +0 -1
- package/dist/esm/agents/index.d.ts +0 -6
- package/dist/esm/agents/index.js +0 -5
- package/dist/esm/agents/index.js.map +0 -1
- package/dist/esm/agents/load.d.ts +0 -6
- package/dist/esm/agents/load.js +0 -24
- package/dist/esm/agents/load.js.map +0 -1
- package/dist/esm/agents/mrkl/index.js +0 -106
- 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 -17
- package/dist/esm/agents/mrkl/prompt.js.map +0 -1
- package/dist/esm/agents/tests/agent.test.js +0 -29
- package/dist/esm/agents/tests/agent.test.js.map +0 -1
- package/dist/esm/agents/tools/index.d.ts +0 -7
- package/dist/esm/agents/tools/index.js +0 -2
- 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 -3
- package/dist/esm/agents/tools/serpapi.js +0 -46
- 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 -12
- package/dist/esm/chains/base.js +0 -19
- package/dist/esm/chains/base.js.map +0 -1
- package/dist/esm/chains/index.d.ts +0 -3
- package/dist/esm/chains/index.js +0 -4
- package/dist/esm/chains/index.js.map +0 -1
- package/dist/esm/chains/llm_chain.d.ts +0 -30
- package/dist/esm/chains/llm_chain.js +0 -79
- 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 -2
- package/dist/esm/chains/load.js +0 -25
- package/dist/esm/chains/load.js.map +0 -1
- package/dist/esm/chains/tests/llm_chain.test.js +0 -30
- package/dist/esm/chains/tests/llm_chain.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 -23
- package/dist/esm/llms/base.js +0 -154
- package/dist/esm/llms/base.js.map +0 -1
- 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 -3
- package/dist/esm/llms/load.js +0 -5
- package/dist/esm/llms/load.js.map +0 -1
- package/dist/esm/llms/openai.d.ts +0 -63
- package/dist/esm/llms/openai.js +0 -198
- package/dist/esm/llms/openai.js.map +0 -1
- package/dist/esm/llms/tests/openai.test.js +0 -17
- package/dist/esm/llms/tests/openai.test.js.map +0 -1
- package/dist/esm/prompt/base.d.ts +0 -19
- package/dist/esm/prompt/base.js +0 -50
- package/dist/esm/prompt/base.js.map +0 -1
- package/dist/esm/prompt/few_shot.js +0 -139
- package/dist/esm/prompt/few_shot.js.map +0 -1
- package/dist/esm/prompt/index.d.ts +0 -3
- package/dist/esm/prompt/index.js +0 -4
- package/dist/esm/prompt/index.js.map +0 -1
- package/dist/esm/prompt/load.d.ts +0 -2
- package/dist/esm/prompt/load.js +0 -21
- package/dist/esm/prompt/load.js.map +0 -1
- package/dist/esm/prompt/parser.d.ts +0 -40
- package/dist/esm/prompt/parser.js +0 -86
- package/dist/esm/prompt/parser.js.map +0 -1
- package/dist/esm/prompt/prompt.d.ts +0 -28
- package/dist/esm/prompt/prompt.js +0 -87
- 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.js +0 -25
- package/dist/esm/prompt/tests/load.test.js.map +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/util/hub.d.ts +0 -1
- package/dist/esm/util/hub.js +0 -43
- package/dist/esm/util/hub.js.map +0 -1
- package/dist/esm/util/index.js +0 -74
- package/dist/esm/util/index.js.map +0 -1
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.OpenAI = void 0;
|
|
13
4
|
const exponential_backoff_1 = require("exponential-backoff");
|
|
5
|
+
const util_1 = require("../util");
|
|
14
6
|
const _1 = require(".");
|
|
15
7
|
let Configuration = null;
|
|
16
8
|
let OpenAIApi = null;
|
|
17
9
|
try {
|
|
18
|
-
// eslint-disable-next-line global-require
|
|
10
|
+
// eslint-disable-next-line global-require,import/no-extraneous-dependencies
|
|
19
11
|
({ Configuration, OpenAIApi } = require("openai"));
|
|
20
12
|
}
|
|
21
13
|
catch (_a) {
|
|
22
14
|
// ignore error
|
|
23
15
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Wrapper around OpenAI large language models.
|
|
18
|
+
*
|
|
19
|
+
* To use you should have the `openai` package installed, with the
|
|
20
|
+
* `OPENAI_API_KEY` environment variable set.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* Any parameters that are valid to be passed to {@link
|
|
24
|
+
* https://platform.openai.com/docs/api-reference/completions/create |
|
|
25
|
+
* `openai.createCompletion`} can be passed through {@link modelKwargs}, even
|
|
26
|
+
* if not explicitly available on this class.
|
|
27
|
+
*
|
|
28
|
+
* @augments BaseLLM
|
|
29
|
+
* @augments OpenAIInput
|
|
30
|
+
*/
|
|
31
31
|
class OpenAI extends _1.BaseLLM {
|
|
32
32
|
constructor(fields) {
|
|
33
33
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
@@ -117,7 +117,7 @@ class OpenAI extends _1.BaseLLM {
|
|
|
117
117
|
value: void 0
|
|
118
118
|
});
|
|
119
119
|
if (Configuration === null || OpenAIApi === null) {
|
|
120
|
-
throw new Error("Please install openai as a dependency with, e.g. `npm
|
|
120
|
+
throw new Error("Please install openai as a dependency with, e.g. `npm i openai`");
|
|
121
121
|
}
|
|
122
122
|
this.modelName = (_a = fields === null || fields === void 0 ? void 0 : fields.modelName) !== null && _a !== void 0 ? _a : this.modelName;
|
|
123
123
|
this.modelKwargs = (_b = fields === null || fields === void 0 ? void 0 : fields.modelKwargs) !== null && _b !== void 0 ? _b : {};
|
|
@@ -137,54 +137,92 @@ class OpenAI extends _1.BaseLLM {
|
|
|
137
137
|
});
|
|
138
138
|
this.client = new OpenAIApi(clientConfig);
|
|
139
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the parameters used to invoke the model
|
|
142
|
+
*/
|
|
140
143
|
invocationParams() {
|
|
141
|
-
return
|
|
144
|
+
return {
|
|
145
|
+
model: this.modelName,
|
|
146
|
+
temperature: this.temperature,
|
|
147
|
+
max_tokens: this.maxTokens,
|
|
148
|
+
top_p: this.topP,
|
|
149
|
+
frequency_penalty: this.frequencyPenalty,
|
|
150
|
+
presence_penalty: this.presencePenalty,
|
|
151
|
+
n: this.n,
|
|
152
|
+
best_of: this.bestOf,
|
|
153
|
+
logit_bias: this.logitBias,
|
|
154
|
+
stop: this.stop,
|
|
155
|
+
...this.modelKwargs,
|
|
156
|
+
};
|
|
142
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Get the identifyin parameters for the model
|
|
160
|
+
*/
|
|
143
161
|
identifyingParams() {
|
|
144
|
-
return
|
|
162
|
+
return {
|
|
163
|
+
model_name: this.modelName,
|
|
164
|
+
...this.invocationParams(),
|
|
165
|
+
};
|
|
145
166
|
}
|
|
146
|
-
|
|
167
|
+
/**
|
|
168
|
+
* Call out to OpenAI's endpoint with k unique prompts
|
|
169
|
+
*
|
|
170
|
+
* @param prompts - The prompts to pass into the model.
|
|
171
|
+
* @param [stop] - Optional list of stop words to use when generating.
|
|
172
|
+
*
|
|
173
|
+
* @returns The full LLM output.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```ts
|
|
177
|
+
* import { OpenAI } from "langchain/llms";
|
|
178
|
+
* const openai = new OpenAI();
|
|
179
|
+
* const response = await openai.generate(["Tell me a joke."]);
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
async _generate(prompts, stop) {
|
|
147
183
|
var _a, _b, _c, _d;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
184
|
+
const subPrompts = (0, util_1.chunkArray)(prompts, this.batchSize);
|
|
185
|
+
const choices = [];
|
|
186
|
+
const tokenUsage = {};
|
|
187
|
+
if (this.stop && stop) {
|
|
188
|
+
throw new Error("Stop found in input and default params");
|
|
189
|
+
}
|
|
190
|
+
const params = this.invocationParams();
|
|
191
|
+
params.stop = stop !== null && stop !== void 0 ? stop : params.stop;
|
|
192
|
+
for (let i = 0; i < subPrompts.length; i += 1) {
|
|
193
|
+
const { data } = await this.completionWithRetry({
|
|
194
|
+
...params,
|
|
195
|
+
prompt: subPrompts[i],
|
|
196
|
+
});
|
|
197
|
+
choices.push(...data.choices);
|
|
198
|
+
const { completion_tokens: completionTokens, prompt_tokens: promptTokens, total_tokens: totalTokens, } = (_a = data.usage) !== null && _a !== void 0 ? _a : {};
|
|
199
|
+
if (completionTokens) {
|
|
200
|
+
tokenUsage.completionTokens =
|
|
201
|
+
((_b = tokenUsage.completionTokens) !== null && _b !== void 0 ? _b : 0) + completionTokens;
|
|
154
202
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
for (let i = 0; i < subPrompts.length; i += 1) {
|
|
158
|
-
const { data } = yield this.completionWithRetry(Object.assign(Object.assign({}, params), { prompt: subPrompts[i] }));
|
|
159
|
-
choices.push(...data.choices);
|
|
160
|
-
const { completion_tokens: completionTokens, prompt_tokens: promptTokens, total_tokens: totalTokens, } = (_a = data.usage) !== null && _a !== void 0 ? _a : {};
|
|
161
|
-
if (completionTokens) {
|
|
162
|
-
tokenUsage.completionTokens =
|
|
163
|
-
((_b = tokenUsage.completionTokens) !== null && _b !== void 0 ? _b : 0) + completionTokens;
|
|
164
|
-
}
|
|
165
|
-
if (promptTokens) {
|
|
166
|
-
tokenUsage.promptTokens = ((_c = tokenUsage.promptTokens) !== null && _c !== void 0 ? _c : 0) + promptTokens;
|
|
167
|
-
}
|
|
168
|
-
if (totalTokens) {
|
|
169
|
-
tokenUsage.totalTokens = ((_d = tokenUsage.totalTokens) !== null && _d !== void 0 ? _d : 0) + totalTokens;
|
|
170
|
-
}
|
|
203
|
+
if (promptTokens) {
|
|
204
|
+
tokenUsage.promptTokens = ((_c = tokenUsage.promptTokens) !== null && _c !== void 0 ? _c : 0) + promptTokens;
|
|
171
205
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
206
|
+
if (totalTokens) {
|
|
207
|
+
tokenUsage.totalTokens = ((_d = tokenUsage.totalTokens) !== null && _d !== void 0 ? _d : 0) + totalTokens;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
const generations = (0, util_1.chunkArray)(choices, this.n).map((promptChoices) => promptChoices.map((choice) => {
|
|
211
|
+
var _a;
|
|
212
|
+
return ({
|
|
213
|
+
text: (_a = choice.text) !== null && _a !== void 0 ? _a : "",
|
|
214
|
+
generationInfo: {
|
|
215
|
+
finishReason: choice.finish_reason,
|
|
216
|
+
logprobs: choice.logprobs,
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
}));
|
|
220
|
+
return {
|
|
221
|
+
generations,
|
|
222
|
+
llmOutput: { tokenUsage },
|
|
223
|
+
};
|
|
187
224
|
}
|
|
225
|
+
/** @ignore */
|
|
188
226
|
completionWithRetry(request) {
|
|
189
227
|
const makeCompletionRequest = () => this.client.createCompletion(request);
|
|
190
228
|
return (0, exponential_backoff_1.backOff)(makeCompletionRequest, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../llms/openai.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const globals_1 = require("@jest/globals");
|
|
4
|
+
const cohere_1 = require("../cohere");
|
|
5
|
+
(0, globals_1.test)("Test Cohere", async () => {
|
|
6
|
+
const model = new cohere_1.Cohere({ maxTokens: 20 });
|
|
7
|
+
const res = await model.call("1 + 1 =");
|
|
8
|
+
console.log(res);
|
|
9
|
+
}, 50000);
|
|
10
|
+
//# sourceMappingURL=cohere.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cohere.test.js","sourceRoot":"","sources":["../../../llms/tests/cohere.test.ts"],"names":[],"mappings":";;AAAA,2CAAqC;AACrC,sCAAmC;AAEnC,IAAA,cAAI,EAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,KAAK,GAAG,IAAI,eAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,EAAE,KAAK,CAAC,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const globals_1 = require("@jest/globals");
|
|
4
|
+
const openai_1 = require("../openai");
|
|
5
|
+
(0, globals_1.test)("Test OpenAI", async () => {
|
|
6
|
+
const model = new openai_1.OpenAI({ maxTokens: 5 });
|
|
7
|
+
const res = await model.call("Print hello world");
|
|
8
|
+
console.log({ res });
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=openai.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.test.js","sourceRoot":"","sources":["../../../llms/tests/openai.test.ts"],"names":[],"mappings":";;AAAA,2CAAqC;AACrC,sCAAmC;AAEnC,IAAA,cAAI,EAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,KAAK,GAAG,IAAI,eAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type InputValues = Record<string, any>;
|
|
2
|
+
export type OutputValues = Record<string, any>;
|
|
3
|
+
export type MemoryVariables = Record<string, any>;
|
|
4
|
+
export declare abstract class BaseMemory {
|
|
5
|
+
abstract loadMemoryVariables(values: InputValues): Promise<MemoryVariables>;
|
|
6
|
+
abstract saveContext(inputValues: InputValues, OutputValues: Promise<OutputValues>): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../memory/base.ts"],"names":[],"mappings":";;;AAOA,MAAsB,UAAU;CAO/B;AAPD,gCAOC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseMemory, InputValues, MemoryVariables, OutputValues } from "./base";
|
|
2
|
+
export interface BufferMemoryInput {
|
|
3
|
+
humanPrefix: string;
|
|
4
|
+
aiPrefix: string;
|
|
5
|
+
memoryKey: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class BufferMemory extends BaseMemory implements BufferMemoryInput {
|
|
8
|
+
humanPrefix: string;
|
|
9
|
+
aiPrefix: string;
|
|
10
|
+
memoryKey: string;
|
|
11
|
+
buffer: string;
|
|
12
|
+
constructor(fields?: Partial<BufferMemoryInput>);
|
|
13
|
+
loadMemoryVariables(_values: InputValues): Promise<MemoryVariables>;
|
|
14
|
+
saveContext(inputValues: InputValues, outputValues: Promise<OutputValues>): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BufferMemory = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
const getInputValue = (inputValues) => {
|
|
6
|
+
const keys = Object.keys(inputValues);
|
|
7
|
+
if (keys.length === 1) {
|
|
8
|
+
return inputValues[keys[0]];
|
|
9
|
+
}
|
|
10
|
+
throw new Error("input values have multiple keys, memory only supported when one key currently");
|
|
11
|
+
};
|
|
12
|
+
class BufferMemory extends base_1.BaseMemory {
|
|
13
|
+
constructor(fields) {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
super();
|
|
16
|
+
Object.defineProperty(this, "humanPrefix", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true,
|
|
20
|
+
value: "Human"
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(this, "aiPrefix", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
writable: true,
|
|
26
|
+
value: "AI"
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(this, "memoryKey", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
configurable: true,
|
|
31
|
+
writable: true,
|
|
32
|
+
value: "history"
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(this, "buffer", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true,
|
|
38
|
+
value: ""
|
|
39
|
+
});
|
|
40
|
+
this.humanPrefix = (_a = fields === null || fields === void 0 ? void 0 : fields.humanPrefix) !== null && _a !== void 0 ? _a : this.humanPrefix;
|
|
41
|
+
this.aiPrefix = (_b = fields === null || fields === void 0 ? void 0 : fields.aiPrefix) !== null && _b !== void 0 ? _b : this.aiPrefix;
|
|
42
|
+
this.memoryKey = (_c = fields === null || fields === void 0 ? void 0 : fields.memoryKey) !== null && _c !== void 0 ? _c : this.memoryKey;
|
|
43
|
+
}
|
|
44
|
+
async loadMemoryVariables(_values) {
|
|
45
|
+
const result = { [this.memoryKey]: this.buffer };
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
async saveContext(inputValues, outputValues) {
|
|
49
|
+
const values = await outputValues;
|
|
50
|
+
const human = `${this.humanPrefix}: ${getInputValue(inputValues)}`;
|
|
51
|
+
const ai = `${this.aiPrefix}: ${getInputValue(values)}`;
|
|
52
|
+
const newlines = [human, ai];
|
|
53
|
+
this.buffer += `\n${newlines.join("\n")}`;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.BufferMemory = BufferMemory;
|
|
57
|
+
//# sourceMappingURL=buffer_memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer_memory.js","sourceRoot":"","sources":["../../memory/buffer_memory.ts"],"names":[],"mappings":";;;AAAA,iCAAgF;AAQhF,MAAM,aAAa,GAAG,CAAC,WAAwB,EAAE,EAAE;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7B;IACD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAa,YAAa,SAAQ,iBAAU;IAS1C,YAAY,MAAmC;;QAC7C,KAAK,EAAE,CAAC;QATV;;;;mBAAc,OAAO;WAAC;QAEtB;;;;mBAAW,IAAI;WAAC;QAEhB;;;;mBAAY,SAAS;WAAC;QAEtB;;;;mBAAS,EAAE;WAAC;QAIV,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,IAAI,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,IAAI,CAAC,QAAQ,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,mCAAI,IAAI,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAoB;QAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,WAAwB,EACxB,YAAmC;QAEnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,WAAW,KAAK,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QACnE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5C,CAAC;CACF;AA/BD,oCA+BC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseMemory = exports.BufferMemory = void 0;
|
|
4
|
+
var buffer_memory_1 = require("./buffer_memory");
|
|
5
|
+
Object.defineProperty(exports, "BufferMemory", { enumerable: true, get: function () { return buffer_memory_1.BufferMemory; } });
|
|
6
|
+
var base_1 = require("./base");
|
|
7
|
+
Object.defineProperty(exports, "BaseMemory", { enumerable: true, get: function () { return base_1.BaseMemory; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../memory/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,+BAAoC;AAA3B,kGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const globals_1 = require("@jest/globals");
|
|
4
|
+
const buffer_memory_1 = require("../buffer_memory");
|
|
5
|
+
(0, globals_1.test)("Test buffer memory", async () => {
|
|
6
|
+
const memory = new buffer_memory_1.BufferMemory();
|
|
7
|
+
const result1 = await memory.loadMemoryVariables({});
|
|
8
|
+
(0, globals_1.expect)(result1).toStrictEqual({ history: "" });
|
|
9
|
+
const result = new Promise((resolve, _reject) => {
|
|
10
|
+
resolve({ bar: "foo" });
|
|
11
|
+
});
|
|
12
|
+
await memory.saveContext({ foo: "bar" }, result);
|
|
13
|
+
const expectedString = "\nHuman: bar\nAI: foo";
|
|
14
|
+
const result2 = await memory.loadMemoryVariables({});
|
|
15
|
+
(0, globals_1.expect)(result2).toStrictEqual({ history: expectedString });
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=buffer_memory.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer_memory.test.js","sourceRoot":"","sources":["../../../memory/tests/buffer_memory.test.ts"],"names":[],"mappings":";;AAAA,2CAA6C;AAC7C,oDAAgD;AAGhD,IAAA,cAAI,EAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACrD,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QAC5D,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,uBAAuB,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACrD,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BaseOutputParser } from "./parser";
|
|
2
|
+
import { PromptTemplate, FewShotPromptTemplate } from "./index";
|
|
3
|
+
declare const templateClasses: (typeof PromptTemplate | typeof FewShotPromptTemplate)[];
|
|
4
|
+
export type SerializedBasePromptTemplate = ReturnType<InstanceType<(typeof templateClasses)[number]>["serialize"]>;
|
|
5
|
+
export type InputValues = Record<string, any>;
|
|
6
|
+
/**
|
|
7
|
+
* Input common to all prompt templates.
|
|
8
|
+
*/
|
|
9
|
+
export interface BasePromptTemplateInput {
|
|
10
|
+
/**
|
|
11
|
+
* A list of variable names the prompt template expects
|
|
12
|
+
*/
|
|
13
|
+
inputVariables: string[];
|
|
14
|
+
/**
|
|
15
|
+
* How to parse the output of calling an LLM on this formatted prompt
|
|
16
|
+
*/
|
|
17
|
+
outputParser?: BaseOutputParser;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Base class for prompt templates. Exposes a format method that returns a
|
|
21
|
+
* string prompt given a set of input values.
|
|
22
|
+
* @augments BasePromptTemplateInput
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class BasePromptTemplate implements BasePromptTemplateInput {
|
|
25
|
+
inputVariables: string[];
|
|
26
|
+
outputParser?: BaseOutputParser;
|
|
27
|
+
constructor(input: BasePromptTemplateInput);
|
|
28
|
+
/**
|
|
29
|
+
* Format the prompt given the input values.
|
|
30
|
+
*
|
|
31
|
+
* @param inputValues - A dictionary of arguments to be passed to the prompt template.
|
|
32
|
+
* @returns A formatted prompt string.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* prompt.format({ foo: "bar" });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
abstract format(values: InputValues): string;
|
|
40
|
+
/**
|
|
41
|
+
* Return the string type key uniquely identifying this class of prompt template.
|
|
42
|
+
*/
|
|
43
|
+
abstract _getPromptType(): string;
|
|
44
|
+
/**
|
|
45
|
+
* Return a json-like object representing this prompt template.
|
|
46
|
+
*/
|
|
47
|
+
abstract serialize(): SerializedBasePromptTemplate;
|
|
48
|
+
/**
|
|
49
|
+
* Load a prompt template from a json-like object describing it.
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* Deserializing needs to be async because templates (e.g. {@link FewShotPromptTemplate}) can
|
|
53
|
+
* reference remote resources that we read asynchronously with a web
|
|
54
|
+
* request.
|
|
55
|
+
*/
|
|
56
|
+
static deserialize(data: SerializedBasePromptTemplate): Promise<BasePromptTemplate>;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BasePromptTemplate = void 0;
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const templateClasses = [index_1.PromptTemplate, index_1.FewShotPromptTemplate];
|
|
6
|
+
/**
|
|
7
|
+
* Base class for prompt templates. Exposes a format method that returns a
|
|
8
|
+
* string prompt given a set of input values.
|
|
9
|
+
* @augments BasePromptTemplateInput
|
|
10
|
+
*/
|
|
11
|
+
class BasePromptTemplate {
|
|
12
|
+
constructor(input) {
|
|
13
|
+
Object.defineProperty(this, "inputVariables", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: void 0
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(this, "outputParser", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true,
|
|
22
|
+
writable: true,
|
|
23
|
+
value: void 0
|
|
24
|
+
});
|
|
25
|
+
const { inputVariables } = input;
|
|
26
|
+
if (inputVariables.includes("stop")) {
|
|
27
|
+
throw new Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");
|
|
28
|
+
}
|
|
29
|
+
Object.assign(this, input);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Load a prompt template from a json-like object describing it.
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* Deserializing needs to be async because templates (e.g. {@link FewShotPromptTemplate}) can
|
|
36
|
+
* reference remote resources that we read asynchronously with a web
|
|
37
|
+
* request.
|
|
38
|
+
*/
|
|
39
|
+
static async deserialize(data) {
|
|
40
|
+
switch (data._type) {
|
|
41
|
+
case "prompt":
|
|
42
|
+
return index_1.PromptTemplate.deserialize(data);
|
|
43
|
+
case undefined:
|
|
44
|
+
return index_1.PromptTemplate.deserialize({ ...data, _type: "prompt" });
|
|
45
|
+
case "few_shot":
|
|
46
|
+
return index_1.FewShotPromptTemplate.deserialize(data);
|
|
47
|
+
default:
|
|
48
|
+
throw new Error(`Invalid prompt type in config: ${data._type}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.BasePromptTemplate = BasePromptTemplate;
|
|
53
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../prompts/base.ts"],"names":[],"mappings":";;;AACA,mCAAgE;AAEhE,MAAM,eAAe,GAAG,CAAC,sBAAc,EAAE,6BAAqB,CAAC,CAAC;AAwBhE;;;;GAIG;AACH,MAAsB,kBAAkB;IAKtC,YAAY,KAA8B;QAJ1C;;;;;WAAyB;QAEzB;;;;;WAAgC;QAG9B,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QACjC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;SACH;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAyBD;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,IAAkC;QAElC,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,QAAQ;gBACX,OAAO,sBAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,KAAK,SAAS;gBACZ,OAAO,sBAAc,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,KAAK,UAAU;gBACb,OAAO,6BAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjD;gBACE,MAAM,IAAI,KAAK,CACb,kCACG,IAAqC,CAAC,KACzC,EAAE,CACH,CAAC;SACL;IACH,CAAC;CACF;AAhED,gDAgEC"}
|
|
@@ -19,15 +19,50 @@ export type SerializedFewShotTemplate = {
|
|
|
19
19
|
template_format: TemplateFormat;
|
|
20
20
|
};
|
|
21
21
|
export interface FewShotPromptTemplateInput extends BasePromptTemplateInput {
|
|
22
|
+
/**
|
|
23
|
+
* Examples to format into the prompt. Exactly one of this or
|
|
24
|
+
* {@link exampleSelector} must be
|
|
25
|
+
* provided.
|
|
26
|
+
*/
|
|
22
27
|
examples?: Example[];
|
|
23
|
-
|
|
28
|
+
/**
|
|
29
|
+
* An {@link ExampleSelector} Examples to format into the prompt. Exactly one of this or
|
|
30
|
+
* {@link examples} must be
|
|
31
|
+
* provided.
|
|
32
|
+
*/
|
|
24
33
|
exampleSelector?: ExampleSelector;
|
|
34
|
+
/**
|
|
35
|
+
* An {@link PromptTemplate} used to format a single example.
|
|
36
|
+
*/
|
|
37
|
+
examplePrompt: PromptTemplate;
|
|
38
|
+
/**
|
|
39
|
+
* String separator used to join the prefix, the examples, and suffix.
|
|
40
|
+
*/
|
|
25
41
|
exampleSeparator: string;
|
|
42
|
+
/**
|
|
43
|
+
* A prompt template string to put before the examples.
|
|
44
|
+
*
|
|
45
|
+
* @defaultValue `""`
|
|
46
|
+
*/
|
|
26
47
|
prefix: string;
|
|
48
|
+
/**
|
|
49
|
+
* A prompt template string to put after the examples.
|
|
50
|
+
*/
|
|
27
51
|
suffix: string;
|
|
52
|
+
/**
|
|
53
|
+
* The format of the prompt template. Options are: 'f-string', 'jinja-2'
|
|
54
|
+
*/
|
|
28
55
|
templateFormat: TemplateFormat;
|
|
56
|
+
/**
|
|
57
|
+
* Whether or not to try validating the template on initialization.
|
|
58
|
+
*/
|
|
29
59
|
validateTemplate?: boolean;
|
|
30
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Prompt template that contains few-shot examples.
|
|
63
|
+
* @augments BasePromptTemplate
|
|
64
|
+
* @augments FewShotPromptTemplateInput
|
|
65
|
+
*/
|
|
31
66
|
export declare class FewShotPromptTemplate extends BasePromptTemplate implements FewShotPromptTemplateInput {
|
|
32
67
|
examples?: InputValues[];
|
|
33
68
|
exampleSelector?: ExampleSelector;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.FewShotPromptTemplate = void 0;
|
|
13
4
|
const index_1 = require("./index");
|
|
@@ -15,6 +6,11 @@ const template_1 = require("./template");
|
|
|
15
6
|
const util_1 = require("../util");
|
|
16
7
|
const prompt_1 = require("./prompt");
|
|
17
8
|
const parser_1 = require("./parser");
|
|
9
|
+
/**
|
|
10
|
+
* Prompt template that contains few-shot examples.
|
|
11
|
+
* @augments BasePromptTemplate
|
|
12
|
+
* @augments FewShotPromptTemplateInput
|
|
13
|
+
*/
|
|
18
14
|
class FewShotPromptTemplate extends index_1.BasePromptTemplate {
|
|
19
15
|
constructor(input) {
|
|
20
16
|
super(input);
|
|
@@ -112,30 +108,28 @@ class FewShotPromptTemplate extends index_1.BasePromptTemplate {
|
|
|
112
108
|
examples: this.examples,
|
|
113
109
|
};
|
|
114
110
|
}
|
|
115
|
-
static deserialize(data) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
templateFormat: data.template_format,
|
|
138
|
-
});
|
|
111
|
+
static async deserialize(data) {
|
|
112
|
+
const serializedPrompt = (0, util_1.resolveConfigFromFile)("example_prompt", data);
|
|
113
|
+
const examplePrompt = await prompt_1.PromptTemplate.deserialize(serializedPrompt);
|
|
114
|
+
let examples;
|
|
115
|
+
if (typeof data.examples === "string") {
|
|
116
|
+
examples = (0, util_1.parseFileConfig)(data.examples, [".json", ".yml", ".yaml"]);
|
|
117
|
+
}
|
|
118
|
+
else if (Array.isArray(data.examples)) {
|
|
119
|
+
examples = data.examples;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
throw new Error("Invalid examples format. Only list or string are supported.");
|
|
123
|
+
}
|
|
124
|
+
return new FewShotPromptTemplate({
|
|
125
|
+
inputVariables: data.input_variables,
|
|
126
|
+
outputParser: data.output_parser && parser_1.BaseOutputParser.deserialize(data.output_parser),
|
|
127
|
+
examplePrompt,
|
|
128
|
+
examples,
|
|
129
|
+
exampleSeparator: data.example_separator,
|
|
130
|
+
prefix: (0, util_1.resolveTemplateFromFile)("prefix", data),
|
|
131
|
+
suffix: (0, util_1.resolveTemplateFromFile)("suffix", data),
|
|
132
|
+
templateFormat: data.template_format,
|
|
139
133
|
});
|
|
140
134
|
}
|
|
141
135
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"few_shot.js","sourceRoot":"","sources":["../../prompts/few_shot.ts"],"names":[],"mappings":"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"}
|