langchain 0.0.23 → 0.0.25
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/chains/base.js +1 -1
- package/dist/chains/base.js.map +1 -1
- package/dist/chains/chat_vector_db_chain.js +2 -2
- package/dist/chains/chat_vector_db_chain.js.map +1 -1
- package/dist/chains/conversation.d.ts +2 -2
- package/dist/chains/index.d.ts +1 -1
- package/dist/chains/index.js +1 -1
- package/dist/chains/index.js.map +1 -1
- package/dist/chains/llm_chain.d.ts +2 -2
- package/dist/chains/prompt_selector.d.ts +21 -0
- package/dist/chains/prompt_selector.js +38 -0
- package/dist/chains/prompt_selector.js.map +1 -0
- package/dist/chains/question_answering/load.d.ts +9 -0
- package/dist/chains/question_answering/load.js +22 -2
- package/dist/chains/question_answering/load.js.map +1 -1
- package/dist/chains/question_answering/map_reduce_prompts.d.ts +3 -0
- package/dist/chains/question_answering/map_reduce_prompts.js +22 -1
- package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
- package/dist/chains/question_answering/stuff_prompts.d.ts +2 -0
- package/dist/chains/question_answering/stuff_prompts.js +12 -1
- package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
- package/dist/chains/question_answering/tests/load.int.test.js +5 -5
- package/dist/chains/question_answering/tests/load.int.test.js.map +1 -1
- package/dist/chains/summarization/tests/load.int.test.js +1 -1
- package/dist/chains/summarization/tests/load.int.test.js.map +1 -1
- package/dist/chains/tests/combine_docs_chain.int.test.js +2 -2
- package/dist/chains/tests/combine_docs_chain.int.test.js.map +1 -1
- package/dist/chains/tests/combine_docs_chain.test.js +2 -2
- package/dist/chains/tests/combine_docs_chain.test.js.map +1 -1
- package/dist/chains/vector_db_qa.js +3 -4
- package/dist/chains/vector_db_qa.js.map +1 -1
- package/dist/chat_models/index.d.ts +1 -0
- package/dist/chat_models/index.js +1 -0
- package/dist/chat_models/index.js.map +1 -1
- package/dist/document_loaders/index.d.ts +1 -0
- package/dist/document_loaders/index.js +1 -0
- package/dist/document_loaders/index.js.map +1 -1
- package/dist/document_loaders/puppeteer_web_base.d.ts +26 -0
- package/dist/document_loaders/puppeteer_web_base.js +60 -0
- package/dist/document_loaders/puppeteer_web_base.js.map +1 -0
- package/dist/document_loaders/tests/puppeteer_web.int.test.d.ts +1 -0
- package/dist/document_loaders/tests/puppeteer_web.int.test.js +29 -0
- package/dist/document_loaders/tests/puppeteer_web.int.test.js.map +1 -0
- package/dist/embeddings/index.d.ts +1 -0
- package/dist/embeddings/index.js +1 -0
- package/dist/embeddings/index.js.map +1 -1
- package/dist/memory/base.d.ts +4 -1
- package/dist/memory/base.js +31 -0
- package/dist/memory/base.js.map +1 -1
- package/dist/memory/buffer_memory.d.ts +4 -5
- package/dist/memory/buffer_memory.js +13 -24
- package/dist/memory/buffer_memory.js.map +1 -1
- package/dist/memory/buffer_window_memory.d.ts +4 -5
- package/dist/memory/buffer_window_memory.js +11 -24
- package/dist/memory/buffer_window_memory.js.map +1 -1
- package/dist/memory/chat_memory.d.ts +18 -0
- package/dist/memory/chat_memory.js +43 -0
- package/dist/memory/chat_memory.js.map +1 -0
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/tests/buffer_memory.test.js +15 -5
- package/dist/memory/tests/buffer_memory.test.js.map +1 -1
- package/dist/memory/tests/buffer_window_memory.test.js +24 -10
- package/dist/memory/tests/buffer_window_memory.test.js.map +1 -1
- package/dist/prompts/chat.d.ts +16 -4
- package/dist/prompts/chat.js +37 -10
- package/dist/prompts/chat.js.map +1 -1
- package/dist/prompts/index.d.ts +1 -1
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/tests/chat.test.js +7 -1
- package/dist/prompts/tests/chat.test.js.map +1 -1
- package/dist/vectorstores/index.d.ts +1 -0
- package/dist/vectorstores/index.js +1 -0
- package/dist/vectorstores/index.js.map +1 -1
- package/dist/vectorstores/supabase.d.ts +20 -0
- package/dist/vectorstores/supabase.js +87 -0
- package/dist/vectorstores/supabase.js.map +1 -0
- package/dist/vectorstores/tests/supabase.int.test.d.ts +1 -0
- package/dist/vectorstores/tests/supabase.int.test.js +24 -0
- package/dist/vectorstores/tests/supabase.int.test.js.map +1 -0
- package/package.json +12 -1
package/dist/chains/base.js
CHANGED
|
@@ -41,7 +41,7 @@ export class BaseChain {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
// TODO(sean) add callback support
|
|
44
|
-
const outputValues = this._call(fullValues);
|
|
44
|
+
const outputValues = await this._call(fullValues);
|
|
45
45
|
if (!(this.memory == null)) {
|
|
46
46
|
await this.memory.saveContext(values, outputValues);
|
|
47
47
|
}
|
package/dist/chains/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/chains/base.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AA+BhC;;GAEG;AACH,MAAM,OAAgB,SAAS;IAG7B,YAAY,MAAmB;QAF/B;;;;;WAAoB;QAGlB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAmBD,8DAA8D;IAC9D,KAAK,CAAC,GAAG,CAAC,KAAU;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,UAAU,EAAE,6CAA6C,CACxE,CAAC;SACH;QACD,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO,WAAW,CAAC;SACpB;QACD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAmB;QAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;YAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACpD,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACzB;SACF;QACD,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/chains/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseChain, LLMChain,
|
|
1
|
+
import { BaseChain, LLMChain, loadQAStuffChain, } from "./index.js";
|
|
2
2
|
import { PromptTemplate } from "../prompts/index.js";
|
|
3
3
|
import { resolveConfigFromFile } from "../util/index.js";
|
|
4
4
|
const question_generator_template = `Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.
|
|
@@ -142,7 +142,7 @@ export class ChatVectorDBQAChain extends BaseChain {
|
|
|
142
142
|
};
|
|
143
143
|
}
|
|
144
144
|
static fromLLM(llm, vectorstore) {
|
|
145
|
-
const qaChain =
|
|
145
|
+
const qaChain = loadQAStuffChain(llm, { prompt: qa_prompt });
|
|
146
146
|
const questionGeneratorChain = new LLMChain({
|
|
147
147
|
prompt: question_generator_prompt,
|
|
148
148
|
llm,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat_vector_db_chain.js","sourceRoot":"","sources":["../../src/chains/chat_vector_db_chain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"chat_vector_db_chain.js","sourceRoot":"","sources":["../../src/chains/chat_vector_db_chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { LLMChain } from "./llm_chain.js";
|
|
2
|
-
import {
|
|
2
|
+
import { BaseLanguageModel } from "../schema/index.js";
|
|
3
3
|
import { BasePromptTemplate } from "../prompts/index.js";
|
|
4
4
|
import { BaseMemory } from "../memory/index.js";
|
|
5
5
|
export declare class ConversationChain extends LLMChain {
|
|
6
6
|
constructor(fields: {
|
|
7
|
-
llm:
|
|
7
|
+
llm: BaseLanguageModel;
|
|
8
8
|
prompt?: BasePromptTemplate;
|
|
9
9
|
outputKey?: string;
|
|
10
10
|
memory?: BaseMemory;
|
package/dist/chains/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export { ChatVectorDBQAChain, SerializedChatVectorDBQAChain, } from "./chat_vect
|
|
|
5
5
|
export { AnalyzeDocumentChain, SerializedAnalyzeDocumentChain, } from "./analyze_documents_chain.js";
|
|
6
6
|
export { VectorDBQAChain, SerializedVectorDBQAChain } from "./vector_db_qa.js";
|
|
7
7
|
export { loadChain } from "./load.js";
|
|
8
|
-
export { loadQAChain } from "./question_answering/load.js";
|
|
8
|
+
export { loadQAChain, loadQAStuffChain, loadQAMapReduceChain, } from "./question_answering/load.js";
|
|
9
9
|
export { loadSummarizationChain } from "./summarization/load.js";
|
package/dist/chains/index.js
CHANGED
|
@@ -5,6 +5,6 @@ export { ChatVectorDBQAChain, } from "./chat_vector_db_chain.js";
|
|
|
5
5
|
export { AnalyzeDocumentChain, } from "./analyze_documents_chain.js";
|
|
6
6
|
export { VectorDBQAChain } from "./vector_db_qa.js";
|
|
7
7
|
export { loadChain } from "./load.js";
|
|
8
|
-
export { loadQAChain } from "./question_answering/load.js";
|
|
8
|
+
export { loadQAChain, loadQAStuffChain, loadQAMapReduceChain, } from "./question_answering/load.js";
|
|
9
9
|
export { loadSummarizationChain } from "./summarization/load.js";
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/dist/chains/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chains/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAIV,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,QAAQ,EACR,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,GAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chains/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAIV,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,QAAQ,EACR,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,GAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseChain, ChainInputs, ChainValues } from "./index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { SerializedLLM } from "../llms/index.js";
|
|
3
3
|
import { BaseLanguageModel } from "../schema/index.js";
|
|
4
4
|
import { BaseMemory } from "../memory/index.js";
|
|
5
5
|
import { BasePromptTemplate, SerializedBasePromptTemplate } from "../prompts/index.js";
|
|
@@ -60,7 +60,7 @@ export declare class LLMChain extends BaseChain implements LLMChainInput {
|
|
|
60
60
|
}
|
|
61
61
|
export declare class ConversationChain extends LLMChain {
|
|
62
62
|
constructor(fields: {
|
|
63
|
-
llm:
|
|
63
|
+
llm: BaseLanguageModel;
|
|
64
64
|
prompt?: BasePromptTemplate;
|
|
65
65
|
outputKey?: string;
|
|
66
66
|
memory?: BaseMemory;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseChatModel } from "../chat_models/base.js";
|
|
2
|
+
import { BaseLLM } from "../llms/base.js";
|
|
3
|
+
import { BasePromptTemplate } from "../prompts/base.js";
|
|
4
|
+
import { BaseLanguageModel } from "../schema/index.js";
|
|
5
|
+
export declare abstract class BasePromptSelector {
|
|
6
|
+
abstract getPrompt(llm: BaseLanguageModel): BasePromptTemplate;
|
|
7
|
+
}
|
|
8
|
+
export declare class ConditionalPromptSelector extends BasePromptSelector {
|
|
9
|
+
defaultPrompt: BasePromptTemplate;
|
|
10
|
+
conditionals: Array<[
|
|
11
|
+
condition: (llm: BaseLanguageModel) => boolean,
|
|
12
|
+
prompt: BasePromptTemplate
|
|
13
|
+
]>;
|
|
14
|
+
constructor(default_prompt: BasePromptTemplate, conditionals?: Array<[
|
|
15
|
+
condition: (llm: BaseLanguageModel) => boolean,
|
|
16
|
+
prompt: BasePromptTemplate
|
|
17
|
+
]>);
|
|
18
|
+
getPrompt(llm: BaseLanguageModel): BasePromptTemplate;
|
|
19
|
+
}
|
|
20
|
+
export declare function isLLM(llm: BaseLanguageModel): llm is BaseLLM;
|
|
21
|
+
export declare function isChatModel(llm: BaseLanguageModel): llm is BaseChatModel;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BaseChatModel } from "../chat_models/base.js";
|
|
2
|
+
import { BaseLLM } from "../llms/base.js";
|
|
3
|
+
export class BasePromptSelector {
|
|
4
|
+
}
|
|
5
|
+
export class ConditionalPromptSelector extends BasePromptSelector {
|
|
6
|
+
constructor(default_prompt, conditionals = []) {
|
|
7
|
+
super();
|
|
8
|
+
Object.defineProperty(this, "defaultPrompt", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
configurable: true,
|
|
11
|
+
writable: true,
|
|
12
|
+
value: void 0
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(this, "conditionals", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true,
|
|
18
|
+
value: void 0
|
|
19
|
+
});
|
|
20
|
+
this.defaultPrompt = default_prompt;
|
|
21
|
+
this.conditionals = conditionals;
|
|
22
|
+
}
|
|
23
|
+
getPrompt(llm) {
|
|
24
|
+
for (const [condition, prompt] of this.conditionals) {
|
|
25
|
+
if (condition(llm)) {
|
|
26
|
+
return prompt;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return this.defaultPrompt;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function isLLM(llm) {
|
|
33
|
+
return llm instanceof BaseLLM;
|
|
34
|
+
}
|
|
35
|
+
export function isChatModel(llm) {
|
|
36
|
+
return llm instanceof BaseChatModel;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=prompt_selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt_selector.js","sourceRoot":"","sources":["../../src/chains/prompt_selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI1C,MAAM,OAAgB,kBAAkB;CAEvC;AAED,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IAO/D,YACE,cAAkC,EAClC,eAKI,EAAE;QAEN,KAAK,EAAE,CAAC;QAfV;;;;;WAAkC;QAElC;;;;;WAEE;QAYA,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,GAAsB;QAC9B,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;YACnD,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;gBAClB,OAAO,MAAM,CAAC;aACf;SACF;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,UAAU,KAAK,CAAC,GAAsB;IAC1C,OAAO,GAAG,YAAY,OAAO,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAsB;IAChD,OAAO,GAAG,YAAY,aAAa,CAAC;AACtC,CAAC"}
|
|
@@ -8,4 +8,13 @@ interface qaChainParams {
|
|
|
8
8
|
type?: string;
|
|
9
9
|
}
|
|
10
10
|
export declare const loadQAChain: (llm: BaseLLM, params?: qaChainParams) => StuffDocumentsChain | MapReduceDocumentsChain;
|
|
11
|
+
interface StuffQAChainParams {
|
|
12
|
+
prompt?: PromptTemplate;
|
|
13
|
+
}
|
|
14
|
+
export declare const loadQAStuffChain: (llm: BaseLLM, params?: StuffQAChainParams) => StuffDocumentsChain;
|
|
15
|
+
interface MapReduceQAChainParams {
|
|
16
|
+
combineMapPrompt?: PromptTemplate;
|
|
17
|
+
combinePrompt?: PromptTemplate;
|
|
18
|
+
}
|
|
19
|
+
export declare const loadQAMapReduceChain: (llm: BaseLLM, params?: MapReduceQAChainParams) => MapReduceDocumentsChain;
|
|
11
20
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LLMChain } from "../llm_chain.js";
|
|
2
2
|
import { StuffDocumentsChain, MapReduceDocumentsChain, } from "../combine_docs_chain.js";
|
|
3
|
-
import { DEFAULT_QA_PROMPT } from "./stuff_prompts.js";
|
|
4
|
-
import { COMBINE_PROMPT, DEFAULT_COMBINE_QA_PROMPT, } from "./map_reduce_prompts.js";
|
|
3
|
+
import { QA_PROMPT_SELECTOR, DEFAULT_QA_PROMPT } from "./stuff_prompts.js";
|
|
4
|
+
import { COMBINE_PROMPT, DEFAULT_COMBINE_QA_PROMPT, COMBINE_PROMPT_SELECTOR, COMBINE_QA_PROMPT_SELECTOR, } from "./map_reduce_prompts.js";
|
|
5
5
|
export const loadQAChain = (llm, params = {}) => {
|
|
6
6
|
const { prompt = DEFAULT_QA_PROMPT, combineMapPrompt = DEFAULT_COMBINE_QA_PROMPT, combinePrompt = COMBINE_PROMPT, type = "stuff", } = params;
|
|
7
7
|
if (type === "stuff") {
|
|
@@ -24,4 +24,24 @@ export const loadQAChain = (llm, params = {}) => {
|
|
|
24
24
|
}
|
|
25
25
|
throw new Error(`Invalid _type: ${type}`);
|
|
26
26
|
};
|
|
27
|
+
export const loadQAStuffChain = (llm, params = {}) => {
|
|
28
|
+
const { prompt = QA_PROMPT_SELECTOR.getPrompt(llm) } = params;
|
|
29
|
+
const llmChain = new LLMChain({ prompt, llm });
|
|
30
|
+
const chain = new StuffDocumentsChain({ llmChain });
|
|
31
|
+
return chain;
|
|
32
|
+
};
|
|
33
|
+
export const loadQAMapReduceChain = (llm, params = {}) => {
|
|
34
|
+
const { combineMapPrompt = COMBINE_QA_PROMPT_SELECTOR.getPrompt(llm), combinePrompt = COMBINE_PROMPT_SELECTOR.getPrompt(llm), } = params;
|
|
35
|
+
const llmChain = new LLMChain({ prompt: combineMapPrompt, llm });
|
|
36
|
+
const combineLLMChain = new LLMChain({ prompt: combinePrompt, llm });
|
|
37
|
+
const combineDocumentChain = new StuffDocumentsChain({
|
|
38
|
+
llmChain: combineLLMChain,
|
|
39
|
+
documentVariableName: "summaries",
|
|
40
|
+
});
|
|
41
|
+
const chain = new MapReduceDocumentsChain({
|
|
42
|
+
llmChain,
|
|
43
|
+
combineDocumentChain,
|
|
44
|
+
});
|
|
45
|
+
return chain;
|
|
46
|
+
};
|
|
27
47
|
//# sourceMappingURL=load.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/chains/question_answering/load.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/chains/question_answering/load.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAQjC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,SAAwB,EAAE,EAAE,EAAE;IACtE,MAAM,EACJ,MAAM,GAAG,iBAAiB,EAC1B,gBAAgB,GAAG,yBAAyB,EAC5C,aAAa,GAAG,cAAc,EAC9B,IAAI,GAAG,OAAO,GACf,GAAG,MAAM,CAAC;IACX,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC;KACd;IACD,IAAI,IAAI,KAAK,YAAY,EAAE;QACzB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,mBAAmB,CAAC;YACnD,QAAQ,EAAE,eAAe;YACzB,oBAAoB,EAAE,WAAW;SAClC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,uBAAuB,CAAC;YACxC,QAAQ;YACR,oBAAoB;SACrB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;KACd;IACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAY,EACZ,SAA6B,EAAE,EAC/B,EAAE;IACF,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,GAAY,EACZ,SAAiC,EAAE,EACnC,EAAE;IACF,MAAM,EACJ,gBAAgB,GAAG,0BAA0B,CAAC,SAAS,CAAC,GAAG,CAAC,EAC5D,aAAa,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,GACvD,GAAG,MAAM,CAAC;IACX,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,oBAAoB,GAAG,IAAI,mBAAmB,CAAC;QACnD,QAAQ,EAAE,eAAe;QACzB,oBAAoB,EAAE,WAAW;KAClC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,uBAAuB,CAAC;QACxC,QAAQ;QACR,oBAAoB;KACrB,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { PromptTemplate } from "../../prompts/index.js";
|
|
2
|
+
import { ConditionalPromptSelector } from "../prompt_selector.js";
|
|
2
3
|
export declare const DEFAULT_COMBINE_QA_PROMPT: PromptTemplate;
|
|
4
|
+
export declare const COMBINE_QA_PROMPT_SELECTOR: ConditionalPromptSelector;
|
|
3
5
|
export declare const COMBINE_PROMPT: PromptTemplate;
|
|
6
|
+
export declare const COMBINE_PROMPT_SELECTOR: ConditionalPromptSelector;
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
import { PromptTemplate } from "../../prompts/index.js";
|
|
2
|
+
import { PromptTemplate, ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate, } from "../../prompts/index.js";
|
|
3
|
+
import { ConditionalPromptSelector, isChatModel } from "../prompt_selector.js";
|
|
3
4
|
const qa_template = `Use the following portion of a long document to see if any of the text is relevant to answer the question.
|
|
4
5
|
Return any relevant text verbatim.
|
|
5
6
|
{context}
|
|
6
7
|
Question: {question}
|
|
7
8
|
Relevant text, if any:`;
|
|
8
9
|
export const DEFAULT_COMBINE_QA_PROMPT = PromptTemplate.fromTemplate(qa_template);
|
|
10
|
+
const system_template = `Use the following portion of a long document to see if any of the text is relevant to answer the question.
|
|
11
|
+
Return any relevant text verbatim.
|
|
12
|
+
----------------
|
|
13
|
+
{context}`;
|
|
14
|
+
const messages = [
|
|
15
|
+
SystemMessagePromptTemplate.fromTemplate(system_template),
|
|
16
|
+
HumanMessagePromptTemplate.fromTemplate("{question}"),
|
|
17
|
+
];
|
|
18
|
+
const CHAT_QA_PROMPT = ChatPromptTemplate.fromPromptMessages(messages);
|
|
19
|
+
export const COMBINE_QA_PROMPT_SELECTOR = new ConditionalPromptSelector(DEFAULT_COMBINE_QA_PROMPT, [[isChatModel, CHAT_QA_PROMPT]]);
|
|
9
20
|
const combine_prompt = `Given the following extracted parts of a long document and a question, create a final answer.
|
|
10
21
|
If you don't know the answer, just say that you don't know. Don't try to make up an answer.
|
|
11
22
|
|
|
@@ -37,4 +48,14 @@ QUESTION: {question}
|
|
|
37
48
|
=========
|
|
38
49
|
FINAL ANSWER:`;
|
|
39
50
|
export const COMBINE_PROMPT = PromptTemplate.fromTemplate(combine_prompt);
|
|
51
|
+
const system_combine_template = `Given the following extracted parts of a long document and a question, create a final answer.
|
|
52
|
+
If you don't know the answer, just say that you don't know. Don't try to make up an answer.
|
|
53
|
+
----------------
|
|
54
|
+
{summaries}`;
|
|
55
|
+
const combine_messages = [
|
|
56
|
+
SystemMessagePromptTemplate.fromTemplate(system_combine_template),
|
|
57
|
+
HumanMessagePromptTemplate.fromTemplate("{question}"),
|
|
58
|
+
];
|
|
59
|
+
const CHAT_COMBINE_PROMPT = ChatPromptTemplate.fromPromptMessages(combine_messages);
|
|
60
|
+
export const COMBINE_PROMPT_SELECTOR = new ConditionalPromptSelector(COMBINE_PROMPT, [[isChatModel, CHAT_COMBINE_PROMPT]]);
|
|
40
61
|
//# sourceMappingURL=map_reduce_prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map_reduce_prompts.js","sourceRoot":"","sources":["../../../src/chains/question_answering/map_reduce_prompts.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"map_reduce_prompts.js","sourceRoot":"","sources":["../../../src/chains/question_answering/map_reduce_prompts.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,WAAW,GAAG;;;;uBAIG,CAAC;AACxB,MAAM,CAAC,MAAM,yBAAyB,GACpC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AAE3C,MAAM,eAAe,GAAG;;;UAGd,CAAC;AACX,MAAM,QAAQ,GAAG;IACf,2BAA2B,CAAC,YAAY,CAAC,eAAe,CAAC;IACzD,0BAA0B,CAAC,YAAY,CAAC,YAAY,CAAC;CACtD,CAAC;AACF,MAAM,cAAc,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,yBAAyB,CACrE,yBAAyB,EACzB,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAChC,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BT,CAAC;AACf,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;AAE1E,MAAM,uBAAuB,GAAG;;;YAGpB,CAAC;AACb,MAAM,gBAAgB,GAAG;IACvB,2BAA2B,CAAC,YAAY,CAAC,uBAAuB,CAAC;IACjE,0BAA0B,CAAC,YAAY,CAAC,YAAY,CAAC;CACtD,CAAC;AACF,MAAM,mBAAmB,GACvB,kBAAkB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,yBAAyB,CAClE,cAAc,EACd,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CACrC,CAAC"}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
import { PromptTemplate } from "../../prompts/index.js";
|
|
2
|
+
import { PromptTemplate, ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate, } from "../../prompts/index.js";
|
|
3
|
+
import { ConditionalPromptSelector, isChatModel } from "../prompt_selector.js";
|
|
3
4
|
export const DEFAULT_QA_PROMPT = new PromptTemplate({
|
|
4
5
|
template: "Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.\n\n{context}\n\nQuestion: {question}\nHelpful Answer:",
|
|
5
6
|
inputVariables: ["context", "question"],
|
|
6
7
|
});
|
|
8
|
+
const system_template = `Use the following pieces of context to answer the users question.
|
|
9
|
+
If you don't know the answer, just say that you don't know, don't try to make up an answer.
|
|
10
|
+
----------------
|
|
11
|
+
{context}`;
|
|
12
|
+
const messages = [
|
|
13
|
+
SystemMessagePromptTemplate.fromTemplate(system_template),
|
|
14
|
+
HumanMessagePromptTemplate.fromTemplate("{question}"),
|
|
15
|
+
];
|
|
16
|
+
const CHAT_PROMPT = ChatPromptTemplate.fromPromptMessages(messages);
|
|
17
|
+
export const QA_PROMPT_SELECTOR = new ConditionalPromptSelector(DEFAULT_QA_PROMPT, [[isChatModel, CHAT_PROMPT]]);
|
|
7
18
|
//# sourceMappingURL=stuff_prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stuff_prompts.js","sourceRoot":"","sources":["../../../src/chains/question_answering/stuff_prompts.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"stuff_prompts.js","sourceRoot":"","sources":["../../../src/chains/question_answering/stuff_prompts.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC;IAClD,QAAQ,EACN,0NAA0N;IAC5N,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;CACxC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG;;;UAGd,CAAC;AACX,MAAM,QAAQ,GAAG;IACf,2BAA2B,CAAC,YAAY,CAAC,eAAe,CAAC;IACzD,0BAA0B,CAAC,YAAY,CAAC,YAAY,CAAC;CACtD,CAAC;AACF,MAAM,WAAW,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,yBAAyB,CAC7D,iBAAiB,EACjB,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAC7B,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { test } from "@jest/globals";
|
|
2
2
|
import { OpenAI } from "../../../llms/openai.js";
|
|
3
|
-
import {
|
|
3
|
+
import { loadQAMapReduceChain, loadQAStuffChain } from "../load.js";
|
|
4
4
|
import { Document } from "../../../document.js";
|
|
5
|
-
test("Test
|
|
5
|
+
test("Test loadQAStuffChain", async () => {
|
|
6
6
|
const model = new OpenAI({ modelName: "text-ada-001" });
|
|
7
|
-
const chain =
|
|
7
|
+
const chain = loadQAStuffChain(model);
|
|
8
8
|
const docs = [
|
|
9
9
|
new Document({ pageContent: "foo" }),
|
|
10
10
|
new Document({ pageContent: "bar" }),
|
|
@@ -13,9 +13,9 @@ test("Test loadQAChain", async () => {
|
|
|
13
13
|
const res = await chain.call({ input_documents: docs, question: "Whats up" });
|
|
14
14
|
console.log({ res });
|
|
15
15
|
});
|
|
16
|
-
test("Test
|
|
16
|
+
test("Test loadQAMapReduceChain", async () => {
|
|
17
17
|
const model = new OpenAI({ modelName: "text-ada-001" });
|
|
18
|
-
const chain =
|
|
18
|
+
const chain = loadQAMapReduceChain(model);
|
|
19
19
|
const docs = [
|
|
20
20
|
new Document({ pageContent: "foo" }),
|
|
21
21
|
new Document({ pageContent: "bar" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.int.test.js","sourceRoot":"","sources":["../../../../src/chains/question_answering/tests/load.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"load.int.test.js","sourceRoot":"","sources":["../../../../src/chains/question_answering/tests/load.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG;QACX,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACrC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IAC3C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG;QACX,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACrC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -13,7 +13,7 @@ test("Test loadSummzationChain", async () => {
|
|
|
13
13
|
const res = await chain.call({ input_documents: docs, question: "Whats up" });
|
|
14
14
|
console.log({ res });
|
|
15
15
|
});
|
|
16
|
-
test("Test
|
|
16
|
+
test("Test loadSummarizationChain map_reduce", async () => {
|
|
17
17
|
const model = new OpenAI({ modelName: "text-ada-001" });
|
|
18
18
|
const chain = loadSummarizationChain(model, { type: "map_reduce" });
|
|
19
19
|
const docs = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.int.test.js","sourceRoot":"","sources":["../../../../src/chains/summarization/tests/load.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IAC1C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG;QACX,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACrC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"load.int.test.js","sourceRoot":"","sources":["../../../../src/chains/summarization/tests/load.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IAC1C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG;QACX,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACrC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;IACxD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG;QACX,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACrC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { LLMChain } from "../llm_chain.js";
|
|
|
5
5
|
import { loadChain } from "../load.js";
|
|
6
6
|
import { StuffDocumentsChain } from "../combine_docs_chain.js";
|
|
7
7
|
import { Document } from "../../document.js";
|
|
8
|
-
import {
|
|
8
|
+
import { loadQAMapReduceChain } from "../question_answering/load.js";
|
|
9
9
|
test("Test StuffDocumentsChain", async () => {
|
|
10
10
|
const model = new OpenAI({ modelName: "text-ada-001" });
|
|
11
11
|
const prompt = new PromptTemplate({
|
|
@@ -27,7 +27,7 @@ test("Test StuffDocumentsChain", async () => {
|
|
|
27
27
|
});
|
|
28
28
|
test("Test MapReduceDocumentsChain with QA chain", async () => {
|
|
29
29
|
const model = new OpenAI({ temperature: 0, modelName: "text-ada-001" });
|
|
30
|
-
const chain =
|
|
30
|
+
const chain = loadQAMapReduceChain(model);
|
|
31
31
|
const docs = [
|
|
32
32
|
new Document({ pageContent: "harrison went to harvard" }),
|
|
33
33
|
new Document({ pageContent: "ankush went to princeton" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine_docs_chain.int.test.js","sourceRoot":"","sources":["../../../src/chains/tests/combine_docs_chain.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"combine_docs_chain.int.test.js","sourceRoot":"","sources":["../../../src/chains/tests/combine_docs_chain.int.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { test, expect } from "@jest/globals";
|
|
2
2
|
import { Document } from "../../document.js";
|
|
3
3
|
import { BaseLLM } from "../../llms/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { loadQAMapReduceChain } from "../question_answering/load.js";
|
|
5
5
|
test("Test MapReduceDocumentsChain", async () => {
|
|
6
6
|
let nrMapCalls = 0;
|
|
7
7
|
let nrReduceCalls = 0;
|
|
@@ -32,7 +32,7 @@ test("Test MapReduceDocumentsChain", async () => {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
const model = new FakeLLM({});
|
|
35
|
-
const chain =
|
|
35
|
+
const chain = loadQAMapReduceChain(model);
|
|
36
36
|
const docs = [
|
|
37
37
|
new Document({ pageContent: "harrison went to harvard" }),
|
|
38
38
|
new Document({ pageContent: "ankush went to princeton" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine_docs_chain.test.js","sourceRoot":"","sources":["../../../src/chains/tests/combine_docs_chain.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"combine_docs_chain.test.js","sourceRoot":"","sources":["../../../src/chains/tests/combine_docs_chain.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrE,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;IAC9C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,OAAQ,SAAQ,OAAO;QAC3B,QAAQ;YACN,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,OAAiB,EAAE,CAAY;YAC7C,OAAO;gBACL,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAClC,IAAI,UAAU,GAAG,EAAE,CAAC;oBACpB,IAAI,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE;wBAClD,UAAU,IAAI,CAAC,CAAC;wBAChB,UAAU,GAAG,sBAAsB,CAAC;qBACrC;yBAAM,IAAI,MAAM,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE;wBAC7D,aAAa,IAAI,CAAC,CAAC;wBACnB,UAAU,GAAG,gBAAgB,CAAC;qBAC/B;oBACD,OAAO;wBACL;4BACE,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,CAAC;yBACT;qBACF,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IAED,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG;QACX,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;QACzD,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;KAC1D,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;QAC3B,eAAe,EAAE,IAAI;QACrB,QAAQ,EAAE,kCAAkC;KAC7C,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAErB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QAClB,IAAI,EAAE,gBAAgB;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseChain,
|
|
1
|
+
import { BaseChain, loadQAStuffChain, } from "./index.js";
|
|
2
2
|
import { resolveConfigFromFile } from "../util/index.js";
|
|
3
3
|
export class VectorDBQAChain extends BaseChain {
|
|
4
4
|
get inputKeys() {
|
|
@@ -89,9 +89,8 @@ export class VectorDBQAChain extends BaseChain {
|
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
static fromLLM(llm, vectorstore) {
|
|
92
|
-
const qaChain =
|
|
93
|
-
|
|
94
|
-
return instance;
|
|
92
|
+
const qaChain = loadQAStuffChain(llm);
|
|
93
|
+
return new this({ vectorstore, combineDocumentsChain: qaChain });
|
|
95
94
|
}
|
|
96
95
|
}
|
|
97
96
|
//# sourceMappingURL=vector_db_qa.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector_db_qa.js","sourceRoot":"","sources":["../../src/chains/vector_db_qa.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAGT,
|
|
1
|
+
{"version":3,"file":"vector_db_qa.js","sourceRoot":"","sources":["../../src/chains/vector_db_qa.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat_models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat_models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type { DocumentLoader } from "./base.js";
|
|
2
2
|
export { BaseDocumentLoader } from "./base.js";
|
|
3
3
|
export { CheerioWebBaseLoader } from "./cheerio_web_base.js";
|
|
4
|
+
export { PuppeteerWebBaseLoader, PuppeteerEvaluate, } from "./puppeteer_web_base.js";
|
|
4
5
|
export { CollegeConfidentialLoader } from "./college_confidential.js";
|
|
5
6
|
export { GitbookLoader } from "./gitbook.js";
|
|
6
7
|
export { HNLoader } from "./hn.js";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { BaseDocumentLoader } from "./base.js";
|
|
2
2
|
export { CheerioWebBaseLoader } from "./cheerio_web_base.js";
|
|
3
|
+
export { PuppeteerWebBaseLoader, } from "./puppeteer_web_base.js";
|
|
3
4
|
export { CollegeConfidentialLoader } from "./college_confidential.js";
|
|
4
5
|
export { GitbookLoader } from "./gitbook.js";
|
|
5
6
|
export { HNLoader } from "./hn.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/document_loaders/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/document_loaders/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,sBAAsB,GAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { launch, WaitForOptions, Page, Browser, PuppeteerLaunchOptions } from "puppeteer";
|
|
2
|
+
import { Document } from "../document.js";
|
|
3
|
+
import { BaseDocumentLoader } from "./base.js";
|
|
4
|
+
import type { DocumentLoader } from "./base.js";
|
|
5
|
+
export { Page, Browser };
|
|
6
|
+
export type PuppeteerGotoOptions = WaitForOptions & {
|
|
7
|
+
referer?: string;
|
|
8
|
+
referrerPolicy?: string;
|
|
9
|
+
};
|
|
10
|
+
export type PuppeteerEvaluate = (page: Page, browser: Browser) => Promise<string>;
|
|
11
|
+
export type PuppeteerWebBaseLoaderOptions = {
|
|
12
|
+
launchOptions?: PuppeteerLaunchOptions;
|
|
13
|
+
gotoOptions?: PuppeteerGotoOptions;
|
|
14
|
+
evaluate?: PuppeteerEvaluate;
|
|
15
|
+
};
|
|
16
|
+
export declare class PuppeteerWebBaseLoader extends BaseDocumentLoader implements DocumentLoader {
|
|
17
|
+
webPath: string;
|
|
18
|
+
options: PuppeteerWebBaseLoaderOptions | undefined;
|
|
19
|
+
constructor(webPath: string, options?: PuppeteerWebBaseLoaderOptions);
|
|
20
|
+
static _scrape(url: string, options?: PuppeteerWebBaseLoaderOptions): Promise<string>;
|
|
21
|
+
scrape(): Promise<string>;
|
|
22
|
+
load(): Promise<Document[]>;
|
|
23
|
+
static imports(): Promise<{
|
|
24
|
+
launch: typeof launch;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Document } from "../document.js";
|
|
2
|
+
import { BaseDocumentLoader } from "./base.js";
|
|
3
|
+
export class PuppeteerWebBaseLoader extends BaseDocumentLoader {
|
|
4
|
+
constructor(webPath, options) {
|
|
5
|
+
super();
|
|
6
|
+
Object.defineProperty(this, "webPath", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
writable: true,
|
|
10
|
+
value: webPath
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(this, "options", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true,
|
|
16
|
+
value: void 0
|
|
17
|
+
});
|
|
18
|
+
this.options = options ?? undefined;
|
|
19
|
+
}
|
|
20
|
+
static async _scrape(url, options) {
|
|
21
|
+
const { launch } = await PuppeteerWebBaseLoader.imports();
|
|
22
|
+
const browser = await launch({
|
|
23
|
+
headless: true,
|
|
24
|
+
defaultViewport: null,
|
|
25
|
+
ignoreDefaultArgs: ["--disable-extensions"],
|
|
26
|
+
...options?.launchOptions,
|
|
27
|
+
});
|
|
28
|
+
const page = await browser.newPage();
|
|
29
|
+
await page.goto(url, {
|
|
30
|
+
timeout: 180000,
|
|
31
|
+
waitUntil: "domcontentloaded",
|
|
32
|
+
...options?.gotoOptions,
|
|
33
|
+
});
|
|
34
|
+
const bodyHTML = options?.evaluate
|
|
35
|
+
? await options?.evaluate(page, browser)
|
|
36
|
+
: await page.evaluate(() => document.body.innerHTML);
|
|
37
|
+
await browser.close();
|
|
38
|
+
return bodyHTML;
|
|
39
|
+
}
|
|
40
|
+
async scrape() {
|
|
41
|
+
return PuppeteerWebBaseLoader._scrape(this.webPath, this.options);
|
|
42
|
+
}
|
|
43
|
+
async load() {
|
|
44
|
+
const text = await this.scrape();
|
|
45
|
+
const metadata = { source: this.webPath };
|
|
46
|
+
return [new Document({ pageContent: text, metadata })];
|
|
47
|
+
}
|
|
48
|
+
static async imports() {
|
|
49
|
+
try {
|
|
50
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
51
|
+
const { launch } = await import("puppeteer");
|
|
52
|
+
return { launch };
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
console.error(e);
|
|
56
|
+
throw new Error("Please install puppeteer as a dependency with, e.g. `yarn add puppeteer`");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=puppeteer_web_base.js.map
|