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
|
@@ -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
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"few_shot.js","sourceRoot":"","sources":["../../../prompt/few_shot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"few_shot.js","sourceRoot":"","sources":["../../../prompt/few_shot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { BasePromptTemplate, BasePromptTemplateInput, SerializedBasePromptTemplate, InputValues, } from "./base";
|
|
2
2
|
export { PromptTemplate, PromptTemplateInput, SerializedPromptTemplate, } from "./prompt";
|
|
3
3
|
export { FewShotPromptTemplate, FewShotPromptTemplateInput, SerializedFewShotTemplate, } from "./few_shot";
|
|
4
|
+
export { loadPrompt } from "./load";
|
package/dist/cjs/prompt/index.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FewShotPromptTemplate = exports.PromptTemplate = exports.BasePromptTemplate = void 0;
|
|
3
|
+
exports.loadPrompt = exports.FewShotPromptTemplate = exports.PromptTemplate = exports.BasePromptTemplate = void 0;
|
|
4
4
|
var base_1 = require("./base");
|
|
5
5
|
Object.defineProperty(exports, "BasePromptTemplate", { enumerable: true, get: function () { return base_1.BasePromptTemplate; } });
|
|
6
6
|
var prompt_1 = require("./prompt");
|
|
7
7
|
Object.defineProperty(exports, "PromptTemplate", { enumerable: true, get: function () { return prompt_1.PromptTemplate; } });
|
|
8
8
|
var few_shot_1 = require("./few_shot");
|
|
9
9
|
Object.defineProperty(exports, "FewShotPromptTemplate", { enumerable: true, get: function () { return few_shot_1.FewShotPromptTemplate; } });
|
|
10
|
+
var load_1 = require("./load");
|
|
11
|
+
Object.defineProperty(exports, "loadPrompt", { enumerable: true, get: function () { return load_1.loadPrompt; } });
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../prompt/index.ts"],"names":[],"mappings":";;;AAAA,+BAKgB;AAJd,0GAAA,kBAAkB,OAAA;AAKpB,mCAIkB;AAHhB,wGAAA,cAAc,OAAA;AAIhB,uCAIoB;AAHlB,iHAAA,qBAAqB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../prompt/index.ts"],"names":[],"mappings":";;;AAAA,+BAKgB;AAJd,0GAAA,kBAAkB,OAAA;AAKpB,mCAIkB;AAHhB,wGAAA,cAAc,OAAA;AAIhB,uCAIoB;AAHlB,iHAAA,qBAAqB,OAAA;AAIvB,+BAAoC;AAA3B,kGAAA,UAAU,OAAA"}
|
|
@@ -1,2 +1,19 @@
|
|
|
1
1
|
import { BasePromptTemplate } from ".";
|
|
2
|
+
/**
|
|
3
|
+
* Load a prompt from {@link https://github.com/hwchase17/langchain-hub | LangchainHub} or local filesystem.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* Loading from LangchainHub:
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { loadPrompt } from "langchain/prompt";
|
|
9
|
+
* const prompt = await loadPrompt("lc://prompts/hello-world/prompt.yaml");
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* Loading from local filesystem:
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { loadPrompt } from "langchain/prompt";
|
|
16
|
+
* const prompt = await loadPrompt("/path/to/prompt.json");
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
2
19
|
export declare const loadPrompt: (uri: string) => Promise<BasePromptTemplate>;
|
package/dist/cjs/prompt/load.js
CHANGED
|
@@ -1,25 +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.loadPrompt = void 0;
|
|
13
4
|
const _1 = require(".");
|
|
14
5
|
const hub_1 = require("../util/hub");
|
|
15
6
|
const util_1 = require("../util");
|
|
16
|
-
const loadPromptFromFile = (file) =>
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
const loadPromptFromFile = async (file) => _1.BasePromptTemplate.deserialize((0, util_1.parseFileConfig)(file));
|
|
8
|
+
/**
|
|
9
|
+
* Load a prompt from {@link https://github.com/hwchase17/langchain-hub | LangchainHub} or local filesystem.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* Loading from LangchainHub:
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { loadPrompt } from "langchain/prompt";
|
|
15
|
+
* const prompt = await loadPrompt("lc://prompts/hello-world/prompt.yaml");
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* Loading from local filesystem:
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { loadPrompt } from "langchain/prompt";
|
|
22
|
+
* const prompt = await loadPrompt("/path/to/prompt.json");
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
const loadPrompt = async (uri) => {
|
|
26
|
+
const hubResult = await (0, hub_1.loadFromHub)(uri, loadPromptFromFile, "prompts", new Set(["py", "json", "yaml"]));
|
|
19
27
|
if (hubResult) {
|
|
20
28
|
return hubResult;
|
|
21
29
|
}
|
|
22
30
|
return loadPromptFromFile(uri);
|
|
23
|
-
}
|
|
31
|
+
};
|
|
24
32
|
exports.loadPrompt = loadPrompt;
|
|
25
33
|
//# sourceMappingURL=load.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../prompt/load.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../prompt/load.ts"],"names":[],"mappings":";;;AAAA,wBAAuC;AACvC,qCAA0C;AAC1C,kCAA0C;AAE1C,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE,CAChD,qBAAkB,CAAC,WAAW,CAAC,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAA+B,EAAE;IAC3E,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAW,EACjC,GAAG,EACH,kBAAkB,EAClB,SAAS,EACT,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAChC,CAAC;IACF,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB"}
|
|
@@ -1,16 +1,42 @@
|
|
|
1
1
|
export type SerializedOutputParser = SerializedRegexParser | SerializedCommaSeparatedListOutputParser;
|
|
2
|
+
/**
|
|
3
|
+
* Class to parse the output of an LLM call.
|
|
4
|
+
*/
|
|
2
5
|
export declare abstract class BaseOutputParser {
|
|
6
|
+
/**
|
|
7
|
+
* Parse the output of an LLM call.
|
|
8
|
+
*
|
|
9
|
+
* @param text - LLM output to parse.
|
|
10
|
+
* @returns Parsed output.
|
|
11
|
+
*/
|
|
3
12
|
abstract parse(text: string): string | string[] | Record<string, string>;
|
|
13
|
+
/**
|
|
14
|
+
* Return the string type key uniquely identifying this class of parser
|
|
15
|
+
*/
|
|
4
16
|
_type(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Return a json-like object representing this output parser.
|
|
19
|
+
*/
|
|
5
20
|
abstract serialize(): SerializedOutputParser;
|
|
21
|
+
/**
|
|
22
|
+
* Load an output parser from a json-like object describing the parser.
|
|
23
|
+
*/
|
|
6
24
|
static deserialize(data: SerializedOutputParser): BaseOutputParser;
|
|
7
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Class to parse the output of an LLM call to a list.
|
|
28
|
+
* @augments BaseOutputParser
|
|
29
|
+
*/
|
|
8
30
|
export declare abstract class ListOutputParser extends BaseOutputParser {
|
|
9
31
|
abstract parse(text: string): string[];
|
|
10
32
|
}
|
|
11
33
|
type SerializedCommaSeparatedListOutputParser = {
|
|
12
34
|
_type: "comma_separated_list";
|
|
13
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Class to parse the output of an LLM call as a comma-separated list.
|
|
38
|
+
* @augments ListOutputParser
|
|
39
|
+
*/
|
|
14
40
|
export declare class CommaSeparatedListOutputParser extends ListOutputParser {
|
|
15
41
|
parse(text: string): string[];
|
|
16
42
|
serialize(): SerializedCommaSeparatedListOutputParser;
|
|
@@ -22,6 +48,10 @@ type SerializedRegexParser = {
|
|
|
22
48
|
output_keys: string[];
|
|
23
49
|
default_output_key?: string;
|
|
24
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* Class to parse the output of an LLM call into a dictionary.
|
|
53
|
+
* @augments BaseOutputParser
|
|
54
|
+
*/
|
|
25
55
|
export declare class RegexParser extends BaseOutputParser {
|
|
26
56
|
regex: string | RegExp;
|
|
27
57
|
outputKeys: string[];
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RegexParser = exports.CommaSeparatedListOutputParser = exports.ListOutputParser = exports.BaseOutputParser = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Class to parse the output of an LLM call.
|
|
6
|
+
*/
|
|
4
7
|
class BaseOutputParser {
|
|
8
|
+
/**
|
|
9
|
+
* Return the string type key uniquely identifying this class of parser
|
|
10
|
+
*/
|
|
5
11
|
_type() {
|
|
6
12
|
throw new Error("_type not implemented");
|
|
7
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Load an output parser from a json-like object describing the parser.
|
|
16
|
+
*/
|
|
8
17
|
static deserialize(data) {
|
|
9
18
|
switch (data._type) {
|
|
10
19
|
case "regex_parser":
|
|
@@ -16,9 +25,17 @@ class BaseOutputParser {
|
|
|
16
25
|
}
|
|
17
26
|
}
|
|
18
27
|
exports.BaseOutputParser = BaseOutputParser;
|
|
28
|
+
/**
|
|
29
|
+
* Class to parse the output of an LLM call to a list.
|
|
30
|
+
* @augments BaseOutputParser
|
|
31
|
+
*/
|
|
19
32
|
class ListOutputParser extends BaseOutputParser {
|
|
20
33
|
}
|
|
21
34
|
exports.ListOutputParser = ListOutputParser;
|
|
35
|
+
/**
|
|
36
|
+
* Class to parse the output of an LLM call as a comma-separated list.
|
|
37
|
+
* @augments ListOutputParser
|
|
38
|
+
*/
|
|
22
39
|
class CommaSeparatedListOutputParser extends ListOutputParser {
|
|
23
40
|
parse(text) {
|
|
24
41
|
return text.trim().split(", ");
|
|
@@ -33,6 +50,10 @@ class CommaSeparatedListOutputParser extends ListOutputParser {
|
|
|
33
50
|
}
|
|
34
51
|
}
|
|
35
52
|
exports.CommaSeparatedListOutputParser = CommaSeparatedListOutputParser;
|
|
53
|
+
/**
|
|
54
|
+
* Class to parse the output of an LLM call into a dictionary.
|
|
55
|
+
* @augments BaseOutputParser
|
|
56
|
+
*/
|
|
36
57
|
class RegexParser extends BaseOutputParser {
|
|
37
58
|
constructor(regex, outputKeys, defaultOutputKey) {
|
|
38
59
|
super();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../prompt/parser.ts"],"names":[],"mappings":";;;AAIA,MAAsB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../prompt/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,43 @@ export type SerializedPromptTemplate = {
|
|
|
9
9
|
template_path?: string;
|
|
10
10
|
template_format?: TemplateFormat;
|
|
11
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Inputs to create a {@link PromptTemplate}
|
|
14
|
+
* @augments BasePromptTemplateInput
|
|
15
|
+
*/
|
|
12
16
|
export interface PromptTemplateInput extends BasePromptTemplateInput {
|
|
17
|
+
/**
|
|
18
|
+
* The propmt template
|
|
19
|
+
*/
|
|
13
20
|
template: string;
|
|
21
|
+
/**
|
|
22
|
+
* The format of the prompt template. Options are 'f-string', 'jinja-2'
|
|
23
|
+
*
|
|
24
|
+
* @defaultValue 'f-string'
|
|
25
|
+
*/
|
|
14
26
|
templateFormat?: TemplateFormat;
|
|
27
|
+
/**
|
|
28
|
+
* Whether or not to try validating the template on initialization
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue `true`
|
|
31
|
+
*/
|
|
15
32
|
validateTemplate?: boolean;
|
|
16
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Schema to represent a basic prompt for an LLM.
|
|
36
|
+
* @augments BasePromptTemplate
|
|
37
|
+
* @augments PromptTemplateInput
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { PromptTemplate } from "@langchain/prompt";
|
|
42
|
+
*
|
|
43
|
+
* const prompt = new PromptTemplate({
|
|
44
|
+
* inputVariables: ["foo"],
|
|
45
|
+
* template: "Say {foo}",
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
17
49
|
export declare class PromptTemplate extends BasePromptTemplate implements PromptTemplateInput {
|
|
18
50
|
template: string;
|
|
19
51
|
templateFormat: TemplateFormat;
|
|
@@ -21,7 +53,23 @@ export declare class PromptTemplate extends BasePromptTemplate implements Prompt
|
|
|
21
53
|
constructor(input: PromptTemplateInput);
|
|
22
54
|
_getPromptType(): "prompt";
|
|
23
55
|
format(values: InputValues): string;
|
|
56
|
+
/**
|
|
57
|
+
* Take examples in list format with prefix and suffix to create a prompt.
|
|
58
|
+
*
|
|
59
|
+
* Intendend to be used a a way to dynamically create a prompt from examples.
|
|
60
|
+
*
|
|
61
|
+
* @param examples - List of examples to use in the prompt.
|
|
62
|
+
* @param suffix - String to go after the list of examples. Should generally set up the user's input.
|
|
63
|
+
* @param inputVariables - A list of variable names the final prompt template will expect
|
|
64
|
+
* @param exampleSeparator - The separator to use in between examples
|
|
65
|
+
* @param prefix - String that should go before any examples. Generally includes examples.
|
|
66
|
+
*
|
|
67
|
+
* @returns The final prompt template generated.
|
|
68
|
+
*/
|
|
24
69
|
static fromExamples(examples: string[], suffix: string, inputVariables: string[], exampleSeparator?: string, prefix?: string): PromptTemplate;
|
|
70
|
+
/**
|
|
71
|
+
* Load prompt template from a template f-string
|
|
72
|
+
*/
|
|
25
73
|
static fromTemplate(template: string): PromptTemplate;
|
|
26
74
|
serialize(): SerializedPromptTemplate;
|
|
27
75
|
static deserialize(data: SerializedPromptTemplate): Promise<PromptTemplate>;
|
|
@@ -1,19 +1,25 @@
|
|
|
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.PromptTemplate = void 0;
|
|
13
4
|
const index_1 = require("./index");
|
|
14
5
|
const template_1 = require("./template");
|
|
15
6
|
const util_1 = require("../util");
|
|
16
7
|
const parser_1 = require("./parser");
|
|
8
|
+
/**
|
|
9
|
+
* Schema to represent a basic prompt for an LLM.
|
|
10
|
+
* @augments BasePromptTemplate
|
|
11
|
+
* @augments PromptTemplateInput
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { PromptTemplate } from "@langchain/prompt";
|
|
16
|
+
*
|
|
17
|
+
* const prompt = new PromptTemplate({
|
|
18
|
+
* inputVariables: ["foo"],
|
|
19
|
+
* template: "Say {foo}",
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
17
23
|
class PromptTemplate extends index_1.BasePromptTemplate {
|
|
18
24
|
constructor(input) {
|
|
19
25
|
super(input);
|
|
@@ -46,6 +52,19 @@ class PromptTemplate extends index_1.BasePromptTemplate {
|
|
|
46
52
|
format(values) {
|
|
47
53
|
return (0, template_1.renderTemplate)(this.template, this.templateFormat, values);
|
|
48
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Take examples in list format with prefix and suffix to create a prompt.
|
|
57
|
+
*
|
|
58
|
+
* Intendend to be used a a way to dynamically create a prompt from examples.
|
|
59
|
+
*
|
|
60
|
+
* @param examples - List of examples to use in the prompt.
|
|
61
|
+
* @param suffix - String to go after the list of examples. Should generally set up the user's input.
|
|
62
|
+
* @param inputVariables - A list of variable names the final prompt template will expect
|
|
63
|
+
* @param exampleSeparator - The separator to use in between examples
|
|
64
|
+
* @param prefix - String that should go before any examples. Generally includes examples.
|
|
65
|
+
*
|
|
66
|
+
* @returns The final prompt template generated.
|
|
67
|
+
*/
|
|
49
68
|
static fromExamples(examples, suffix, inputVariables, exampleSeparator = "\n\n", prefix = "") {
|
|
50
69
|
const template = [prefix, ...examples, suffix].join(exampleSeparator);
|
|
51
70
|
return new PromptTemplate({
|
|
@@ -53,6 +72,9 @@ class PromptTemplate extends index_1.BasePromptTemplate {
|
|
|
53
72
|
template,
|
|
54
73
|
});
|
|
55
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Load prompt template from a template f-string
|
|
77
|
+
*/
|
|
56
78
|
static fromTemplate(template) {
|
|
57
79
|
const names = new Set();
|
|
58
80
|
(0, template_1.parseFString)(template).forEach((node) => {
|
|
@@ -75,16 +97,14 @@ class PromptTemplate extends index_1.BasePromptTemplate {
|
|
|
75
97
|
template_format: this.templateFormat,
|
|
76
98
|
};
|
|
77
99
|
}
|
|
78
|
-
static deserialize(data) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
templateFormat: data.template_format,
|
|
85
|
-
});
|
|
86
|
-
return res;
|
|
100
|
+
static async deserialize(data) {
|
|
101
|
+
const res = new PromptTemplate({
|
|
102
|
+
inputVariables: data.input_variables,
|
|
103
|
+
outputParser: data.output_parser && parser_1.BaseOutputParser.deserialize(data.output_parser),
|
|
104
|
+
template: (0, util_1.resolveTemplateFromFile)("template", data),
|
|
105
|
+
templateFormat: data.template_format,
|
|
87
106
|
});
|
|
107
|
+
return res;
|
|
88
108
|
}
|
|
89
109
|
}
|
|
90
110
|
exports.PromptTemplate = PromptTemplate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../prompt/prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../prompt/prompt.ts"],"names":[],"mappings":";;;AAAA,mCAIiB;AACjB,yCAKoB;AACpB,kCAAkD;AAClD,qCAAoE;AAoCpE;;;;;;;;;;;;;;GAcG;AACH,MAAa,cACX,SAAQ,0BAAkB;IAS1B,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QAPf;;;;;WAAiB;QAEjB;;;;mBAAiC,UAAU;WAAC;QAE5C;;;;mBAAmB,IAAI;WAAC;QAItB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAA,6BAAkB,EAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CACpB,CAAC;SACH;IACH,CAAC;IAED,cAAc;QACZ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,OAAO,IAAA,yBAAc,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,YAAY,CACjB,QAAkB,EAClB,MAAc,EACd,cAAwB,EACxB,gBAAgB,GAAG,MAAM,EACzB,MAAM,GAAG,EAAE;QAEX,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtE,OAAO,IAAI,cAAc,CAAC;YACxB,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC5B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,cAAc,CAAC;YACxB,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC;YAC1B,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,SAAS;;QACP,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;YAC5B,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,aAAa,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,SAAS,EAAE;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,cAAc;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,IAA8B;QAE9B,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;YAC7B,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,YAAY,EACV,IAAI,CAAC,aAAa,IAAI,yBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;YACxE,QAAQ,EAAE,IAAA,8BAAuB,EAAC,UAAU,EAAE,IAAI,CAAC;YACnD,cAAc,EAAE,IAAI,CAAC,eAAe;SACrC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;CAGF;AAnGD,wCAmGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../prompt/template.ts"],"names":[],"mappings":";;;AAQO,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAuB,EAAE;IACpE,4EAA4E;IAC5E,+HAA+H;IAC/H,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,MAAM,WAAW,GAAG,CAAC,OAAyB,EAAE,KAAa,EAAE,EAAE;QAC/D,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9B,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;QACvB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;YACpE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,CAAC,IAAI,CAAC,CAAC;SACR;aAAM,IACL,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;YAChB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM;YACpB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EACpB;YACA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3C,CAAC,IAAI,CAAC,CAAC;SACR;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC3B,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aACrC,CAAC,CAAC;YACH,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACX;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;aAAM;YACL,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;SACpC;KACF;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../prompt/template.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -16,15 +7,15 @@ const globals_1 = require("@jest/globals");
|
|
|
16
7
|
const path_1 = __importDefault(require("path"));
|
|
17
8
|
const load_1 = require("../load");
|
|
18
9
|
const PROMPTS_DIR = path_1.default.join(__dirname, "prompts");
|
|
19
|
-
(0, globals_1.test)("Load Hello World Prompt", () =>
|
|
10
|
+
(0, globals_1.test)("Load Hello World Prompt", async () => {
|
|
20
11
|
const helloWorld = path_1.default.join(PROMPTS_DIR, "hello_world.yaml");
|
|
21
|
-
const prompt =
|
|
12
|
+
const prompt = await (0, load_1.loadPrompt)(helloWorld);
|
|
22
13
|
(0, globals_1.expect)(prompt._getPromptType()).toBe("prompt");
|
|
23
14
|
(0, globals_1.expect)(prompt.format({})).toBe("Say hello world.");
|
|
24
|
-
})
|
|
25
|
-
(0, globals_1.test)("Load hub prompt", () =>
|
|
26
|
-
const prompt =
|
|
15
|
+
});
|
|
16
|
+
(0, globals_1.test)("Load hub prompt", async () => {
|
|
17
|
+
const prompt = await (0, load_1.loadPrompt)("lc@abb92d8://prompts/hello-world/prompt.yaml");
|
|
27
18
|
(0, globals_1.expect)(prompt._getPromptType()).toBe("prompt");
|
|
28
19
|
(0, globals_1.expect)(prompt.format({})).toBe("Say hello world.");
|
|
29
|
-
})
|
|
20
|
+
});
|
|
30
21
|
//# sourceMappingURL=load.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.test.js","sourceRoot":"","sources":["../../../../prompt/tests/load.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load.test.js","sourceRoot":"","sources":["../../../../prompt/tests/load.test.ts"],"names":[],"mappings":";;;;;AAAA,2CAA6C;AAC7C,gDAAwB;AACxB,kCAAqC;AAErC,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEpD,IAAA,cAAI,EAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAU,EAAC,UAAU,CAAC,CAAC;IAC5C,IAAA,gBAAM,EAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAA,cAAI,EAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAU,EAC7B,8CAA8C,CAC/C,CAAC;IACF,IAAA,gBAAM,EAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Document } from "./document";
|
|
2
|
+
interface TextSplitterParams {
|
|
3
|
+
chunkSize: number;
|
|
4
|
+
chunkOverlap: number;
|
|
5
|
+
}
|
|
6
|
+
declare abstract class TextSplitter implements TextSplitterParams {
|
|
7
|
+
chunkSize: number;
|
|
8
|
+
chunkOverlap: number;
|
|
9
|
+
constructor(fields?: Partial<TextSplitterParams>);
|
|
10
|
+
abstract splitText(text: string): string[];
|
|
11
|
+
createDocuments(texts: string[], metadatas?: Record<string, any>[]): Document[];
|
|
12
|
+
splitDocuments(documents: Document[]): Document[];
|
|
13
|
+
private joinDocs;
|
|
14
|
+
mergeSplits(splits: string[], separator: string): string[];
|
|
15
|
+
}
|
|
16
|
+
export interface CharacterTextSplitterParams extends TextSplitterParams {
|
|
17
|
+
separator: string;
|
|
18
|
+
}
|
|
19
|
+
export declare class CharacterTextSplitter extends TextSplitter implements CharacterTextSplitterParams {
|
|
20
|
+
separator: string;
|
|
21
|
+
constructor(fields?: Partial<CharacterTextSplitterParams>);
|
|
22
|
+
splitText(text: string): string[];
|
|
23
|
+
}
|
|
24
|
+
export interface RecursiveCharacterTextSplitterParams extends TextSplitterParams {
|
|
25
|
+
separators: string[];
|
|
26
|
+
}
|
|
27
|
+
export declare class RecursiveCharacterTextSplitter extends TextSplitter implements RecursiveCharacterTextSplitterParams {
|
|
28
|
+
separators: string[];
|
|
29
|
+
constructor(fields?: Partial<RecursiveCharacterTextSplitterParams>);
|
|
30
|
+
splitText(text: string): string[];
|
|
31
|
+
}
|
|
32
|
+
export {};
|