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,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const globals_1 = require("@jest/globals");
|
|
4
|
+
const template_1 = require("../template");
|
|
5
|
+
globals_1.describe.each([
|
|
6
|
+
["{foo}", { foo: "bar" }, "bar"],
|
|
7
|
+
["pre{foo}post", { foo: "bar" }, "prebarpost"],
|
|
8
|
+
["{{pre{foo}post}}", { foo: "bar" }, "{prebarpost}"],
|
|
9
|
+
["text", {}, "text"],
|
|
10
|
+
["}}{{", {}, "}{"],
|
|
11
|
+
["{first}_{second}", { first: "foo", second: "bar" }, "foo_bar"],
|
|
12
|
+
])("Valid f-string", (template, variables, result) => {
|
|
13
|
+
(0, globals_1.test)(`Interpolation works: ${template}`, () => {
|
|
14
|
+
(0, globals_1.expect)((0, template_1.interpolateFString)(template, variables)).toBe(result);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
globals_1.describe.each([
|
|
18
|
+
["{", {}],
|
|
19
|
+
["}", {}],
|
|
20
|
+
["{foo", {}],
|
|
21
|
+
["foo}", {}],
|
|
22
|
+
])("Invalid f-string", (template, variables) => {
|
|
23
|
+
(0, globals_1.test)(`Interpolation throws: ${template}`, () => {
|
|
24
|
+
(0, globals_1.expect)(() => (0, template_1.interpolateFString)(template, variables)).toThrow();
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=template.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.test.js","sourceRoot":"","sources":["../../../../prompt/tests/template.test.ts"],"names":[],"mappings":";;AAAA,2CAAuD;AACvD,0CAAiD;AAEjD,kBAAQ,CAAC,IAAI,CAAC;IACZ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC;IAChC,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC;IAC9C,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC;IACpD,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC;IACpB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC;IAClB,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;CACjE,CAAC,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACnD,IAAA,cAAI,EAAC,wBAAwB,QAAQ,EAAE,EAAE,GAAG,EAAE;QAC5C,IAAA,gBAAM,EAAC,IAAA,6BAAkB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAQ,CAAC,IAAI,CAAC;IACZ,CAAC,GAAG,EAAE,EAAE,CAAC;IACT,CAAC,GAAG,EAAE,EAAE,CAAC;IACT,CAAC,MAAM,EAAE,EAAE,CAAC;IACZ,CAAC,MAAM,EAAE,EAAE,CAAC;CACb,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;IAC7C,IAAA,cAAI,EAAC,yBAAyB,QAAQ,EAAE,EAAE,GAAG,EAAE;QAC7C,IAAA,gBAAM,EAAC,GAAG,EAAE,CAAC,IAAA,6BAAkB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const loadFromHub: <T>(uri: string, loader: (a: string) => T, validPrefix: string, validSuffixes: Set<string>) => Promise<T | undefined>;
|
|
@@ -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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
var _a, _b;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.loadFromHub = void 0;
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const os_1 = __importDefault(require("os"));
|
|
19
|
+
const fs_1 = __importDefault(require("fs"));
|
|
20
|
+
const index_1 = require("./index");
|
|
21
|
+
const HUB_PATH_REGEX = /lc(@[^:]+)?:\/\/(.*)/;
|
|
22
|
+
const DEFAULT_REF = (_a = process.env.LANGCHAIN_HUB_DEFAULT_REF) !== null && _a !== void 0 ? _a : "master";
|
|
23
|
+
const URL_BASE = (_b = process.env.LANGCHAIN_HUB_URL_BASE) !== null && _b !== void 0 ? _b : "https://raw.githubusercontent.com/hwchase17/langchain-hub/";
|
|
24
|
+
const loadFromHub = (uri, loader, validPrefix, validSuffixes) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
const match = uri.match(HUB_PATH_REGEX);
|
|
26
|
+
if (!match) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const [rawRef, remotePath] = match.slice(1);
|
|
30
|
+
const ref = rawRef ? rawRef.slice(1) : DEFAULT_REF;
|
|
31
|
+
const parts = remotePath.split(path_1.default.sep);
|
|
32
|
+
if (parts[0] !== validPrefix) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
if (!validSuffixes.has(path_1.default.extname(remotePath).slice(1))) {
|
|
36
|
+
throw new Error("Unsupported file type.");
|
|
37
|
+
}
|
|
38
|
+
const url = [URL_BASE, ref, remotePath].join("/");
|
|
39
|
+
const res = yield (0, index_1.fetchWithTimeout)(url, { timeout: 5000 });
|
|
40
|
+
if (res.status !== 200) {
|
|
41
|
+
throw new Error(`Could not find file at ${url}`);
|
|
42
|
+
}
|
|
43
|
+
const text = yield res.text();
|
|
44
|
+
const tmpdir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), "langchain"));
|
|
45
|
+
const file = path_1.default.join(tmpdir, path_1.default.basename(remotePath));
|
|
46
|
+
fs_1.default.writeFileSync(file, text);
|
|
47
|
+
return loader(file);
|
|
48
|
+
});
|
|
49
|
+
exports.loadFromHub = loadFromHub;
|
|
50
|
+
//# sourceMappingURL=hub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hub.js","sourceRoot":"","sources":["../../../util/hub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;AACpB,mCAA2C;AAE3C,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAC9C,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,QAAQ,CAAC;AACtE,MAAM,QAAQ,GACZ,MAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,mCAClC,4DAA4D,CAAC;AAExD,MAAM,WAAW,GAAG,CACzB,GAAW,EACX,MAAwB,EACxB,WAAmB,EACnB,aAA0B,EACF,EAAE;IAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;QAC5B,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACzD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,IAAA,wBAAgB,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;KAClD;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,YAAE,CAAC,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,YAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAA,CAAC;AAhCW,QAAA,WAAW,eAgCtB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RequestInit } from "node-fetch";
|
|
2
|
+
export declare const fetchWithTimeout: (url: string, init: Omit<RequestInit, "signal"> & {
|
|
3
|
+
timeout: number;
|
|
4
|
+
}) => Promise<import("node-fetch").Response>;
|
|
5
|
+
export type FromPath<key extends string, T> = {
|
|
6
|
+
[k in key]?: T;
|
|
7
|
+
} & {
|
|
8
|
+
[k in `${key}_path`]?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const resolveTemplateFromFile: <K extends string>(fieldName: K, config: FromPath<K, string>) => string;
|
|
11
|
+
export declare const resolveConfigFromFile: <K extends string, T>(fieldName: K, config: FromPath<K, T>) => T;
|
|
12
|
+
export declare const parseFileConfig: (file: string, supportedTypes?: string[]) => any;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
35
|
+
var t = {};
|
|
36
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
37
|
+
t[p] = s[p];
|
|
38
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
39
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
40
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
41
|
+
t[p[i]] = s[p[i]];
|
|
42
|
+
}
|
|
43
|
+
return t;
|
|
44
|
+
};
|
|
45
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
+
};
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.parseFileConfig = exports.resolveConfigFromFile = exports.resolveTemplateFromFile = exports.fetchWithTimeout = void 0;
|
|
50
|
+
const path_1 = __importDefault(require("path"));
|
|
51
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
52
|
+
const fs_1 = __importDefault(require("fs"));
|
|
53
|
+
const yaml = __importStar(require("yaml"));
|
|
54
|
+
const fetchWithTimeout = (url, init) => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
+
const { timeout } = init, rest = __rest(init, ["timeout"]);
|
|
56
|
+
const controller = new AbortController();
|
|
57
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
59
|
+
const res = yield (0, node_fetch_1.default)(url, Object.assign(Object.assign({}, rest), { signal: controller.signal }));
|
|
60
|
+
clearTimeout(timeoutId);
|
|
61
|
+
return res;
|
|
62
|
+
});
|
|
63
|
+
exports.fetchWithTimeout = fetchWithTimeout;
|
|
64
|
+
const loadFileContents = (contents, format) => {
|
|
65
|
+
switch (format) {
|
|
66
|
+
case ".json":
|
|
67
|
+
return JSON.parse(contents);
|
|
68
|
+
case ".yml":
|
|
69
|
+
case ".yaml":
|
|
70
|
+
return yaml.parse(contents);
|
|
71
|
+
default:
|
|
72
|
+
throw new Error(`Unsupported filetype ${format}`);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const resolveFieldFromFile = (fieldName, config, load, allowExtensions) => {
|
|
76
|
+
const fieldPath = config[`${fieldName}_path`];
|
|
77
|
+
const field = config[fieldName];
|
|
78
|
+
if (fieldPath !== undefined && field !== undefined) {
|
|
79
|
+
throw new Error(`Both '${fieldName}_path' and '${fieldName}' cannot be provided.`);
|
|
80
|
+
}
|
|
81
|
+
if (field !== undefined) {
|
|
82
|
+
return field;
|
|
83
|
+
}
|
|
84
|
+
if (fieldPath !== undefined) {
|
|
85
|
+
const suffix = path_1.default.extname(fieldPath);
|
|
86
|
+
if (allowExtensions && !allowExtensions.includes(suffix)) {
|
|
87
|
+
throw new Error("Invalid file type");
|
|
88
|
+
}
|
|
89
|
+
return load(fs_1.default.readFileSync(fieldPath).toString(), suffix);
|
|
90
|
+
}
|
|
91
|
+
throw new Error(`One of '${fieldName}_path' and '${fieldName}' must be provided.`);
|
|
92
|
+
};
|
|
93
|
+
const resolveTemplateFromFile = (fieldName, config) => resolveFieldFromFile(fieldName, config, (contents) => contents, [".txt"]);
|
|
94
|
+
exports.resolveTemplateFromFile = resolveTemplateFromFile;
|
|
95
|
+
const resolveConfigFromFile = (fieldName, config) => resolveFieldFromFile(fieldName, config, loadFileContents, [".json", ".yaml"]);
|
|
96
|
+
exports.resolveConfigFromFile = resolveConfigFromFile;
|
|
97
|
+
const parseFileConfig = (file, supportedTypes) => {
|
|
98
|
+
const suffix = path_1.default.extname(file);
|
|
99
|
+
if (![".json", ".yaml"].includes(suffix) ||
|
|
100
|
+
(supportedTypes && !supportedTypes.includes(suffix))) {
|
|
101
|
+
throw new Error(`Unsupported filetype ${suffix}`);
|
|
102
|
+
}
|
|
103
|
+
const contents = fs_1.default.readFileSync(file).toString();
|
|
104
|
+
return loadFileContents(contents, suffix);
|
|
105
|
+
};
|
|
106
|
+
exports.parseFileConfig = parseFileConfig;
|
|
107
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../util/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChainValues } from "../chains";
|
|
2
|
+
import { SerializedZeroShotAgent, AgentAction, AgentFinish, AgentStep, StoppingMethod, Tool } from "./index";
|
|
3
|
+
import { BaseLLM } from "../llms";
|
|
4
|
+
import { LLMChain } from "../chains/llm_chain";
|
|
5
|
+
import { BasePromptTemplate } from "../prompt";
|
|
6
|
+
export interface StaticAgent {
|
|
7
|
+
createPrompt(tools: Tool[], fields?: Record<string, any>): BasePromptTemplate;
|
|
8
|
+
fromLLMAndTools(llm: BaseLLM, tools: Tool[], args?: Record<string, any>): Agent;
|
|
9
|
+
validateTools(_: Tool[]): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const staticImplements: <T>(_: T) => void;
|
|
12
|
+
type SerializedAgent = SerializedZeroShotAgent;
|
|
13
|
+
export interface AgentInput {
|
|
14
|
+
llmChain: LLMChain;
|
|
15
|
+
allowedTools?: string[];
|
|
16
|
+
}
|
|
17
|
+
export declare abstract class Agent {
|
|
18
|
+
llmChain: LLMChain;
|
|
19
|
+
allowedTools?: string[];
|
|
20
|
+
returnValues: string[];
|
|
21
|
+
constructor(input: AgentInput);
|
|
22
|
+
abstract extractToolAndInput(input: string): {
|
|
23
|
+
tool: string;
|
|
24
|
+
input: string;
|
|
25
|
+
} | null;
|
|
26
|
+
abstract observationPrefix(): string;
|
|
27
|
+
abstract llmPrefix(): string;
|
|
28
|
+
abstract _agentType(): string;
|
|
29
|
+
prepareForNewCall(): void;
|
|
30
|
+
static validateTools(_: Tool[]): void;
|
|
31
|
+
_stop(): string[];
|
|
32
|
+
finishToolName(): string;
|
|
33
|
+
private constructScratchPad;
|
|
34
|
+
private _plan;
|
|
35
|
+
plan(steps: AgentStep[], inputs: ChainValues): Promise<AgentAction | AgentFinish>;
|
|
36
|
+
returnStoppedResponse(earlyStoppingMethod: StoppingMethod, steps: AgentStep[], inputs: ChainValues): Promise<AgentFinish>;
|
|
37
|
+
static deserialize(data: SerializedAgent & {
|
|
38
|
+
llm?: BaseLLM;
|
|
39
|
+
tools?: Tool[];
|
|
40
|
+
}): Promise<Agent>;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { ZeroShotAgent, } from "./index";
|
|
11
|
+
class ParseError extends Error {
|
|
12
|
+
constructor(msg, output) {
|
|
13
|
+
super(msg);
|
|
14
|
+
Object.defineProperty(this, "output", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true,
|
|
18
|
+
value: void 0
|
|
19
|
+
});
|
|
20
|
+
this.output = output;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export const staticImplements = (_) => { };
|
|
24
|
+
export class Agent {
|
|
25
|
+
constructor(input) {
|
|
26
|
+
Object.defineProperty(this, "llmChain", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true,
|
|
30
|
+
value: void 0
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(this, "allowedTools", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true,
|
|
36
|
+
value: undefined
|
|
37
|
+
});
|
|
38
|
+
Object.defineProperty(this, "returnValues", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: true,
|
|
41
|
+
writable: true,
|
|
42
|
+
value: ["output"]
|
|
43
|
+
});
|
|
44
|
+
this.llmChain = input.llmChain;
|
|
45
|
+
this.allowedTools = input.allowedTools;
|
|
46
|
+
}
|
|
47
|
+
prepareForNewCall() { }
|
|
48
|
+
// eslint-disable-next-line no-unused-vars
|
|
49
|
+
static validateTools(_) { }
|
|
50
|
+
_stop() {
|
|
51
|
+
return [`\n${this.observationPrefix()}`];
|
|
52
|
+
}
|
|
53
|
+
finishToolName() {
|
|
54
|
+
return "Final Answer";
|
|
55
|
+
}
|
|
56
|
+
constructScratchPad(steps) {
|
|
57
|
+
return steps.reduce((thoughts, { action, observation }) => thoughts +
|
|
58
|
+
[
|
|
59
|
+
action.log,
|
|
60
|
+
`${this.observationPrefix()}${observation}`,
|
|
61
|
+
this.llmPrefix(),
|
|
62
|
+
].join("\n"), "");
|
|
63
|
+
}
|
|
64
|
+
_plan(steps, inputs, suffix) {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const thoughts = this.constructScratchPad(steps);
|
|
67
|
+
const newInputs = Object.assign(Object.assign({}, inputs), { agent_scratchpad: suffix ? `${thoughts}${suffix}` : thoughts, stop: this._stop() });
|
|
68
|
+
const output = yield this.llmChain.predict(newInputs);
|
|
69
|
+
const parsed = this.extractToolAndInput(output);
|
|
70
|
+
if (!parsed) {
|
|
71
|
+
throw new ParseError(`Invalid output: ${output}`, output);
|
|
72
|
+
}
|
|
73
|
+
const action = {
|
|
74
|
+
tool: parsed.tool,
|
|
75
|
+
toolInput: parsed.input,
|
|
76
|
+
log: output,
|
|
77
|
+
};
|
|
78
|
+
if (action.tool === this.finishToolName()) {
|
|
79
|
+
return { returnValues: { output: action.toolInput }, log: action.log };
|
|
80
|
+
}
|
|
81
|
+
return action;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
plan(steps, inputs) {
|
|
85
|
+
return this._plan(steps, inputs);
|
|
86
|
+
}
|
|
87
|
+
returnStoppedResponse(earlyStoppingMethod, steps, inputs) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
if (earlyStoppingMethod === "force") {
|
|
90
|
+
return {
|
|
91
|
+
returnValues: { output: "Agent stopped due to max iterations." },
|
|
92
|
+
log: "",
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
if (earlyStoppingMethod === "generate") {
|
|
96
|
+
try {
|
|
97
|
+
const action = yield this._plan(steps, inputs, "\n\nI now need to return a final answer based on the previous steps:");
|
|
98
|
+
if ("returnValues" in action) {
|
|
99
|
+
return action;
|
|
100
|
+
}
|
|
101
|
+
return { returnValues: { output: action.log }, log: action.log };
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
if (!(err instanceof ParseError)) {
|
|
105
|
+
throw err;
|
|
106
|
+
}
|
|
107
|
+
return { returnValues: { output: err.output }, log: err.output };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
throw new Error(`Invalid stopping method: ${earlyStoppingMethod}`);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
static deserialize(data) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
switch (data._type) {
|
|
116
|
+
case "zero-shot-react-description":
|
|
117
|
+
return ZeroShotAgent.deserialize(data);
|
|
118
|
+
default:
|
|
119
|
+
throw new Error("Unknown agent type");
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../agents/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ChainValues, BaseChain } from "../chains";
|
|
2
|
+
import { Agent, Tool, StoppingMethod } from "./index";
|
|
3
|
+
import { SerializedLLMChain } from "../chains/llm_chain";
|
|
4
|
+
type AgentExecutorInput = {
|
|
5
|
+
agent: Agent;
|
|
6
|
+
tools: Tool[];
|
|
7
|
+
returnIntermediateSteps?: boolean;
|
|
8
|
+
maxIterations?: number;
|
|
9
|
+
earlyStoppingMethod?: StoppingMethod;
|
|
10
|
+
};
|
|
11
|
+
export declare class AgentExecutor extends BaseChain {
|
|
12
|
+
agent: Agent;
|
|
13
|
+
tools: Tool[];
|
|
14
|
+
returnIntermediateSteps: boolean;
|
|
15
|
+
maxIterations?: number;
|
|
16
|
+
earlyStoppingMethod: StoppingMethod;
|
|
17
|
+
constructor(input: AgentExecutorInput);
|
|
18
|
+
static fromAgentAndTools(fields: {
|
|
19
|
+
agent: Agent;
|
|
20
|
+
tools: Tool[];
|
|
21
|
+
} & Record<string, any>): AgentExecutor;
|
|
22
|
+
private shouldContinue;
|
|
23
|
+
_call(inputs: ChainValues): Promise<ChainValues>;
|
|
24
|
+
_chainType(): "agent_executor";
|
|
25
|
+
serialize(): SerializedLLMChain;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { BaseChain } from "../chains";
|
|
11
|
+
export class AgentExecutor extends BaseChain {
|
|
12
|
+
constructor(input) {
|
|
13
|
+
var _a, _b, _c;
|
|
14
|
+
super();
|
|
15
|
+
Object.defineProperty(this, "agent", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
configurable: true,
|
|
18
|
+
writable: true,
|
|
19
|
+
value: void 0
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(this, "tools", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
writable: true,
|
|
25
|
+
value: void 0
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(this, "returnIntermediateSteps", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: false
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(this, "maxIterations", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: 15
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(this, "earlyStoppingMethod", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
configurable: true,
|
|
42
|
+
writable: true,
|
|
43
|
+
value: "force"
|
|
44
|
+
});
|
|
45
|
+
this.agent = input.agent;
|
|
46
|
+
this.tools = input.tools;
|
|
47
|
+
this.returnIntermediateSteps =
|
|
48
|
+
(_a = input.returnIntermediateSteps) !== null && _a !== void 0 ? _a : this.returnIntermediateSteps;
|
|
49
|
+
this.maxIterations = (_b = input.maxIterations) !== null && _b !== void 0 ? _b : this.maxIterations;
|
|
50
|
+
this.earlyStoppingMethod =
|
|
51
|
+
(_c = input.earlyStoppingMethod) !== null && _c !== void 0 ? _c : this.earlyStoppingMethod;
|
|
52
|
+
}
|
|
53
|
+
static fromAgentAndTools(fields) {
|
|
54
|
+
return new AgentExecutor(fields);
|
|
55
|
+
}
|
|
56
|
+
shouldContinue(iterations) {
|
|
57
|
+
return this.maxIterations === undefined || iterations < this.maxIterations;
|
|
58
|
+
}
|
|
59
|
+
_call(inputs) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
this.agent.prepareForNewCall();
|
|
62
|
+
const toolsByName = Object.fromEntries(this.tools.map((t) => [t.name, t]));
|
|
63
|
+
const steps = [];
|
|
64
|
+
let iterations = 0;
|
|
65
|
+
const getOutput = (finishStep) => {
|
|
66
|
+
const { returnValues } = finishStep;
|
|
67
|
+
if (this.returnIntermediateSteps) {
|
|
68
|
+
return Object.assign(Object.assign({}, returnValues), { intermediateSteps: steps });
|
|
69
|
+
}
|
|
70
|
+
return returnValues;
|
|
71
|
+
};
|
|
72
|
+
while (this.shouldContinue(iterations)) {
|
|
73
|
+
const action = yield this.agent.plan(steps, inputs);
|
|
74
|
+
if ("returnValues" in action) {
|
|
75
|
+
return getOutput(action);
|
|
76
|
+
}
|
|
77
|
+
const tool = toolsByName[action.tool];
|
|
78
|
+
const observation = tool
|
|
79
|
+
? yield tool.call(action.toolInput)
|
|
80
|
+
: `${action.tool} is not a valid tool, try another one.`;
|
|
81
|
+
steps.push({ action, observation });
|
|
82
|
+
if (tool === null || tool === void 0 ? void 0 : tool.returnDirect) {
|
|
83
|
+
return getOutput({
|
|
84
|
+
returnValues: { [this.agent.returnValues[0]]: observation },
|
|
85
|
+
log: "",
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
iterations += 1;
|
|
89
|
+
}
|
|
90
|
+
const finish = yield this.agent.returnStoppedResponse(this.earlyStoppingMethod, steps, inputs);
|
|
91
|
+
return getOutput(finish);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
_chainType() {
|
|
95
|
+
return "agent_executor";
|
|
96
|
+
}
|
|
97
|
+
serialize() {
|
|
98
|
+
throw new Error("Cannot serialize an AgentExecutor");
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../agents/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { SerializedAgentT, Tool, AgentInput } from "./index";
|
|
2
|
+
import { BaseLLM } from "../llms";
|
|
3
|
+
export declare const deserializeHelper: <T extends string, U, V extends AgentInput, Z>(llm: BaseLLM | undefined, tools: Tool[] | undefined, data: SerializedAgentT<T, U, V>, fromLLMAndTools: (llm: BaseLLM, tools: Tool[], args: U) => Z, fromConstructor: (args: V) => Z) => Promise<Z>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { LLMChain } from "../chains";
|
|
11
|
+
import { resolveConfigFromFile } from "../util";
|
|
12
|
+
export const deserializeHelper = (llm, tools, data, fromLLMAndTools, fromConstructor) => __awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
+
if (data.load_from_llm_and_tools) {
|
|
14
|
+
if (!llm) {
|
|
15
|
+
throw new Error("Loading from llm and tools, llm must be provided.");
|
|
16
|
+
}
|
|
17
|
+
if (!tools) {
|
|
18
|
+
throw new Error("Loading from llm and tools, tools must be provided.");
|
|
19
|
+
}
|
|
20
|
+
return fromLLMAndTools(llm, tools, data);
|
|
21
|
+
}
|
|
22
|
+
const serializedLLMChain = resolveConfigFromFile("llm_chain", data);
|
|
23
|
+
const llmChain = yield LLMChain.deserialize(serializedLLMChain);
|
|
24
|
+
return fromConstructor(Object.assign(Object.assign({}, data), { llmChain }));
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../agents/helpers.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAsB,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAM/B,GAAwB,EACxB,KAAyB,EACzB,IAA+B,EAC/B,eAA4D,EAC5D,eAA+B,EACnB,EAAE;IACd,IAAI,IAAI,CAAC,uBAAuB,EAAE;QAChC,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KAC1C;IAED,MAAM,kBAAkB,GAAG,qBAAqB,CAG9C,WAAW,EAAE,IAAI,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAChE,OAAO,eAAe,iCAAM,IAAI,KAAE,QAAQ,IAAG,CAAC;AAChD,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { AgentAction, AgentFinish, AgentStep, StoppingMethod, SerializedAgentT, } from "./types";
|
|
2
|
+
export { Agent, StaticAgent, staticImplements, AgentInput } from "./agent";
|
|
3
|
+
export { AgentExecutor } from "./executor";
|
|
4
|
+
export { ZeroShotAgent, SerializedZeroShotAgent } from "./mrkl";
|
|
5
|
+
export { Tool } from "./tools";
|
|
6
|
+
export { loadAgent } from "./load";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAe,gBAAgB,EAAc,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAA2B,MAAM,QAAQ,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Agent } from ".";
|
|
11
|
+
import { loadFromHub } from "../util/hub";
|
|
12
|
+
import { parseFileConfig } from "../util";
|
|
13
|
+
const loadAgentFromFile = (file, llmAndTools) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
const serialized = parseFileConfig(file);
|
|
15
|
+
return Agent.deserialize(Object.assign(Object.assign({}, serialized), llmAndTools));
|
|
16
|
+
});
|
|
17
|
+
export const loadAgent = (uri, llmAndTools) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
const hubResult = yield loadFromHub(uri, (u) => loadAgentFromFile(u, llmAndTools), "agents", new Set(["json", "yaml"]));
|
|
19
|
+
if (hubResult) {
|
|
20
|
+
return hubResult;
|
|
21
|
+
}
|
|
22
|
+
return loadAgentFromFile(uri, llmAndTools);
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=load.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../agents/load.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAQ,MAAM,GAAG,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,iBAAiB,GAAG,CACxB,IAAY,EACZ,WAA+C,EAC/C,EAAE;IACF,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,WAAW,iCAAM,UAAU,GAAK,WAAW,EAAG,CAAC;AAC9D,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAAW,EACX,WAA+C,EAC/B,EAAE;IAClB,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,GAAG,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,EACxC,QAAQ,EACR,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC1B,CAAC;IACF,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAA,CAAC"}
|