langchain 0.0.4
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 +42 -0
- package/dist/cjs/agents/agent.js +129 -0
- package/dist/cjs/agents/agent.js.map +1 -0
- package/dist/cjs/agents/executor.d.ts +27 -0
- package/dist/cjs/agents/executor.js +105 -0
- package/dist/cjs/agents/executor.js.map +1 -0
- package/dist/cjs/agents/helpers.d.ts +3 -0
- package/dist/cjs/agents/helpers.js +30 -0
- package/dist/cjs/agents/helpers.js.map +1 -0
- package/dist/cjs/agents/index.d.ts +6 -0
- package/dist/cjs/agents/index.js +13 -0
- package/dist/cjs/agents/index.js.map +1 -0
- package/dist/cjs/agents/load.d.ts +6 -0
- package/dist/cjs/agents/load.js +28 -0
- package/dist/cjs/agents/load.js.map +1 -0
- package/dist/cjs/agents/mrkl/index.d.ts +33 -0
- package/dist/cjs/agents/mrkl/index.js +109 -0
- package/dist/cjs/agents/mrkl/index.js.map +1 -0
- package/dist/cjs/agents/mrkl/prompt.d.ts +3 -0
- package/dist/cjs/agents/mrkl/prompt.js +21 -0
- package/dist/cjs/agents/mrkl/prompt.js.map +1 -0
- package/dist/cjs/agents/tests/agent.test.d.ts +1 -0
- package/dist/cjs/agents/tests/agent.test.js +31 -0
- package/dist/cjs/agents/tests/agent.test.js.map +1 -0
- package/dist/cjs/agents/tools/index.d.ts +7 -0
- package/dist/cjs/agents/tools/index.js +6 -0
- package/dist/cjs/agents/tools/index.js.map +1 -0
- package/dist/cjs/agents/tools/llm-math.d.ts +0 -0
- package/dist/cjs/agents/tools/llm-math.js +2 -0
- package/dist/cjs/agents/tools/llm-math.js.map +1 -0
- package/dist/cjs/agents/tools/serpapi.d.ts +3 -0
- package/dist/cjs/agents/tools/serpapi.js +50 -0
- package/dist/cjs/agents/tools/serpapi.js.map +1 -0
- package/dist/cjs/agents/types.d.ts +25 -0
- package/dist/cjs/agents/types.js +3 -0
- package/dist/cjs/agents/types.js.map +1 -0
- package/dist/cjs/cache.d.ts +11 -0
- package/dist/cjs/cache.js +27 -0
- package/dist/cjs/cache.js.map +1 -0
- package/dist/cjs/chains/base.d.ts +12 -0
- package/dist/cjs/chains/base.js +23 -0
- package/dist/cjs/chains/base.js.map +1 -0
- package/dist/cjs/chains/index.d.ts +3 -0
- package/dist/cjs/chains/index.js +10 -0
- package/dist/cjs/chains/index.js.map +1 -0
- package/dist/cjs/chains/llm_chain.d.ts +30 -0
- package/dist/cjs/chains/llm_chain.js +83 -0
- package/dist/cjs/chains/llm_chain.js.map +1 -0
- package/dist/cjs/chains/llm_math_chain.d.ts +0 -0
- package/dist/cjs/chains/llm_math_chain.js +129 -0
- package/dist/cjs/chains/llm_math_chain.js.map +1 -0
- package/dist/cjs/chains/load.d.ts +2 -0
- package/dist/cjs/chains/load.js +29 -0
- package/dist/cjs/chains/load.js.map +1 -0
- package/dist/cjs/chains/tests/llm_chain.test.d.ts +1 -0
- package/dist/cjs/chains/tests/llm_chain.test.js +32 -0
- package/dist/cjs/chains/tests/llm_chain.test.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +12 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/llms/base.d.ts +23 -0
- package/dist/cjs/llms/base.js +159 -0
- package/dist/cjs/llms/base.js.map +1 -0
- package/dist/cjs/llms/index.d.ts +18 -0
- package/dist/cjs/llms/index.js +11 -0
- package/dist/cjs/llms/index.js.map +1 -0
- package/dist/cjs/llms/load.d.ts +3 -0
- package/dist/cjs/llms/load.js +9 -0
- package/dist/cjs/llms/load.js.map +1 -0
- package/dist/cjs/llms/openai.d.ts +63 -0
- package/dist/cjs/llms/openai.js +202 -0
- package/dist/cjs/llms/openai.js.map +1 -0
- package/dist/cjs/llms/tests/openai.test.d.ts +1 -0
- package/dist/cjs/llms/tests/openai.test.js +19 -0
- package/dist/cjs/llms/tests/openai.test.js.map +1 -0
- package/dist/cjs/prompt/base.d.ts +19 -0
- package/dist/cjs/prompt/base.js +54 -0
- package/dist/cjs/prompt/base.js.map +1 -0
- package/dist/cjs/prompt/few_shot.d.ts +47 -0
- package/dist/cjs/prompt/few_shot.js +143 -0
- package/dist/cjs/prompt/few_shot.js.map +1 -0
- package/dist/cjs/prompt/index.d.ts +3 -0
- package/dist/cjs/prompt/index.js +10 -0
- package/dist/cjs/prompt/index.js.map +1 -0
- package/dist/cjs/prompt/load.d.ts +2 -0
- package/dist/cjs/prompt/load.js +25 -0
- package/dist/cjs/prompt/load.js.map +1 -0
- package/dist/cjs/prompt/parser.d.ts +40 -0
- package/dist/cjs/prompt/parser.js +93 -0
- package/dist/cjs/prompt/parser.js.map +1 -0
- package/dist/cjs/prompt/prompt.d.ts +28 -0
- package/dist/cjs/prompt/prompt.js +91 -0
- package/dist/cjs/prompt/prompt.js.map +1 -0
- package/dist/cjs/prompt/template.d.ts +16 -0
- package/dist/cjs/prompt/template.js +87 -0
- package/dist/cjs/prompt/template.js.map +1 -0
- package/dist/cjs/prompt/tests/load.test.d.ts +1 -0
- package/dist/cjs/prompt/tests/load.test.js +30 -0
- package/dist/cjs/prompt/tests/load.test.js.map +1 -0
- package/dist/cjs/prompt/tests/template.test.d.ts +1 -0
- package/dist/cjs/prompt/tests/template.test.js +27 -0
- package/dist/cjs/prompt/tests/template.test.js.map +1 -0
- package/dist/cjs/util/hub.d.ts +1 -0
- package/dist/cjs/util/hub.js +50 -0
- package/dist/cjs/util/hub.js.map +1 -0
- package/dist/cjs/util/index.d.ts +12 -0
- package/dist/cjs/util/index.js +107 -0
- package/dist/cjs/util/index.js.map +1 -0
- package/dist/esm/agents/agent.d.ts +42 -0
- package/dist/esm/agents/agent.js +124 -0
- package/dist/esm/agents/agent.js.map +1 -0
- package/dist/esm/agents/executor.d.ts +27 -0
- package/dist/esm/agents/executor.js +101 -0
- package/dist/esm/agents/executor.js.map +1 -0
- package/dist/esm/agents/helpers.d.ts +3 -0
- package/dist/esm/agents/helpers.js +26 -0
- package/dist/esm/agents/helpers.js.map +1 -0
- package/dist/esm/agents/index.d.ts +6 -0
- package/dist/esm/agents/index.js +5 -0
- package/dist/esm/agents/index.js.map +1 -0
- package/dist/esm/agents/load.d.ts +6 -0
- package/dist/esm/agents/load.js +24 -0
- package/dist/esm/agents/load.js.map +1 -0
- package/dist/esm/agents/mrkl/index.d.ts +33 -0
- package/dist/esm/agents/mrkl/index.js +106 -0
- package/dist/esm/agents/mrkl/index.js.map +1 -0
- package/dist/esm/agents/mrkl/prompt.d.ts +3 -0
- package/dist/esm/agents/mrkl/prompt.js +17 -0
- package/dist/esm/agents/mrkl/prompt.js.map +1 -0
- package/dist/esm/agents/tests/agent.test.d.ts +1 -0
- package/dist/esm/agents/tests/agent.test.js +29 -0
- package/dist/esm/agents/tests/agent.test.js.map +1 -0
- package/dist/esm/agents/tools/index.d.ts +7 -0
- package/dist/esm/agents/tools/index.js +2 -0
- package/dist/esm/agents/tools/index.js.map +1 -0
- package/dist/esm/agents/tools/llm-math.d.ts +0 -0
- package/dist/esm/agents/tools/llm-math.js +2 -0
- package/dist/esm/agents/tools/llm-math.js.map +1 -0
- package/dist/esm/agents/tools/serpapi.d.ts +3 -0
- package/dist/esm/agents/tools/serpapi.js +46 -0
- package/dist/esm/agents/tools/serpapi.js.map +1 -0
- package/dist/esm/agents/types.d.ts +25 -0
- package/dist/esm/agents/types.js +2 -0
- package/dist/esm/agents/types.js.map +1 -0
- package/dist/esm/cache.d.ts +11 -0
- package/dist/esm/cache.js +22 -0
- package/dist/esm/cache.js.map +1 -0
- package/dist/esm/chains/base.d.ts +12 -0
- package/dist/esm/chains/base.js +19 -0
- package/dist/esm/chains/base.js.map +1 -0
- package/dist/esm/chains/index.d.ts +3 -0
- package/dist/esm/chains/index.js +4 -0
- package/dist/esm/chains/index.js.map +1 -0
- package/dist/esm/chains/llm_chain.d.ts +30 -0
- package/dist/esm/chains/llm_chain.js +79 -0
- package/dist/esm/chains/llm_chain.js.map +1 -0
- package/dist/esm/chains/llm_math_chain.d.ts +0 -0
- package/dist/esm/chains/llm_math_chain.js +129 -0
- package/dist/esm/chains/llm_math_chain.js.map +1 -0
- package/dist/esm/chains/load.d.ts +2 -0
- package/dist/esm/chains/load.js +25 -0
- package/dist/esm/chains/load.js.map +1 -0
- package/dist/esm/chains/tests/llm_chain.test.d.ts +1 -0
- package/dist/esm/chains/tests/llm_chain.test.js +30 -0
- package/dist/esm/chains/tests/llm_chain.test.js.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/llms/base.d.ts +23 -0
- package/dist/esm/llms/base.js +154 -0
- package/dist/esm/llms/base.js.map +1 -0
- package/dist/esm/llms/index.d.ts +18 -0
- package/dist/esm/llms/index.js +4 -0
- package/dist/esm/llms/index.js.map +1 -0
- package/dist/esm/llms/load.d.ts +3 -0
- package/dist/esm/llms/load.js +5 -0
- package/dist/esm/llms/load.js.map +1 -0
- package/dist/esm/llms/openai.d.ts +63 -0
- package/dist/esm/llms/openai.js +198 -0
- package/dist/esm/llms/openai.js.map +1 -0
- package/dist/esm/llms/tests/openai.test.d.ts +1 -0
- package/dist/esm/llms/tests/openai.test.js +17 -0
- package/dist/esm/llms/tests/openai.test.js.map +1 -0
- package/dist/esm/prompt/base.d.ts +19 -0
- package/dist/esm/prompt/base.js +50 -0
- package/dist/esm/prompt/base.js.map +1 -0
- package/dist/esm/prompt/few_shot.d.ts +47 -0
- package/dist/esm/prompt/few_shot.js +139 -0
- package/dist/esm/prompt/few_shot.js.map +1 -0
- package/dist/esm/prompt/index.d.ts +3 -0
- package/dist/esm/prompt/index.js +4 -0
- package/dist/esm/prompt/index.js.map +1 -0
- package/dist/esm/prompt/load.d.ts +2 -0
- package/dist/esm/prompt/load.js +21 -0
- package/dist/esm/prompt/load.js.map +1 -0
- package/dist/esm/prompt/parser.d.ts +40 -0
- package/dist/esm/prompt/parser.js +86 -0
- package/dist/esm/prompt/parser.js.map +1 -0
- package/dist/esm/prompt/prompt.d.ts +28 -0
- package/dist/esm/prompt/prompt.js +87 -0
- package/dist/esm/prompt/prompt.js.map +1 -0
- package/dist/esm/prompt/template.d.ts +16 -0
- package/dist/esm/prompt/template.js +80 -0
- package/dist/esm/prompt/template.js.map +1 -0
- package/dist/esm/prompt/tests/load.test.d.ts +1 -0
- package/dist/esm/prompt/tests/load.test.js +25 -0
- package/dist/esm/prompt/tests/load.test.js.map +1 -0
- package/dist/esm/prompt/tests/template.test.d.ts +1 -0
- package/dist/esm/prompt/tests/template.test.js +25 -0
- package/dist/esm/prompt/tests/template.test.js.map +1 -0
- package/dist/esm/util/hub.d.ts +1 -0
- package/dist/esm/util/hub.js +43 -0
- package/dist/esm/util/hub.js.map +1 -0
- package/dist/esm/util/index.d.ts +12 -0
- package/dist/esm/util/index.js +74 -0
- package/dist/esm/util/index.js.map +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SerpAPI = void 0;
|
|
4
|
+
var serpapi_1 = require("./serpapi");
|
|
5
|
+
Object.defineProperty(exports, "SerpAPI", { enumerable: true, get: function () { return serpapi_1.SerpAPI; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../agents/tools/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-math.js","sourceRoot":"","sources":["../../../../agents/tools/llm-math.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SerpAPI = void 0;
|
|
13
|
+
const serpapi_1 = require("serpapi");
|
|
14
|
+
const SerpAPI = (params, apiKey) => {
|
|
15
|
+
const key = apiKey !== null && apiKey !== void 0 ? apiKey : process.env.SERPAPI_API_KEY;
|
|
16
|
+
return {
|
|
17
|
+
name: "search",
|
|
18
|
+
call: (input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
20
|
+
const res = yield (0, serpapi_1.getJson)("google", Object.assign(Object.assign({}, params), { api_key: key, q: input }));
|
|
21
|
+
if (res.error) {
|
|
22
|
+
throw new Error(`Got error from serpAPI: ${res.error}`);
|
|
23
|
+
}
|
|
24
|
+
if ((_a = res.answer_box) === null || _a === void 0 ? void 0 : _a.answer) {
|
|
25
|
+
return res.answer_box.answer;
|
|
26
|
+
}
|
|
27
|
+
if ((_b = res.answer_box) === null || _b === void 0 ? void 0 : _b.snippet) {
|
|
28
|
+
return res.answer_box.snippet;
|
|
29
|
+
}
|
|
30
|
+
if ((_c = res.answer_box) === null || _c === void 0 ? void 0 : _c.snippet_highlighted_words) {
|
|
31
|
+
return res.answer_box.snippet_highlighted_words[0];
|
|
32
|
+
}
|
|
33
|
+
if ((_d = res.sports_results) === null || _d === void 0 ? void 0 : _d.game_spotlight) {
|
|
34
|
+
return res.sports_results.game_spotlight;
|
|
35
|
+
}
|
|
36
|
+
if ((_e = res.knowledge_graph) === null || _e === void 0 ? void 0 : _e.description) {
|
|
37
|
+
return res.knowledge_graph.description;
|
|
38
|
+
}
|
|
39
|
+
if ((_g = (_f = res.organic_results) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.snippet) {
|
|
40
|
+
return res.organic_results[0].snippet;
|
|
41
|
+
}
|
|
42
|
+
return "No good search result found";
|
|
43
|
+
}),
|
|
44
|
+
description:
|
|
45
|
+
// eslint-disable-next-line max-len
|
|
46
|
+
"a search engine. useful for when you need to answer questions about current events. input should be a search query.",
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
exports.SerpAPI = SerpAPI;
|
|
50
|
+
//# sourceMappingURL=serpapi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serpapi.js","sourceRoot":"","sources":["../../../../agents/tools/serpapi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAoD;AAG7C,MAAM,OAAO,GAAG,CACrB,MAAkC,EAClC,MAAe,EACT,EAAE;IACR,MAAM,GAAG,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAClD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAO,KAAa,EAAE,EAAE;;YAC5B,MAAM,GAAG,GAAG,MAAM,IAAA,iBAAO,EAAC,QAAQ,kCAC7B,MAAM,KACT,OAAO,EAAE,GAAG,EACZ,CAAC,EAAE,KAAK,IACR,CAAC;YAEH,IAAI,GAAG,CAAC,KAAK,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;aACzD;YAED,IAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,MAAM,EAAE;gBAC1B,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;aAC9B;YAED,IAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,OAAO,EAAE;gBAC3B,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;aAC/B;YAED,IAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,yBAAyB,EAAE;gBAC7C,OAAO,GAAG,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;aACpD;YAED,IAAI,MAAA,GAAG,CAAC,cAAc,0CAAE,cAAc,EAAE;gBACtC,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;aAC1C;YAED,IAAI,MAAA,GAAG,CAAC,eAAe,0CAAE,WAAW,EAAE;gBACpC,OAAO,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC;aACxC;YAED,IAAI,MAAA,MAAA,GAAG,CAAC,eAAe,0CAAG,CAAC,CAAC,0CAAE,OAAO,EAAE;gBACrC,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aACvC;YAED,OAAO,6BAA6B,CAAC;QACvC,CAAC,CAAA;QAED,WAAW;QACT,mCAAmC;QACnC,qHAAqH;KACxH,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,OAAO,WAiDlB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SerializedLLMChain } from "../chains";
|
|
2
|
+
import { AgentInput } from "./index";
|
|
3
|
+
export type AgentAction = {
|
|
4
|
+
tool: string;
|
|
5
|
+
toolInput: string;
|
|
6
|
+
log: string;
|
|
7
|
+
};
|
|
8
|
+
export type AgentFinish = {
|
|
9
|
+
returnValues: Record<string, any>;
|
|
10
|
+
log: string;
|
|
11
|
+
};
|
|
12
|
+
export type AgentStep = {
|
|
13
|
+
action: AgentAction;
|
|
14
|
+
observation: string;
|
|
15
|
+
};
|
|
16
|
+
export type StoppingMethod = "force" | "generate";
|
|
17
|
+
export type SerializedAgentT<TType extends string, FromLLMInput, ConstructorInput extends AgentInput> = {
|
|
18
|
+
_type: TType;
|
|
19
|
+
llm_chain?: SerializedLLMChain;
|
|
20
|
+
llm_chain_path?: string;
|
|
21
|
+
} & (({
|
|
22
|
+
load_from_llm_and_tools: true;
|
|
23
|
+
} & FromLLMInput) | ({
|
|
24
|
+
load_from_llm_and_tools?: false;
|
|
25
|
+
} & ConstructorInput));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../agents/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Generation } from "./llms";
|
|
2
|
+
export declare abstract class BaseCache<T = Generation[]> {
|
|
3
|
+
abstract lookup(prompt: string, llmKey: string): T | undefined;
|
|
4
|
+
abstract update(prompt: string, llmKey: string, value: T): void;
|
|
5
|
+
}
|
|
6
|
+
export declare class InMemoryCache<T = Generation[]> extends BaseCache<T> {
|
|
7
|
+
private cache;
|
|
8
|
+
constructor();
|
|
9
|
+
lookup(prompt: string, llmKey: string): T;
|
|
10
|
+
update(prompt: string, llmKey: string, value: T): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryCache = exports.BaseCache = void 0;
|
|
4
|
+
const getKey = (prompt, llmKey) => `${prompt}_${llmKey}`;
|
|
5
|
+
class BaseCache {
|
|
6
|
+
}
|
|
7
|
+
exports.BaseCache = BaseCache;
|
|
8
|
+
class InMemoryCache extends BaseCache {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
Object.defineProperty(this, "cache", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: void 0
|
|
16
|
+
});
|
|
17
|
+
this.cache = {};
|
|
18
|
+
}
|
|
19
|
+
lookup(prompt, llmKey) {
|
|
20
|
+
return this.cache[getKey(prompt, llmKey)];
|
|
21
|
+
}
|
|
22
|
+
update(prompt, llmKey, value) {
|
|
23
|
+
this.cache[getKey(prompt, llmKey)] = value;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.InMemoryCache = InMemoryCache;
|
|
27
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../cache.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,MAAc,EAAU,EAAE,CACxD,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAExB,MAAsB,SAAS;CAI9B;AAJD,8BAIC;AAED,MAAa,aAAgC,SAAQ,SAAY;IAG/D;QACE,KAAK,EAAE,CAAC;QAHV;;;;;WAAiC;QAI/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAAc;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAAc,EAAE,KAAQ;QAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;IAC7C,CAAC;CACF;AAfD,sCAeC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SerializedLLMChain } from "./index";
|
|
2
|
+
export type ChainValues = Record<string, any>;
|
|
3
|
+
type SerializedBaseChain = SerializedLLMChain;
|
|
4
|
+
export declare abstract class BaseChain {
|
|
5
|
+
abstract _call(values: ChainValues): Promise<ChainValues>;
|
|
6
|
+
abstract _chainType(): string;
|
|
7
|
+
abstract serialize(): SerializedBaseChain;
|
|
8
|
+
call(values: ChainValues): Promise<ChainValues>;
|
|
9
|
+
apply(inputs: ChainValues[]): ChainValues[];
|
|
10
|
+
static deserialize(data: SerializedBaseChain): Promise<BaseChain>;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseChain = void 0;
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
class BaseChain {
|
|
6
|
+
call(values) {
|
|
7
|
+
// TODO(sean) add callback support
|
|
8
|
+
return this._call(values);
|
|
9
|
+
}
|
|
10
|
+
apply(inputs) {
|
|
11
|
+
return inputs.map(this.call);
|
|
12
|
+
}
|
|
13
|
+
static deserialize(data) {
|
|
14
|
+
switch (data._type) {
|
|
15
|
+
case "llm_chain":
|
|
16
|
+
return index_1.LLMChain.deserialize(data);
|
|
17
|
+
default:
|
|
18
|
+
throw new Error(`Invalid prompt type in config: ${data._type}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.BaseChain = BaseChain;
|
|
23
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../chains/base.ts"],"names":[],"mappings":";;;AAAA,mCAAuD;AAMvD,MAAsB,SAAS;IAO7B,IAAI,CAAC,MAAmB;QACtB,kCAAkC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAqB;QACzB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAyB;QAC1C,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,WAAW;gBACd,OAAO,gBAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC;gBACE,MAAM,IAAI,KAAK,CACb,kCACG,IAA4B,CAAC,KAChC,EAAE,CACH,CAAC;SACL;IACH,CAAC;CACF;AA5BD,8BA4BC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadChain = exports.LLMChain = exports.BaseChain = void 0;
|
|
4
|
+
var base_1 = require("./base");
|
|
5
|
+
Object.defineProperty(exports, "BaseChain", { enumerable: true, get: function () { return base_1.BaseChain; } });
|
|
6
|
+
var llm_chain_1 = require("./llm_chain");
|
|
7
|
+
Object.defineProperty(exports, "LLMChain", { enumerable: true, get: function () { return llm_chain_1.LLMChain; } });
|
|
8
|
+
var load_1 = require("./load");
|
|
9
|
+
Object.defineProperty(exports, "loadChain", { enumerable: true, get: function () { return load_1.loadChain; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../chains/index.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAAvC,iGAAA,SAAS,OAAA;AAClB,yCAA2D;AAA9B,qGAAA,QAAQ,OAAA;AACrC,+BAAmC;AAA1B,iGAAA,SAAS,OAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseChain, ChainValues } from "./index";
|
|
2
|
+
import { BaseLLM, SerializedLLM } from "../llms";
|
|
3
|
+
import { BasePromptTemplate, SerializedBasePromptTemplate } from "../prompt";
|
|
4
|
+
export interface LLMChainInput {
|
|
5
|
+
prompt: BasePromptTemplate;
|
|
6
|
+
llm: BaseLLM;
|
|
7
|
+
outputKey: string;
|
|
8
|
+
}
|
|
9
|
+
export type SerializedLLMChain = {
|
|
10
|
+
_type: "llm_chain";
|
|
11
|
+
llm?: SerializedLLM;
|
|
12
|
+
llm_path?: string;
|
|
13
|
+
prompt?: SerializedBasePromptTemplate;
|
|
14
|
+
prompt_path?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare class LLMChain extends BaseChain implements LLMChainInput {
|
|
17
|
+
prompt: BasePromptTemplate;
|
|
18
|
+
llm: BaseLLM;
|
|
19
|
+
outputKey: string;
|
|
20
|
+
constructor(fields: {
|
|
21
|
+
prompt: BasePromptTemplate;
|
|
22
|
+
llm: BaseLLM;
|
|
23
|
+
outputKey?: string;
|
|
24
|
+
});
|
|
25
|
+
_call(values: ChainValues): Promise<ChainValues>;
|
|
26
|
+
predict(values: ChainValues): Promise<string>;
|
|
27
|
+
_chainType(): "llm_chain";
|
|
28
|
+
static deserialize(data: SerializedLLMChain): Promise<LLMChain>;
|
|
29
|
+
serialize(): SerializedLLMChain;
|
|
30
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LLMChain = void 0;
|
|
13
|
+
const index_1 = require("./index");
|
|
14
|
+
const llms_1 = require("../llms");
|
|
15
|
+
const prompt_1 = require("../prompt");
|
|
16
|
+
const util_1 = require("../util");
|
|
17
|
+
class LLMChain extends index_1.BaseChain {
|
|
18
|
+
constructor(fields) {
|
|
19
|
+
var _a;
|
|
20
|
+
super();
|
|
21
|
+
Object.defineProperty(this, "prompt", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
writable: true,
|
|
25
|
+
value: void 0
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(this, "llm", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: void 0
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(this, "outputKey", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: "text"
|
|
38
|
+
});
|
|
39
|
+
this.prompt = fields.prompt;
|
|
40
|
+
this.llm = fields.llm;
|
|
41
|
+
this.outputKey = (_a = fields.outputKey) !== null && _a !== void 0 ? _a : this.outputKey;
|
|
42
|
+
}
|
|
43
|
+
_call(values) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
let stop;
|
|
46
|
+
if ("stop" in values && Array.isArray(values.stop)) {
|
|
47
|
+
stop = values.stop;
|
|
48
|
+
}
|
|
49
|
+
const formattedString = this.prompt.format(values);
|
|
50
|
+
const llmResult = yield this.llm.call(formattedString, stop);
|
|
51
|
+
const result = { [this.outputKey]: llmResult };
|
|
52
|
+
return result;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
predict(values) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
const output = yield this.call(values);
|
|
58
|
+
return output[this.outputKey];
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
_chainType() {
|
|
62
|
+
return "llm_chain";
|
|
63
|
+
}
|
|
64
|
+
static deserialize(data) {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const serializedLLM = (0, util_1.resolveConfigFromFile)("llm", data);
|
|
67
|
+
const serializedPrompt = (0, util_1.resolveConfigFromFile)("prompt", data);
|
|
68
|
+
return new LLMChain({
|
|
69
|
+
llm: yield llms_1.BaseLLM.deserialize(serializedLLM),
|
|
70
|
+
prompt: yield prompt_1.BasePromptTemplate.deserialize(serializedPrompt),
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
serialize() {
|
|
75
|
+
return {
|
|
76
|
+
_type: this._chainType(),
|
|
77
|
+
llm: this.llm.serialize(),
|
|
78
|
+
prompt: this.prompt.serialize(),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.LLMChain = LLMChain;
|
|
83
|
+
//# sourceMappingURL=llm_chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm_chain.js","sourceRoot":"","sources":["../../../chains/llm_chain.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAiD;AAEjD,kCAAiD;AACjD,sCAA6E;AAE7E,kCAAgD;AAgBhD,MAAa,QAAS,SAAQ,iBAAS;IAOrC,YAAY,MAIX;;QACC,KAAK,EAAE,CAAC;QAXV;;;;;WAA2B;QAE3B;;;;;WAAa;QAEb;;;;mBAAY,MAAM;WAAC;QAQjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,CAAC,SAAS,CAAC;IACtD,CAAC;IAEK,KAAK,CAAC,MAAmB;;YAC7B,IAAI,IAAI,CAAC;YACT,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAClD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;aACpB;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,OAAO,CAAC,MAAmB;;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;KAAA;IAED,UAAU;QACR,OAAO,WAAoB,CAAC;IAC9B,CAAC;IAED,MAAM,CAAO,WAAW,CAAC,IAAwB;;YAC/C,MAAM,aAAa,GAAG,IAAA,4BAAqB,EACzC,KAAK,EACL,IAAI,CACL,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAA,4BAAqB,EAG5C,QAAQ,EAAE,IAAI,CAAC,CAAC;YAElB,OAAO,IAAI,QAAQ,CAAC;gBAClB,GAAG,EAAE,MAAM,cAAO,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC7C,MAAM,EAAE,MAAM,2BAAkB,CAAC,WAAW,CAAC,gBAAgB,CAAC;aAC/D,CAAC,CAAC;QACL,CAAC;KAAA;IAED,SAAS;QACP,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;YACxB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;SAChC,CAAC;IACJ,CAAC;CACF;AA7DD,4BA6DC"}
|
|
File without changes
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
import { BaseChain, ChainValues, LLMChain } from "./index";
|
|
4
|
+
|
|
5
|
+
import { BaseLLM, SerializedLLM } from "../llms";
|
|
6
|
+
import { BasePromptTemplate, SerializedBasePromptTemplate } from "../prompt";
|
|
7
|
+
|
|
8
|
+
import { resolveConfigFromFile } from "../util";
|
|
9
|
+
|
|
10
|
+
export interface LLMMathChainInput {
|
|
11
|
+
prompt: BasePromptTemplate;
|
|
12
|
+
llm: BaseLLM;
|
|
13
|
+
outputKey: string;
|
|
14
|
+
inputKey: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type SerializedLLMChain = {
|
|
18
|
+
_type: "llm_chain";
|
|
19
|
+
llm?: SerializedLLM;
|
|
20
|
+
llm_path?: string;
|
|
21
|
+
prompt?: SerializedBasePromptTemplate;
|
|
22
|
+
prompt_path?: string;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export class LLMChain extends BaseChain implements LLMMathChainInput {
|
|
26
|
+
prompt: BasePromptTemplate;
|
|
27
|
+
|
|
28
|
+
llm: BaseLLM;
|
|
29
|
+
|
|
30
|
+
inputKey = "answer";
|
|
31
|
+
|
|
32
|
+
outputKey = "question";
|
|
33
|
+
|
|
34
|
+
constructor(fields: {
|
|
35
|
+
prompt: BasePromptTemplate;
|
|
36
|
+
llm: BaseLLM;
|
|
37
|
+
outputKey?: string;
|
|
38
|
+
inputKey?: string;
|
|
39
|
+
}) {
|
|
40
|
+
super();
|
|
41
|
+
this.prompt = fields.prompt;
|
|
42
|
+
this.llm = fields.llm;
|
|
43
|
+
this.outputKey = fields.outputKey ?? this.outputKey;
|
|
44
|
+
this.inputKey = fields.inputKey ?? this.inputKey;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
async _call(values: ChainValues, stop?: string[]): Promise<ChainValues> {
|
|
48
|
+
const llm = new LLMChain({ prompt: this.prompt, llm: this.llm });
|
|
49
|
+
const p;
|
|
50
|
+
const formattedString = this.prompt.format(values);
|
|
51
|
+
const llmResult = await this.llm.call(formattedString, stop);
|
|
52
|
+
const result = { [this.outputKey]: llmResult };
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async predict(values: ChainValues, stop?: string[]): Promise<string> {
|
|
57
|
+
const output = await this.call(values, stop);
|
|
58
|
+
return output[this.outputKey];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
_chainType() {
|
|
62
|
+
return "llm_chain" as const;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static async deserialize(data: SerializedLLMChain) {
|
|
66
|
+
const serializedLLM = resolveConfigFromFile<"llm", SerializedLLM>(
|
|
67
|
+
"llm",
|
|
68
|
+
data
|
|
69
|
+
);
|
|
70
|
+
const serializedPrompt = resolveConfigFromFile<
|
|
71
|
+
"prompt",
|
|
72
|
+
SerializedBasePromptTemplate
|
|
73
|
+
>("prompt", data);
|
|
74
|
+
|
|
75
|
+
return new LLMChain({
|
|
76
|
+
llm: await BaseLLM.deserialize(serializedLLM),
|
|
77
|
+
prompt: await BasePromptTemplate.deserialize(serializedPrompt),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
serialize(): SerializedLLMChain {
|
|
82
|
+
return {
|
|
83
|
+
_type: this._chainType(),
|
|
84
|
+
llm: this.llm.serialize(),
|
|
85
|
+
prompt: this.prompt.serialize(),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const PROMPT_TEMPLATE = `You are GPT-3, and you can't do math.
|
|
91
|
+
You can do basic math, and your memorization abilities are impressive, but you can't do any complex calculations that a human could not do in their head. You also have an annoying tendency to just make up highly specific, but wrong, answers.
|
|
92
|
+
|
|
93
|
+
So we hooked you up to a Python 3 kernel, and now you can execute code. If anyone gives you a hard math problem, just use this format and we’ll take care of the rest:
|
|
94
|
+
|
|
95
|
+
Question: \${{Question with hard calculation.}}
|
|
96
|
+
\`\`\`python
|
|
97
|
+
\${{Code that prints what you need to know}}
|
|
98
|
+
\`\`\`
|
|
99
|
+
\`\`\`output
|
|
100
|
+
\${{Output of your code}}
|
|
101
|
+
\`\`\`
|
|
102
|
+
Answer: \${{Answer}}
|
|
103
|
+
|
|
104
|
+
Otherwise, use this simpler format:
|
|
105
|
+
|
|
106
|
+
Question: \${{Question without hard calculation}}
|
|
107
|
+
Answer: \${{Answer}}
|
|
108
|
+
|
|
109
|
+
Begin.
|
|
110
|
+
|
|
111
|
+
Question: What is 37593 * 67?
|
|
112
|
+
|
|
113
|
+
\`\`\`python
|
|
114
|
+
print(37593 * 67)
|
|
115
|
+
\`\`\`
|
|
116
|
+
\`\`\`output
|
|
117
|
+
2518731
|
|
118
|
+
\`\`\`
|
|
119
|
+
Answer: 2518731
|
|
120
|
+
|
|
121
|
+
Question: {question}
|
|
122
|
+
`;
|
|
123
|
+
|
|
124
|
+
PROMPT = PromptTemplate(
|
|
125
|
+
(input_variables = ["question"]),
|
|
126
|
+
(template = _PROMPT_TEMPLATE)
|
|
127
|
+
);
|
|
128
|
+
*/
|
|
129
|
+
//# sourceMappingURL=llm_math_chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm_math_chain.js","sourceRoot":"","sources":["../../../chains/llm_math_chain.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8HE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.loadChain = void 0;
|
|
13
|
+
const _1 = require(".");
|
|
14
|
+
const hub_1 = require("../util/hub");
|
|
15
|
+
const util_1 = require("../util");
|
|
16
|
+
const loadChainFromFile = (file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
const serialized = (0, util_1.parseFileConfig)(file);
|
|
18
|
+
console.log({ serialized });
|
|
19
|
+
return _1.BaseChain.deserialize(serialized);
|
|
20
|
+
});
|
|
21
|
+
const loadChain = (uri) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
const hubResult = yield (0, hub_1.loadFromHub)(uri, loadChainFromFile, "chains", new Set(["json", "yaml"]));
|
|
23
|
+
if (hubResult) {
|
|
24
|
+
return hubResult;
|
|
25
|
+
}
|
|
26
|
+
return loadChainFromFile(uri);
|
|
27
|
+
});
|
|
28
|
+
exports.loadChain = loadChain;
|
|
29
|
+
//# sourceMappingURL=load.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../chains/load.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wBAA8B;AAC9B,qCAA0C;AAC1C,kCAA0C;AAE1C,MAAM,iBAAiB,GAAG,CAAO,IAAY,EAAE,EAAE;IAC/C,MAAM,UAAU,GAAG,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5B,OAAO,YAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC,CAAA,CAAC;AAEK,MAAM,SAAS,GAAG,CAAO,GAAW,EAAsB,EAAE;IACjE,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAW,EACjC,GAAG,EACH,iBAAiB,EACjB,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,CAAC,CAAC;AAChC,CAAC,CAAA,CAAC;AAZW,QAAA,SAAS,aAYpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const globals_1 = require("@jest/globals");
|
|
13
|
+
const openai_1 = require("../../llms/openai");
|
|
14
|
+
const prompt_1 = require("../../prompt");
|
|
15
|
+
const llm_chain_1 = require("../llm_chain");
|
|
16
|
+
const load_1 = require("../load");
|
|
17
|
+
(0, globals_1.test)("Test OpenAI", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
const model = new openai_1.OpenAI({});
|
|
19
|
+
const prompt = new prompt_1.PromptTemplate({
|
|
20
|
+
template: "Print {foo}",
|
|
21
|
+
inputVariables: ["foo"],
|
|
22
|
+
});
|
|
23
|
+
const chain = new llm_chain_1.LLMChain({ prompt, llm: model });
|
|
24
|
+
const res = yield chain.call({ foo: "my favorite color" });
|
|
25
|
+
console.log({ res });
|
|
26
|
+
}));
|
|
27
|
+
(0, globals_1.test)("Load chain from hub", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
const chain = yield (0, load_1.loadChain)("lc://chains/hello-world/chain.json");
|
|
29
|
+
const res = yield chain.call({ topic: "my favorite color" });
|
|
30
|
+
console.log({ res });
|
|
31
|
+
}));
|
|
32
|
+
//# sourceMappingURL=llm_chain.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm_chain.test.js","sourceRoot":"","sources":["../../../../chains/tests/llm_chain.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAAqC;AACrC,8CAA2C;AAC3C,yCAA8C;AAC9C,4CAAwC;AACxC,kCAAoC;AAEpC,IAAA,cAAI,EAAC,aAAa,EAAE,GAAS,EAAE;IAC7B,MAAM,KAAK,GAAG,IAAI,eAAM,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC;QAChC,QAAQ,EAAE,aAAa;QACvB,cAAc,EAAE,CAAC,KAAK,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,oBAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAA,CAAC,CAAC;AAEH,IAAA,cAAI,EAAC,qBAAqB,EAAE,GAAS,EAAE;IACrC,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAS,EAAC,oCAAoC,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAA,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenAI = exports.LLMChain = exports.FewShotPromptTemplate = exports.BasePromptTemplate = exports.PromptTemplate = void 0;
|
|
4
|
+
var prompt_1 = require("./prompt");
|
|
5
|
+
Object.defineProperty(exports, "PromptTemplate", { enumerable: true, get: function () { return prompt_1.PromptTemplate; } });
|
|
6
|
+
Object.defineProperty(exports, "BasePromptTemplate", { enumerable: true, get: function () { return prompt_1.BasePromptTemplate; } });
|
|
7
|
+
Object.defineProperty(exports, "FewShotPromptTemplate", { enumerable: true, get: function () { return prompt_1.FewShotPromptTemplate; } });
|
|
8
|
+
var chains_1 = require("./chains");
|
|
9
|
+
Object.defineProperty(exports, "LLMChain", { enumerable: true, get: function () { return chains_1.LLMChain; } });
|
|
10
|
+
var llms_1 = require("./llms");
|
|
11
|
+
Object.defineProperty(exports, "OpenAI", { enumerable: true, get: function () { return llms_1.OpenAI; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;AAAA,mCAIkB;AAHhB,wGAAA,cAAc,OAAA;AACd,4GAAA,kBAAkB,OAAA;AAClB,+GAAA,qBAAqB,OAAA;AAGvB,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AACjB,+BAAgC;AAAvB,8FAAA,MAAM,OAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LLMCallbackManager, LLMResult } from "./index";
|
|
2
|
+
export type SerializedLLM = {
|
|
3
|
+
_type: string;
|
|
4
|
+
} & Record<string, any>;
|
|
5
|
+
export declare abstract class BaseLLM {
|
|
6
|
+
name: string;
|
|
7
|
+
cache?: boolean;
|
|
8
|
+
callbackManager: LLMCallbackManager;
|
|
9
|
+
verbose?: boolean;
|
|
10
|
+
constructor(callbackManager?: LLMCallbackManager, verbose?: boolean);
|
|
11
|
+
abstract _generate(prompts: string[], stop?: string[]): Promise<LLMResult>;
|
|
12
|
+
_generateUncached(prompts: string[], stop?: string[]): Promise<LLMResult>;
|
|
13
|
+
generate(prompts: string[], stop?: string[]): Promise<LLMResult>;
|
|
14
|
+
call(prompt: string, stop?: string[]): Promise<string>;
|
|
15
|
+
_identifyingParams(): Record<string, any>;
|
|
16
|
+
abstract _llmType(): string;
|
|
17
|
+
serialize(): SerializedLLM;
|
|
18
|
+
static deserialize(data: SerializedLLM): Promise<BaseLLM>;
|
|
19
|
+
}
|
|
20
|
+
export declare abstract class LLM extends BaseLLM {
|
|
21
|
+
abstract _call(prompt: string, stop?: string[]): Promise<string>;
|
|
22
|
+
_generate(prompts: string[], stop?: string[]): Promise<LLMResult>;
|
|
23
|
+
}
|