langchain 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/agents/agent.d.ts +54 -0
- package/dist/cjs/agents/agent.js +81 -59
- package/dist/cjs/agents/agent.js.map +1 -1
- package/dist/cjs/agents/executor.d.ts +5 -0
- package/dist/cjs/agents/executor.js +36 -42
- package/dist/cjs/agents/executor.js.map +1 -1
- package/dist/cjs/agents/helpers.js +4 -13
- package/dist/cjs/agents/helpers.js.map +1 -1
- package/dist/cjs/agents/index.d.ts +1 -0
- package/dist/cjs/agents/index.js +5 -1
- package/dist/cjs/agents/index.js.map +1 -1
- package/dist/cjs/agents/initialize.d.ts +4 -0
- package/dist/cjs/agents/initialize.js +21 -0
- package/dist/cjs/agents/initialize.js.map +1 -0
- package/dist/cjs/agents/load.js +6 -15
- package/dist/cjs/agents/load.js.map +1 -1
- package/dist/cjs/agents/mrkl/index.d.ts +17 -0
- package/dist/cjs/agents/mrkl/index.js +21 -29
- package/dist/cjs/agents/mrkl/index.js.map +1 -1
- package/dist/cjs/agents/mrkl/prompt.js +0 -1
- package/dist/cjs/agents/mrkl/prompt.js.map +1 -1
- package/dist/cjs/agents/tests/agent.test.js +19 -15
- package/dist/cjs/agents/tests/agent.test.js.map +1 -1
- package/dist/cjs/agents/tests/calculator.test.d.ts +1 -0
- package/dist/cjs/agents/tests/calculator.test.js +30 -0
- package/dist/cjs/agents/tests/calculator.test.js.map +1 -0
- package/dist/cjs/agents/tools/base.d.ts +6 -0
- package/dist/cjs/agents/tools/base.js +15 -0
- package/dist/cjs/agents/tools/base.js.map +1 -0
- package/dist/cjs/agents/tools/calculator.d.ts +6 -0
- package/dist/cjs/agents/tools/calculator.js +33 -0
- package/dist/cjs/agents/tools/calculator.js.map +1 -0
- package/dist/cjs/agents/tools/index.d.ts +2 -6
- package/dist/cjs/agents/tools/index.js +5 -1
- package/dist/cjs/agents/tools/index.js.map +1 -1
- package/dist/cjs/agents/tools/serpapi.d.ts +18 -3
- package/dist/cjs/agents/tools/serpapi.js +88 -45
- package/dist/cjs/agents/tools/serpapi.js.map +1 -1
- package/dist/cjs/chains/base.d.ts +34 -4
- package/dist/cjs/chains/base.js +41 -3
- package/dist/cjs/chains/base.js.map +1 -1
- package/dist/cjs/chains/chat_vector_db_chain.d.ts +41 -0
- package/dist/cjs/chains/chat_vector_db_chain.js +132 -0
- package/dist/cjs/chains/chat_vector_db_chain.js.map +1 -0
- package/dist/cjs/chains/combine_docs_chain.d.ts +35 -0
- package/dist/cjs/chains/combine_docs_chain.js +75 -0
- package/dist/cjs/chains/combine_docs_chain.js.map +1 -0
- package/dist/cjs/chains/conversation.d.ts +12 -0
- package/dist/cjs/chains/conversation.js +29 -0
- package/dist/cjs/chains/conversation.js.map +1 -0
- package/dist/cjs/chains/index.d.ts +5 -1
- package/dist/cjs/chains/index.js +10 -1
- package/dist/cjs/chains/index.js.map +1 -1
- package/dist/cjs/chains/llm_chain.d.ts +35 -0
- package/dist/cjs/chains/llm_chain.js +66 -34
- package/dist/cjs/chains/llm_chain.js.map +1 -1
- package/dist/cjs/chains/load.d.ts +20 -1
- package/dist/cjs/chains/load.js +25 -17
- package/dist/cjs/chains/load.js.map +1 -1
- package/dist/cjs/chains/question_answering/load.d.ts +3 -0
- package/dist/cjs/chains/question_answering/load.js +13 -0
- package/dist/cjs/chains/question_answering/load.js.map +1 -0
- package/dist/cjs/chains/question_answering/stuff_prompts.d.ts +2 -0
- package/dist/cjs/chains/question_answering/stuff_prompts.js +10 -0
- package/dist/cjs/chains/question_answering/stuff_prompts.js.map +1 -0
- package/dist/cjs/chains/question_answering/tests/load.test.d.ts +1 -0
- package/dist/cjs/chains/question_answering/tests/load.test.js +14 -0
- package/dist/cjs/chains/question_answering/tests/load.test.js.map +1 -0
- package/dist/cjs/chains/tests/chat_vector_db_qa_chain.test.d.ts +1 -0
- package/dist/cjs/chains/tests/chat_vector_db_qa_chain.test.js +35 -0
- package/dist/cjs/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
- package/dist/cjs/chains/tests/combine_docs_chain.test.d.ts +1 -0
- package/dist/cjs/chains/tests/combine_docs_chain.test.js +28 -0
- package/dist/cjs/chains/tests/combine_docs_chain.test.js.map +1 -0
- package/dist/cjs/chains/tests/llm_chain.test.js +13 -16
- package/dist/cjs/chains/tests/llm_chain.test.js.map +1 -1
- package/dist/cjs/chains/tests/vector_db_qa_chain.test.d.ts +1 -0
- package/dist/cjs/chains/tests/vector_db_qa_chain.test.js +46 -0
- package/dist/cjs/chains/tests/vector_db_qa_chain.test.js.map +1 -0
- package/dist/cjs/chains/vector_db_qa.d.ts +36 -0
- package/dist/cjs/chains/vector_db_qa.js +85 -0
- package/dist/cjs/chains/vector_db_qa.js.map +1 -0
- package/dist/cjs/document.d.ts +13 -0
- package/dist/cjs/document.js +28 -0
- package/dist/cjs/document.js.map +1 -0
- package/dist/cjs/embeddings/base.d.ts +4 -0
- package/dist/cjs/embeddings/base.js +7 -0
- package/dist/cjs/embeddings/base.js.map +1 -0
- package/dist/cjs/embeddings/index.d.ts +1 -0
- package/dist/cjs/embeddings/index.js +6 -0
- package/dist/cjs/embeddings/index.js.map +1 -0
- package/dist/cjs/embeddings/openai.d.ts +20 -0
- package/dist/cjs/embeddings/openai.js +86 -0
- package/dist/cjs/embeddings/openai.js.map +1 -0
- package/dist/cjs/embeddings/tests/openai.test.d.ts +1 -0
- package/dist/cjs/embeddings/tests/openai.test.js +17 -0
- package/dist/cjs/embeddings/tests/openai.test.js.map +1 -0
- package/dist/cjs/llms/base.d.ts +41 -0
- package/dist/cjs/llms/base.js +97 -92
- package/dist/cjs/llms/base.js.map +1 -1
- package/dist/cjs/llms/index.d.ts +19 -0
- package/dist/cjs/llms/load.d.ts +10 -2
- package/dist/cjs/llms/load.js +12 -4
- package/dist/cjs/llms/load.js.map +1 -1
- package/dist/cjs/llms/openai.d.ts +69 -7
- package/dist/cjs/llms/openai.js +96 -58
- package/dist/cjs/llms/openai.js.map +1 -1
- package/dist/cjs/llms/tests/openai.test.js +3 -12
- package/dist/cjs/llms/tests/openai.test.js.map +1 -1
- package/dist/cjs/memory/base.d.ts +7 -0
- package/dist/cjs/memory/base.js +7 -0
- package/dist/cjs/memory/base.js.map +1 -0
- package/dist/cjs/memory/buffer_memory.d.ts +15 -0
- package/dist/cjs/memory/buffer_memory.js +57 -0
- package/dist/cjs/memory/buffer_memory.js.map +1 -0
- package/dist/cjs/memory/index.d.ts +2 -0
- package/dist/cjs/memory/index.js +8 -0
- package/dist/cjs/memory/index.js.map +1 -0
- package/dist/cjs/memory/tests/buffer_memory.test.d.ts +1 -0
- package/dist/cjs/memory/tests/buffer_memory.test.js +17 -0
- package/dist/cjs/memory/tests/buffer_memory.test.js.map +1 -0
- package/dist/cjs/prompt/base.d.ts +39 -0
- package/dist/cjs/prompt/base.js +24 -25
- package/dist/cjs/prompt/base.js.map +1 -1
- package/dist/cjs/prompt/few_shot.d.ts +36 -1
- package/dist/cjs/prompt/few_shot.js +27 -33
- package/dist/cjs/prompt/few_shot.js.map +1 -1
- package/dist/cjs/prompt/index.d.ts +1 -0
- package/dist/cjs/prompt/index.js +3 -1
- package/dist/cjs/prompt/index.js.map +1 -1
- package/dist/cjs/prompt/load.d.ts +17 -0
- package/dist/cjs/prompt/load.js +21 -13
- package/dist/cjs/prompt/load.js.map +1 -1
- package/dist/cjs/prompt/parser.d.ts +30 -0
- package/dist/cjs/prompt/parser.js +21 -0
- package/dist/cjs/prompt/parser.js.map +1 -1
- package/dist/cjs/prompt/prompt.d.ts +48 -0
- package/dist/cjs/prompt/prompt.js +38 -18
- package/dist/cjs/prompt/prompt.js.map +1 -1
- package/dist/cjs/prompt/template.js.map +1 -1
- package/dist/cjs/prompt/tests/load.test.js +6 -15
- package/dist/cjs/prompt/tests/load.test.js.map +1 -1
- package/dist/cjs/text_splitter.d.ts +32 -0
- package/dist/cjs/text_splitter.js +165 -0
- package/dist/cjs/text_splitter.js.map +1 -0
- package/dist/cjs/text_splitter.test.d.ts +1 -0
- package/dist/cjs/text_splitter.test.js +87 -0
- package/dist/cjs/text_splitter.test.js.map +1 -0
- package/dist/cjs/util/hub.d.ts +2 -1
- package/dist/cjs/util/hub.js +5 -14
- package/dist/cjs/util/hub.js.map +1 -1
- package/dist/cjs/util/index.d.ts +1 -0
- package/dist/cjs/util/index.js +13 -25
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/cjs/vectorstores/base.d.ts +18 -0
- package/dist/cjs/vectorstores/base.js +38 -0
- package/dist/cjs/vectorstores/base.js.map +1 -0
- package/dist/cjs/vectorstores/hnswlib.d.ts +19 -0
- package/dist/cjs/vectorstores/hnswlib.js +126 -0
- package/dist/cjs/vectorstores/hnswlib.js.map +1 -0
- package/dist/cjs/vectorstores/index.d.ts +1 -0
- package/dist/cjs/vectorstores/index.js +6 -0
- package/dist/cjs/vectorstores/index.js.map +1 -0
- package/dist/cjs/vectorstores/tests/hnswlib.test.d.ts +1 -0
- package/dist/cjs/vectorstores/tests/hnswlib.test.js +44 -0
- package/dist/cjs/vectorstores/tests/hnswlib.test.js.map +1 -0
- package/dist/esm/agents/agent.d.ts +54 -0
- package/dist/esm/agents/agent.js +81 -59
- package/dist/esm/agents/agent.js.map +1 -1
- package/dist/esm/agents/executor.d.ts +5 -0
- package/dist/esm/agents/executor.js +36 -42
- package/dist/esm/agents/executor.js.map +1 -1
- package/dist/esm/agents/helpers.js +4 -13
- package/dist/esm/agents/helpers.js.map +1 -1
- package/dist/esm/agents/index.d.ts +1 -0
- package/dist/esm/agents/index.js +2 -0
- package/dist/esm/agents/index.js.map +1 -1
- package/dist/esm/agents/initialize.d.ts +4 -0
- package/dist/esm/agents/initialize.js +17 -0
- package/dist/esm/agents/initialize.js.map +1 -0
- package/dist/esm/agents/load.js +6 -15
- package/dist/esm/agents/load.js.map +1 -1
- package/dist/esm/agents/mrkl/index.d.ts +17 -0
- package/dist/esm/agents/mrkl/index.js +21 -29
- package/dist/esm/agents/mrkl/index.js.map +1 -1
- package/dist/esm/agents/mrkl/prompt.js +0 -1
- package/dist/esm/agents/mrkl/prompt.js.map +1 -1
- package/dist/esm/agents/tests/agent.test.js +19 -15
- package/dist/esm/agents/tests/agent.test.js.map +1 -1
- package/dist/esm/agents/tests/calculator.test.d.ts +1 -0
- package/dist/esm/agents/tests/calculator.test.js +28 -0
- package/dist/esm/agents/tests/calculator.test.js.map +1 -0
- package/dist/esm/agents/tools/base.d.ts +6 -0
- package/dist/esm/agents/tools/base.js +11 -0
- package/dist/esm/agents/tools/base.js.map +1 -0
- package/dist/esm/agents/tools/calculator.d.ts +6 -0
- package/dist/esm/agents/tools/calculator.js +29 -0
- package/dist/esm/agents/tools/calculator.js.map +1 -0
- package/dist/esm/agents/tools/index.d.ts +2 -6
- package/dist/esm/agents/tools/index.js +2 -0
- package/dist/esm/agents/tools/index.js.map +1 -1
- package/dist/esm/agents/tools/serpapi.d.ts +18 -3
- package/dist/esm/agents/tools/serpapi.js +88 -45
- package/dist/esm/agents/tools/serpapi.js.map +1 -1
- package/dist/esm/chains/base.d.ts +34 -4
- package/dist/esm/chains/base.js +42 -4
- package/dist/esm/chains/base.js.map +1 -1
- package/dist/esm/chains/chat_vector_db_chain.d.ts +41 -0
- package/dist/esm/chains/chat_vector_db_chain.js +128 -0
- package/dist/esm/chains/chat_vector_db_chain.js.map +1 -0
- package/dist/esm/chains/combine_docs_chain.d.ts +35 -0
- package/dist/esm/chains/combine_docs_chain.js +71 -0
- package/dist/esm/chains/combine_docs_chain.js.map +1 -0
- package/dist/esm/chains/conversation.d.ts +12 -0
- package/dist/esm/chains/conversation.js +25 -0
- package/dist/esm/chains/conversation.js.map +1 -0
- package/dist/esm/chains/index.d.ts +5 -1
- package/dist/esm/chains/index.js +5 -1
- package/dist/esm/chains/index.js.map +1 -1
- package/dist/esm/chains/llm_chain.d.ts +35 -0
- package/dist/esm/chains/llm_chain.js +65 -34
- package/dist/esm/chains/llm_chain.js.map +1 -1
- package/dist/esm/chains/load.d.ts +20 -1
- package/dist/esm/chains/load.js +25 -17
- package/dist/esm/chains/load.js.map +1 -1
- package/dist/esm/chains/question_answering/load.d.ts +3 -0
- package/dist/esm/chains/question_answering/load.js +9 -0
- package/dist/esm/chains/question_answering/load.js.map +1 -0
- package/dist/esm/chains/question_answering/stuff_prompts.d.ts +2 -0
- package/dist/esm/chains/question_answering/stuff_prompts.js +7 -0
- package/dist/esm/chains/question_answering/stuff_prompts.js.map +1 -0
- package/dist/esm/chains/question_answering/tests/load.test.d.ts +1 -0
- package/dist/esm/chains/question_answering/tests/load.test.js +12 -0
- package/dist/esm/chains/question_answering/tests/load.test.js.map +1 -0
- package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.d.ts +1 -0
- package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.js +33 -0
- package/dist/esm/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
- package/dist/esm/chains/tests/combine_docs_chain.test.d.ts +1 -0
- package/dist/esm/chains/tests/combine_docs_chain.test.js +26 -0
- package/dist/esm/chains/tests/combine_docs_chain.test.js.map +1 -0
- package/dist/esm/chains/tests/llm_chain.test.js +14 -17
- package/dist/esm/chains/tests/llm_chain.test.js.map +1 -1
- package/dist/esm/chains/tests/vector_db_qa_chain.test.d.ts +1 -0
- package/dist/esm/chains/tests/vector_db_qa_chain.test.js +44 -0
- package/dist/esm/chains/tests/vector_db_qa_chain.test.js.map +1 -0
- package/dist/esm/chains/vector_db_qa.d.ts +36 -0
- package/dist/esm/chains/vector_db_qa.js +81 -0
- package/dist/esm/chains/vector_db_qa.js.map +1 -0
- package/dist/esm/document.d.ts +13 -0
- package/dist/esm/document.js +24 -0
- package/dist/esm/document.js.map +1 -0
- package/dist/esm/embeddings/base.d.ts +4 -0
- package/dist/esm/embeddings/base.js +3 -0
- package/dist/esm/embeddings/base.js.map +1 -0
- package/dist/esm/embeddings/index.d.ts +1 -0
- package/dist/esm/embeddings/index.js +2 -0
- package/dist/esm/embeddings/index.js.map +1 -0
- package/dist/esm/embeddings/openai.d.ts +20 -0
- package/dist/esm/embeddings/openai.js +82 -0
- package/dist/esm/embeddings/openai.js.map +1 -0
- package/dist/esm/embeddings/tests/openai.test.d.ts +1 -0
- package/dist/esm/embeddings/tests/openai.test.js +15 -0
- package/dist/esm/embeddings/tests/openai.test.js.map +1 -0
- package/dist/esm/llms/base.d.ts +41 -0
- package/dist/esm/llms/base.js +97 -92
- package/dist/esm/llms/base.js.map +1 -1
- package/dist/esm/llms/index.d.ts +19 -0
- package/dist/esm/llms/load.d.ts +10 -2
- package/dist/esm/llms/load.js +10 -2
- package/dist/esm/llms/load.js.map +1 -1
- package/dist/esm/llms/openai.d.ts +69 -7
- package/dist/esm/llms/openai.js +96 -58
- package/dist/esm/llms/openai.js.map +1 -1
- package/dist/esm/llms/tests/openai.test.js +3 -12
- package/dist/esm/llms/tests/openai.test.js.map +1 -1
- package/dist/esm/memory/base.d.ts +7 -0
- package/dist/esm/memory/base.js +3 -0
- package/dist/esm/memory/base.js.map +1 -0
- package/dist/esm/memory/buffer_memory.d.ts +15 -0
- package/dist/esm/memory/buffer_memory.js +53 -0
- package/dist/esm/memory/buffer_memory.js.map +1 -0
- package/dist/esm/memory/index.d.ts +2 -0
- package/dist/esm/memory/index.js +3 -0
- package/dist/esm/memory/index.js.map +1 -0
- package/dist/esm/memory/tests/buffer_memory.test.d.ts +1 -0
- package/dist/esm/memory/tests/buffer_memory.test.js +15 -0
- package/dist/esm/memory/tests/buffer_memory.test.js.map +1 -0
- package/dist/esm/prompt/base.d.ts +39 -0
- package/dist/esm/prompt/base.js +24 -25
- package/dist/esm/prompt/base.js.map +1 -1
- package/dist/esm/prompt/few_shot.d.ts +36 -1
- package/dist/esm/prompt/few_shot.js +27 -33
- package/dist/esm/prompt/few_shot.js.map +1 -1
- package/dist/esm/prompt/index.d.ts +1 -0
- package/dist/esm/prompt/index.js +1 -0
- package/dist/esm/prompt/index.js.map +1 -1
- package/dist/esm/prompt/load.d.ts +17 -0
- package/dist/esm/prompt/load.js +21 -13
- package/dist/esm/prompt/load.js.map +1 -1
- package/dist/esm/prompt/parser.d.ts +30 -0
- package/dist/esm/prompt/parser.js +21 -0
- package/dist/esm/prompt/parser.js.map +1 -1
- package/dist/esm/prompt/prompt.d.ts +48 -0
- package/dist/esm/prompt/prompt.js +38 -18
- package/dist/esm/prompt/prompt.js.map +1 -1
- package/dist/esm/prompt/template.js.map +1 -1
- package/dist/esm/prompt/tests/load.test.js +6 -15
- package/dist/esm/prompt/tests/load.test.js.map +1 -1
- package/dist/esm/text_splitter.d.ts +32 -0
- package/dist/esm/text_splitter.js +160 -0
- package/dist/esm/text_splitter.js.map +1 -0
- package/dist/esm/text_splitter.test.d.ts +1 -0
- package/dist/esm/text_splitter.test.js +85 -0
- package/dist/esm/text_splitter.test.js.map +1 -0
- package/dist/esm/util/hub.d.ts +2 -1
- package/dist/esm/util/hub.js +5 -14
- package/dist/esm/util/hub.js.map +1 -1
- package/dist/esm/util/index.d.ts +1 -0
- package/dist/esm/util/index.js +11 -24
- package/dist/esm/util/index.js.map +1 -1
- package/dist/esm/vectorstores/base.d.ts +18 -0
- package/dist/esm/vectorstores/base.js +33 -0
- package/dist/esm/vectorstores/base.js.map +1 -0
- package/dist/esm/vectorstores/hnswlib.d.ts +19 -0
- package/dist/esm/vectorstores/hnswlib.js +119 -0
- package/dist/esm/vectorstores/hnswlib.js.map +1 -0
- package/dist/esm/vectorstores/index.d.ts +1 -0
- package/dist/esm/vectorstores/index.js +2 -0
- package/dist/esm/vectorstores/index.js.map +1 -0
- package/dist/esm/vectorstores/tests/hnswlib.test.d.ts +1 -0
- package/dist/esm/vectorstores/tests/hnswlib.test.js +39 -0
- package/dist/esm/vectorstores/tests/hnswlib.test.js.map +1 -0
- package/package.json +65 -38
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HNSWLib = void 0;
|
|
4
|
+
var hnswlib_1 = require("./hnswlib");
|
|
5
|
+
Object.defineProperty(exports, "HNSWLib", { enumerable: true, get: function () { return hnswlib_1.HNSWLib; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../vectorstores/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const globals_1 = require("@jest/globals");
|
|
7
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
10
|
+
const hnswlib_1 = require("../hnswlib");
|
|
11
|
+
const embeddings_1 = require("../../embeddings");
|
|
12
|
+
(0, globals_1.test)("Test HNSWLib.fromTexts", async () => {
|
|
13
|
+
var _a;
|
|
14
|
+
const vectorStore = await hnswlib_1.HNSWLib.fromTexts(["Hello world", "Bye bye", "hello nice world"], [{ id: 2 }, { id: 1 }, { id: 3 }], new embeddings_1.OpenAIEmbeddings());
|
|
15
|
+
(0, globals_1.expect)((_a = vectorStore.index) === null || _a === void 0 ? void 0 : _a.getCurrentCount()).toBe(3);
|
|
16
|
+
const resultOne = await vectorStore.similaritySearch("hello world", 1);
|
|
17
|
+
const resultOneMetadatas = resultOne.map(({ metadata }) => (metadata));
|
|
18
|
+
(0, globals_1.expect)(resultOneMetadatas).toEqual([{ id: 2 }]);
|
|
19
|
+
const resultTwo = await vectorStore.similaritySearch("hello world", 3);
|
|
20
|
+
const resultTwoMetadatas = resultTwo.map(({ metadata }) => (metadata));
|
|
21
|
+
(0, globals_1.expect)(resultTwoMetadatas).toEqual([{ id: 2 }, { id: 3 }, { id: 1 }]);
|
|
22
|
+
});
|
|
23
|
+
(0, globals_1.test)("Test HNSWLib.load and HNSWLib.save", async () => {
|
|
24
|
+
var _a;
|
|
25
|
+
const vectorStore = await hnswlib_1.HNSWLib.fromTexts(["Hello world", "Bye bye", "hello nice world"], [{ id: 2 }, { id: 1 }, { id: 3 }], new embeddings_1.OpenAIEmbeddings());
|
|
26
|
+
(0, globals_1.expect)((_a = vectorStore.index) === null || _a === void 0 ? void 0 : _a.getCurrentCount()).toBe(3);
|
|
27
|
+
const resultOne = await vectorStore.similaritySearch("hello world", 1);
|
|
28
|
+
const resultOneMetadatas = resultOne.map(({ metadata }) => (metadata));
|
|
29
|
+
(0, globals_1.expect)(resultOneMetadatas).toEqual([{ id: 2 }]);
|
|
30
|
+
const resultTwo = await vectorStore.similaritySearch("hello world", 3);
|
|
31
|
+
const resultTwoMetadatas = resultTwo.map(({ metadata }) => (metadata));
|
|
32
|
+
(0, globals_1.expect)(resultTwoMetadatas).toEqual([{ id: 2 }, { id: 3 }, { id: 1 }]);
|
|
33
|
+
const tempDirectory = await promises_1.default.mkdtemp(path_1.default.join(os_1.default.tmpdir(), "lcjs-"));
|
|
34
|
+
console.log(tempDirectory);
|
|
35
|
+
await vectorStore.save(tempDirectory);
|
|
36
|
+
const loadedVectorStore = await hnswlib_1.HNSWLib.load(tempDirectory, new embeddings_1.OpenAIEmbeddings());
|
|
37
|
+
const resultThree = await loadedVectorStore.similaritySearch("hello world", 1);
|
|
38
|
+
const resultThreeMetadatas = resultThree.map(({ metadata }) => (metadata));
|
|
39
|
+
(0, globals_1.expect)(resultThreeMetadatas).toEqual([{ id: 2 }]);
|
|
40
|
+
const resultFour = await loadedVectorStore.similaritySearch("hello world", 3);
|
|
41
|
+
const resultFourMetadatas = resultFour.map(({ metadata }) => (metadata));
|
|
42
|
+
(0, globals_1.expect)(resultFourMetadatas).toEqual([{ id: 2 }, { id: 3 }, { id: 1 }]);
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=hnswlib.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hnswlib.test.js","sourceRoot":"","sources":["../../../../vectorstores/tests/hnswlib.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,16 @@ import { BaseLLM } from "../llms";
|
|
|
4
4
|
import { LLMChain } from "../chains/llm_chain";
|
|
5
5
|
import { BasePromptTemplate } from "../prompt";
|
|
6
6
|
export interface StaticAgent {
|
|
7
|
+
/**
|
|
8
|
+
* Create a prompt for this class
|
|
9
|
+
*
|
|
10
|
+
* @param tools - List of tools the agent will have access to, used to format the prompt.
|
|
11
|
+
* @param fields - Additional fields used to format the prompt.
|
|
12
|
+
*
|
|
13
|
+
* @returns A PromptTemplate assembled from the given tools and fields.
|
|
14
|
+
* */
|
|
7
15
|
createPrompt(tools: Tool[], fields?: Record<string, any>): BasePromptTemplate;
|
|
16
|
+
/** Construct an agent from an LLM and a list of tools */
|
|
8
17
|
fromLLMAndTools(llm: BaseLLM, tools: Tool[], args?: Record<string, any>): Agent;
|
|
9
18
|
validateTools(_: Tool[]): void;
|
|
10
19
|
}
|
|
@@ -14,26 +23,71 @@ export interface AgentInput {
|
|
|
14
23
|
llmChain: LLMChain;
|
|
15
24
|
allowedTools?: string[];
|
|
16
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Class responsible for calling a language model and deciding an action.
|
|
28
|
+
*
|
|
29
|
+
* @remarks This is driven by an LLMChain. The prompt in the LLMChain *must*
|
|
30
|
+
* include a variable called "agent_scratchpad" where the agent can put its
|
|
31
|
+
* intermediary work.
|
|
32
|
+
*/
|
|
17
33
|
export declare abstract class Agent {
|
|
18
34
|
llmChain: LLMChain;
|
|
19
35
|
allowedTools?: string[];
|
|
20
36
|
returnValues: string[];
|
|
21
37
|
constructor(input: AgentInput);
|
|
38
|
+
/**
|
|
39
|
+
* Extract tool and tool input from LLM output.
|
|
40
|
+
*/
|
|
22
41
|
abstract extractToolAndInput(input: string): {
|
|
23
42
|
tool: string;
|
|
24
43
|
input: string;
|
|
25
44
|
} | null;
|
|
45
|
+
/**
|
|
46
|
+
* Prefix to append the observation with.
|
|
47
|
+
*/
|
|
26
48
|
abstract observationPrefix(): string;
|
|
49
|
+
/**
|
|
50
|
+
* Prefix to append the LLM call with.
|
|
51
|
+
*/
|
|
27
52
|
abstract llmPrefix(): string;
|
|
53
|
+
/**
|
|
54
|
+
* Return the string type key uniquely identifying this class of agent.
|
|
55
|
+
*/
|
|
28
56
|
abstract _agentType(): string;
|
|
57
|
+
/**
|
|
58
|
+
* Prepare the agent for a new call, if needed
|
|
59
|
+
*/
|
|
29
60
|
prepareForNewCall(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Validate that appropriate tools are passed in
|
|
63
|
+
*/
|
|
30
64
|
static validateTools(_: Tool[]): void;
|
|
31
65
|
_stop(): string[];
|
|
66
|
+
/**
|
|
67
|
+
* Name of tool to use to terminate the chain.
|
|
68
|
+
*/
|
|
32
69
|
finishToolName(): string;
|
|
70
|
+
/**
|
|
71
|
+
* Construct a scratchpad to let the agent continue its thought process
|
|
72
|
+
*/
|
|
33
73
|
private constructScratchPad;
|
|
34
74
|
private _plan;
|
|
75
|
+
/**
|
|
76
|
+
* Decide what to do given some input.
|
|
77
|
+
*
|
|
78
|
+
* @param steps - Steps the LLM has taken so far, along with observations from each.
|
|
79
|
+
* @param inputs - User inputs.
|
|
80
|
+
*
|
|
81
|
+
* @returns Action specifying what tool to use.
|
|
82
|
+
*/
|
|
35
83
|
plan(steps: AgentStep[], inputs: ChainValues): Promise<AgentAction | AgentFinish>;
|
|
84
|
+
/**
|
|
85
|
+
* Return response when agent has been stopped due to max iterations
|
|
86
|
+
*/
|
|
36
87
|
returnStoppedResponse(earlyStoppingMethod: StoppingMethod, steps: AgentStep[], inputs: ChainValues): Promise<AgentFinish>;
|
|
88
|
+
/**
|
|
89
|
+
* Load an agent from a json-like object describing it.
|
|
90
|
+
*/
|
|
37
91
|
static deserialize(data: SerializedAgent & {
|
|
38
92
|
llm?: BaseLLM;
|
|
39
93
|
tools?: Tool[];
|
package/dist/esm/agents/agent.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { ZeroShotAgent, } from "./index";
|
|
11
2
|
class ParseError extends Error {
|
|
12
3
|
constructor(msg, output) {
|
|
@@ -21,6 +12,13 @@ class ParseError extends Error {
|
|
|
21
12
|
}
|
|
22
13
|
}
|
|
23
14
|
export const staticImplements = (_) => { };
|
|
15
|
+
/**
|
|
16
|
+
* Class responsible for calling a language model and deciding an action.
|
|
17
|
+
*
|
|
18
|
+
* @remarks This is driven by an LLMChain. The prompt in the LLMChain *must*
|
|
19
|
+
* include a variable called "agent_scratchpad" where the agent can put its
|
|
20
|
+
* intermediary work.
|
|
21
|
+
*/
|
|
24
22
|
export class Agent {
|
|
25
23
|
constructor(input) {
|
|
26
24
|
Object.defineProperty(this, "llmChain", {
|
|
@@ -44,15 +42,27 @@ export class Agent {
|
|
|
44
42
|
this.llmChain = input.llmChain;
|
|
45
43
|
this.allowedTools = input.allowedTools;
|
|
46
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Prepare the agent for a new call, if needed
|
|
47
|
+
*/
|
|
47
48
|
prepareForNewCall() { }
|
|
49
|
+
/**
|
|
50
|
+
* Validate that appropriate tools are passed in
|
|
51
|
+
*/
|
|
48
52
|
// eslint-disable-next-line no-unused-vars
|
|
49
53
|
static validateTools(_) { }
|
|
50
54
|
_stop() {
|
|
51
55
|
return [`\n${this.observationPrefix()}`];
|
|
52
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Name of tool to use to terminate the chain.
|
|
59
|
+
*/
|
|
53
60
|
finishToolName() {
|
|
54
61
|
return "Final Answer";
|
|
55
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Construct a scratchpad to let the agent continue its thought process
|
|
65
|
+
*/
|
|
56
66
|
constructScratchPad(steps) {
|
|
57
67
|
return steps.reduce((thoughts, { action, observation }) => thoughts +
|
|
58
68
|
[
|
|
@@ -61,64 +71,76 @@ export class Agent {
|
|
|
61
71
|
this.llmPrefix(),
|
|
62
72
|
].join("\n"), "");
|
|
63
73
|
}
|
|
64
|
-
_plan(steps, inputs, suffix) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
async _plan(steps, inputs, suffix) {
|
|
75
|
+
const thoughts = this.constructScratchPad(steps);
|
|
76
|
+
const newInputs = {
|
|
77
|
+
...inputs,
|
|
78
|
+
agent_scratchpad: suffix ? `${thoughts}${suffix}` : thoughts,
|
|
79
|
+
stop: this._stop(),
|
|
80
|
+
};
|
|
81
|
+
const output = await this.llmChain.predict(newInputs);
|
|
82
|
+
const parsed = this.extractToolAndInput(output);
|
|
83
|
+
if (!parsed) {
|
|
84
|
+
throw new ParseError(`Invalid output: ${output}`, output);
|
|
85
|
+
}
|
|
86
|
+
const action = {
|
|
87
|
+
tool: parsed.tool,
|
|
88
|
+
toolInput: parsed.input,
|
|
89
|
+
log: output,
|
|
90
|
+
};
|
|
91
|
+
if (action.tool === this.finishToolName()) {
|
|
92
|
+
return { returnValues: { output: action.toolInput }, log: action.log };
|
|
93
|
+
}
|
|
94
|
+
return action;
|
|
83
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Decide what to do given some input.
|
|
98
|
+
*
|
|
99
|
+
* @param steps - Steps the LLM has taken so far, along with observations from each.
|
|
100
|
+
* @param inputs - User inputs.
|
|
101
|
+
*
|
|
102
|
+
* @returns Action specifying what tool to use.
|
|
103
|
+
*/
|
|
84
104
|
plan(steps, inputs) {
|
|
85
105
|
return this._plan(steps, inputs);
|
|
86
106
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return
|
|
107
|
+
/**
|
|
108
|
+
* Return response when agent has been stopped due to max iterations
|
|
109
|
+
*/
|
|
110
|
+
async returnStoppedResponse(earlyStoppingMethod, steps, inputs) {
|
|
111
|
+
if (earlyStoppingMethod === "force") {
|
|
112
|
+
return {
|
|
113
|
+
returnValues: { output: "Agent stopped due to max iterations." },
|
|
114
|
+
log: "",
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if (earlyStoppingMethod === "generate") {
|
|
118
|
+
try {
|
|
119
|
+
const action = await this._plan(steps, inputs, "\n\nI now need to return a final answer based on the previous steps:");
|
|
120
|
+
if ("returnValues" in action) {
|
|
121
|
+
return action;
|
|
102
122
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
123
|
+
return { returnValues: { output: action.log }, log: action.log };
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
if (!(err instanceof ParseError)) {
|
|
127
|
+
throw err;
|
|
108
128
|
}
|
|
129
|
+
return { returnValues: { output: err.output }, log: err.output };
|
|
109
130
|
}
|
|
110
|
-
|
|
111
|
-
});
|
|
131
|
+
}
|
|
132
|
+
throw new Error(`Invalid stopping method: ${earlyStoppingMethod}`);
|
|
112
133
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Load an agent from a json-like object describing it.
|
|
136
|
+
*/
|
|
137
|
+
static async deserialize(data) {
|
|
138
|
+
switch (data._type) {
|
|
139
|
+
case "zero-shot-react-description":
|
|
140
|
+
return ZeroShotAgent.deserialize(data);
|
|
141
|
+
default:
|
|
142
|
+
throw new Error("Unknown agent type");
|
|
143
|
+
}
|
|
122
144
|
}
|
|
123
145
|
}
|
|
124
146
|
//# sourceMappingURL=agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../agents/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../agents/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@ type AgentExecutorInput = {
|
|
|
8
8
|
maxIterations?: number;
|
|
9
9
|
earlyStoppingMethod?: StoppingMethod;
|
|
10
10
|
};
|
|
11
|
+
/**
|
|
12
|
+
* A chain managing an agent using tools.
|
|
13
|
+
* @augments BaseChain
|
|
14
|
+
*/
|
|
11
15
|
export declare class AgentExecutor extends BaseChain {
|
|
12
16
|
agent: Agent;
|
|
13
17
|
tools: Tool[];
|
|
@@ -15,6 +19,7 @@ export declare class AgentExecutor extends BaseChain {
|
|
|
15
19
|
maxIterations?: number;
|
|
16
20
|
earlyStoppingMethod: StoppingMethod;
|
|
17
21
|
constructor(input: AgentExecutorInput);
|
|
22
|
+
/** Create from agent and a list of tools. */
|
|
18
23
|
static fromAgentAndTools(fields: {
|
|
19
24
|
agent: Agent;
|
|
20
25
|
tools: Tool[];
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { BaseChain } from "../chains";
|
|
2
|
+
/**
|
|
3
|
+
* A chain managing an agent using tools.
|
|
4
|
+
* @augments BaseChain
|
|
5
|
+
*/
|
|
11
6
|
export class AgentExecutor extends BaseChain {
|
|
12
7
|
constructor(input) {
|
|
13
8
|
var _a, _b, _c;
|
|
@@ -50,46 +45,45 @@ export class AgentExecutor extends BaseChain {
|
|
|
50
45
|
this.earlyStoppingMethod =
|
|
51
46
|
(_c = input.earlyStoppingMethod) !== null && _c !== void 0 ? _c : this.earlyStoppingMethod;
|
|
52
47
|
}
|
|
48
|
+
/** Create from agent and a list of tools. */
|
|
53
49
|
static fromAgentAndTools(fields) {
|
|
54
50
|
return new AgentExecutor(fields);
|
|
55
51
|
}
|
|
56
52
|
shouldContinue(iterations) {
|
|
57
53
|
return this.maxIterations === undefined || iterations < this.maxIterations;
|
|
58
54
|
}
|
|
59
|
-
_call(inputs) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return Object.assign(Object.assign({}, returnValues), { intermediateSteps: steps });
|
|
69
|
-
}
|
|
70
|
-
return returnValues;
|
|
71
|
-
};
|
|
72
|
-
while (this.shouldContinue(iterations)) {
|
|
73
|
-
const action = yield this.agent.plan(steps, inputs);
|
|
74
|
-
if ("returnValues" in action) {
|
|
75
|
-
return getOutput(action);
|
|
76
|
-
}
|
|
77
|
-
const tool = toolsByName[action.tool];
|
|
78
|
-
const observation = tool
|
|
79
|
-
? yield tool.call(action.toolInput)
|
|
80
|
-
: `${action.tool} is not a valid tool, try another one.`;
|
|
81
|
-
steps.push({ action, observation });
|
|
82
|
-
if (tool === null || tool === void 0 ? void 0 : tool.returnDirect) {
|
|
83
|
-
return getOutput({
|
|
84
|
-
returnValues: { [this.agent.returnValues[0]]: observation },
|
|
85
|
-
log: "",
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
iterations += 1;
|
|
55
|
+
async _call(inputs) {
|
|
56
|
+
this.agent.prepareForNewCall();
|
|
57
|
+
const toolsByName = Object.fromEntries(this.tools.map((t) => [t.name.toLowerCase(), t]));
|
|
58
|
+
const steps = [];
|
|
59
|
+
let iterations = 0;
|
|
60
|
+
const getOutput = (finishStep) => {
|
|
61
|
+
const { returnValues } = finishStep;
|
|
62
|
+
if (this.returnIntermediateSteps) {
|
|
63
|
+
return { ...returnValues, intermediateSteps: steps };
|
|
89
64
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
65
|
+
return returnValues;
|
|
66
|
+
};
|
|
67
|
+
while (this.shouldContinue(iterations)) {
|
|
68
|
+
const action = await this.agent.plan(steps, inputs);
|
|
69
|
+
if ("returnValues" in action) {
|
|
70
|
+
return getOutput(action);
|
|
71
|
+
}
|
|
72
|
+
const tool = toolsByName[action.tool.toLowerCase()];
|
|
73
|
+
const observation = tool
|
|
74
|
+
? await tool.call(action.toolInput)
|
|
75
|
+
: `${action.tool} is not a valid tool, try another one.`;
|
|
76
|
+
steps.push({ action, observation });
|
|
77
|
+
if (tool === null || tool === void 0 ? void 0 : tool.returnDirect) {
|
|
78
|
+
return getOutput({
|
|
79
|
+
returnValues: { [this.agent.returnValues[0]]: observation },
|
|
80
|
+
log: "",
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
iterations += 1;
|
|
84
|
+
}
|
|
85
|
+
const finish = await this.agent.returnStoppedResponse(this.earlyStoppingMethod, steps, inputs);
|
|
86
|
+
return getOutput(finish);
|
|
93
87
|
}
|
|
94
88
|
_chainType() {
|
|
95
89
|
return "agent_executor";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../agents/executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../agents/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { LLMChain } from "../chains";
|
|
11
2
|
import { resolveConfigFromFile } from "../util";
|
|
12
|
-
export const deserializeHelper = (llm, tools, data, fromLLMAndTools, fromConstructor) =>
|
|
3
|
+
export const deserializeHelper = async (llm, tools, data, fromLLMAndTools, fromConstructor) => {
|
|
13
4
|
if (data.load_from_llm_and_tools) {
|
|
14
5
|
if (!llm) {
|
|
15
6
|
throw new Error("Loading from llm and tools, llm must be provided.");
|
|
@@ -20,7 +11,7 @@ export const deserializeHelper = (llm, tools, data, fromLLMAndTools, fromConstru
|
|
|
20
11
|
return fromLLMAndTools(llm, tools, data);
|
|
21
12
|
}
|
|
22
13
|
const serializedLLMChain = resolveConfigFromFile("llm_chain", data);
|
|
23
|
-
const llmChain =
|
|
24
|
-
return fromConstructor(
|
|
25
|
-
}
|
|
14
|
+
const llmChain = await LLMChain.deserialize(serializedLLMChain);
|
|
15
|
+
return fromConstructor({ ...data, llmChain });
|
|
16
|
+
};
|
|
26
17
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../agents/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../agents/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAMpC,GAAwB,EACxB,KAAyB,EACzB,IAA+B,EAC/B,eAA4D,EAC5D,eAA+B,EACnB,EAAE;IACd,IAAI,IAAI,CAAC,uBAAuB,EAAE;QAChC,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAC1C;IAED,MAAM,kBAAkB,GAAG,qBAAqB,CAG9C,WAAW,EAAE,IAAI,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAChE,OAAO,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC"}
|
|
@@ -3,4 +3,5 @@ export { Agent, StaticAgent, staticImplements, AgentInput } from "./agent";
|
|
|
3
3
|
export { AgentExecutor } from "./executor";
|
|
4
4
|
export { ZeroShotAgent, SerializedZeroShotAgent } from "./mrkl";
|
|
5
5
|
export { Tool } from "./tools";
|
|
6
|
+
export { initializeAgentExecutor } from "./initialize";
|
|
6
7
|
export { loadAgent } from "./load";
|
package/dist/esm/agents/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { Agent, staticImplements } from "./agent";
|
|
2
2
|
export { AgentExecutor } from "./executor";
|
|
3
3
|
export { ZeroShotAgent } from "./mrkl";
|
|
4
|
+
export { Tool } from "./tools";
|
|
5
|
+
export { initializeAgentExecutor } from "./initialize";
|
|
4
6
|
export { loadAgent } from "./load";
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAe,gBAAgB,EAAc,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA2B,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAe,gBAAgB,EAAc,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA2B,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,uBAAuB,EAAC,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AgentExecutor } from "./executor";
|
|
2
|
+
import { ZeroShotAgent } from "./mrkl";
|
|
3
|
+
export const initializeAgentExecutor = async (tools, llm, agentType = "zero-shot-react-description") => {
|
|
4
|
+
switch (agentType) {
|
|
5
|
+
case "zero-shot-react-description":
|
|
6
|
+
const agent = ZeroShotAgent.fromLLMAndTools(llm, tools);
|
|
7
|
+
const executor = AgentExecutor.fromAgentAndTools({
|
|
8
|
+
agent,
|
|
9
|
+
tools,
|
|
10
|
+
returnIntermediateSteps: true,
|
|
11
|
+
});
|
|
12
|
+
return executor;
|
|
13
|
+
default:
|
|
14
|
+
throw new Error("Unknown agent type");
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=initialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../agents/initialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EACxC,KAAa,EACb,GAAY,EACZ,SAAS,GAAE,6BAA6B,EAChB,EAAE;IAC1B,QAAQ,SAAS,EAAE;QACf,KAAK,6BAA6B;YAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,iBAAiB,CAAC;gBAC7C,KAAK;gBACL,KAAK;gBACL,uBAAuB,EAAE,IAAI;aAC5B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACxB;YACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KAC7C;AACH,CAAC,CAAC"}
|
package/dist/esm/agents/load.js
CHANGED
|
@@ -1,24 +1,15 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Agent } from ".";
|
|
11
2
|
import { loadFromHub } from "../util/hub";
|
|
12
3
|
import { parseFileConfig } from "../util";
|
|
13
|
-
const loadAgentFromFile = (file, llmAndTools) =>
|
|
4
|
+
const loadAgentFromFile = async (file, llmAndTools) => {
|
|
14
5
|
const serialized = parseFileConfig(file);
|
|
15
|
-
return Agent.deserialize(
|
|
16
|
-
}
|
|
17
|
-
export const loadAgent = (uri, llmAndTools) =>
|
|
18
|
-
const hubResult =
|
|
6
|
+
return Agent.deserialize({ ...serialized, ...llmAndTools });
|
|
7
|
+
};
|
|
8
|
+
export const loadAgent = async (uri, llmAndTools) => {
|
|
9
|
+
const hubResult = await loadFromHub(uri, (u) => loadAgentFromFile(u, llmAndTools), "agents", new Set(["json", "yaml"]));
|
|
19
10
|
if (hubResult) {
|
|
20
11
|
return hubResult;
|
|
21
12
|
}
|
|
22
13
|
return loadAgentFromFile(uri, llmAndTools);
|
|
23
|
-
}
|
|
14
|
+
};
|
|
24
15
|
//# sourceMappingURL=load.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../agents/load.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../agents/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,MAAM,GAAG,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,iBAAiB,GAAG,KAAK,EAC7B,IAAY,EACZ,WAA+C,EAC/C,EAAE;IACF,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,GAAW,EACX,WAA+C,EAC/B,EAAE;IAClB,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,GAAG,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,EACxC,QAAQ,EACR,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC1B,CAAC;IACF,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC"}
|