@caretakerai/agent 0.0.6 → 0.0.7
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/action.js +13 -8
- package/dist/action.js.map +1 -1
- package/dist/agent.d.ts +2 -3
- package/dist/agent.js +29 -18
- package/dist/agent.js.map +1 -1
- package/package.json +1 -1
package/dist/action.js
CHANGED
|
@@ -17,15 +17,14 @@ const ajv = (0, ajv_errors_1.default)(new ajv_1.default({
|
|
|
17
17
|
}));
|
|
18
18
|
const ACTION_TEMPLATE = (`
|
|
19
19
|
\`\`\`ts
|
|
20
|
-
{params}
|
|
21
|
-
{result}
|
|
22
20
|
/**
|
|
23
|
-
{description}
|
|
24
21
|
* @kind {kind}
|
|
25
|
-
|
|
26
|
-
* @returns {{resultType}} {kind} action result
|
|
22
|
+
{description}
|
|
27
23
|
* /
|
|
28
|
-
|
|
24
|
+
|
|
25
|
+
{params}
|
|
26
|
+
|
|
27
|
+
{result}
|
|
29
28
|
{examples}\`\`\`
|
|
30
29
|
`).trim();
|
|
31
30
|
class Action {
|
|
@@ -48,8 +47,14 @@ class Action {
|
|
|
48
47
|
const paramsType = `${this.kind}Params`;
|
|
49
48
|
const resultType = `${this.kind}Result`;
|
|
50
49
|
const partial = await prompts_1.PromptTemplate.fromTemplate(template).partial({
|
|
51
|
-
params: () =>
|
|
52
|
-
|
|
50
|
+
params: async () => {
|
|
51
|
+
const ts = await (0, json_schema_to_typescript_1.compile)(this.params, paramsType, { bannerComment: '', additionalProperties: false });
|
|
52
|
+
return ts.replace(/^(export\s*)/gm, '').trim();
|
|
53
|
+
},
|
|
54
|
+
result: async () => {
|
|
55
|
+
const ts = await (0, json_schema_to_typescript_1.compile)(this.result, resultType, { bannerComment: '', additionalProperties: false });
|
|
56
|
+
return ts.replace(/^(export\s*)/gm, '').trim();
|
|
57
|
+
},
|
|
53
58
|
examples: () => this._examplesPrompt()
|
|
54
59
|
});
|
|
55
60
|
return partial.format({
|
package/dist/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,8CAAsB;AACtB,4DAAyC;AACzC,+CAAmD;AAEnD,yEAAqE;AAErE,2CAA2C;AAE3C,MAAM,GAAG,GAAG,IAAA,oBAAe,EACzB,IAAI,aAAG,CAAC;IACN,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;IACtB,SAAS,EAAE,IAAI;CAChB,CAAC,CACH,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.d.ts
CHANGED
|
@@ -13,8 +13,7 @@ interface AgentPrams {
|
|
|
13
13
|
examples?: Activity[];
|
|
14
14
|
constrains?: string[];
|
|
15
15
|
objective?: string;
|
|
16
|
-
|
|
17
|
-
actionSuffix?: string;
|
|
16
|
+
suffix?: string;
|
|
18
17
|
maxIterations?: number;
|
|
19
18
|
maxRetries?: number;
|
|
20
19
|
optimizer: Optimizer;
|
|
@@ -31,7 +30,7 @@ export declare class Agent implements AgentPrams {
|
|
|
31
30
|
examples: Activity[];
|
|
32
31
|
constrains: string[];
|
|
33
32
|
objective: string;
|
|
34
|
-
|
|
33
|
+
suffix: string;
|
|
35
34
|
actionSuffix: string;
|
|
36
35
|
maxIterations: number;
|
|
37
36
|
maxRetries: number;
|
package/dist/agent.js
CHANGED
|
@@ -7,7 +7,6 @@ exports.Agent = void 0;
|
|
|
7
7
|
const dedent_1 = __importDefault(require("dedent"));
|
|
8
8
|
const winston_1 = require("winston");
|
|
9
9
|
const prompts_1 = require("langchain/prompts");
|
|
10
|
-
const runnable_1 = require("langchain/schema/runnable");
|
|
11
10
|
const output_parser_1 = require("langchain/schema/output_parser");
|
|
12
11
|
const constants_1 = require("./constants");
|
|
13
12
|
const activity_1 = require("./activity");
|
|
@@ -20,7 +19,7 @@ class Agent {
|
|
|
20
19
|
examples;
|
|
21
20
|
constrains;
|
|
22
21
|
objective;
|
|
23
|
-
|
|
22
|
+
suffix;
|
|
24
23
|
actionSuffix;
|
|
25
24
|
maxIterations;
|
|
26
25
|
maxRetries;
|
|
@@ -45,10 +44,10 @@ class Agent {
|
|
|
45
44
|
# History:
|
|
46
45
|
{history}
|
|
47
46
|
{suffix}
|
|
47
|
+
{completions}
|
|
48
48
|
`.trim()),
|
|
49
49
|
objective: 'You are helpful assistant.',
|
|
50
|
-
|
|
51
|
-
actionSuffix: '<!-- Provide action here -->',
|
|
50
|
+
suffix: '<!-- Provide your thought and action here. Think your further actions step by step before taking any. Your must always explain your choice in your thoughts. -->',
|
|
52
51
|
maxRetries: 7,
|
|
53
52
|
maxIterations: Number.MAX_SAFE_INTEGER,
|
|
54
53
|
logger: (0, winston_1.createLogger)({ transports: [new winston_1.transports.Console()] }),
|
|
@@ -91,10 +90,14 @@ class Agent {
|
|
|
91
90
|
async prompt(params) {
|
|
92
91
|
let activities = [];
|
|
93
92
|
const history = async () => {
|
|
94
|
-
const history =
|
|
93
|
+
const history = await this.optimizer.optimize(this.history);
|
|
95
94
|
const historyStrings = history.map(h => h.prompt()).join(constants_1.ACTIVITY_SEP);
|
|
96
95
|
return historyStrings;
|
|
97
96
|
};
|
|
97
|
+
const completions = async () => {
|
|
98
|
+
const activitiesStrings = activities.map(a => a.prompt()).join(constants_1.ACTIVITY_SEP);
|
|
99
|
+
return activitiesStrings;
|
|
100
|
+
};
|
|
98
101
|
const actions = async () => {
|
|
99
102
|
const actionsStrings = await Promise.all(this.actions.map(a => a._prompt()));
|
|
100
103
|
return actionsStrings.join(constants_1.ACTION_SEP);
|
|
@@ -104,24 +107,21 @@ class Agent {
|
|
|
104
107
|
const examplesStrings = this.examples.map(h => h.prompt()).join(constants_1.ACTIVITY_SEP);
|
|
105
108
|
return examplesStrings;
|
|
106
109
|
};
|
|
107
|
-
const suffix = () => ([...this.history, ...activities].at(-1).kind === activity_1.ActivityKind.Observation
|
|
108
|
-
? this.thoughtSuffix
|
|
109
|
-
: this.actionSuffix);
|
|
110
110
|
const template = await this.template.partial({
|
|
111
111
|
objective: this.objective,
|
|
112
112
|
history,
|
|
113
113
|
actions,
|
|
114
114
|
constraints,
|
|
115
115
|
examples,
|
|
116
|
-
suffix,
|
|
116
|
+
suffix: this.suffix,
|
|
117
|
+
completions
|
|
117
118
|
});
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
new output_parser_1.StringOutputParser(),
|
|
122
|
-
]);
|
|
119
|
+
const chain = template.pipe((prompt) => prompt.toString().trim())
|
|
120
|
+
.pipe(this.llm.bind({ stop: [`<${activity_1.ActivityKind.Observation}`] }))
|
|
121
|
+
.pipe(new output_parser_1.StringOutputParser());
|
|
123
122
|
for (let i = 0; i < this.maxRetries; ++i) {
|
|
124
|
-
let completion = await
|
|
123
|
+
let completion = await chain.invoke(params ?? {});
|
|
124
|
+
debugger;
|
|
125
125
|
try {
|
|
126
126
|
activities = [...activities, ...activity_1.Activity.parse(completion)];
|
|
127
127
|
}
|
|
@@ -138,12 +138,23 @@ class Agent {
|
|
|
138
138
|
if (activity.kind === activity_1.ActivityKind.Action) {
|
|
139
139
|
try {
|
|
140
140
|
const observation = await this.execute(activity);
|
|
141
|
-
return [
|
|
141
|
+
return [
|
|
142
|
+
...activities,
|
|
143
|
+
new activity_1.Activity({
|
|
144
|
+
kind: activity_1.ActivityKind.Observation,
|
|
145
|
+
input: observation,
|
|
146
|
+
attributes: { of: activity.attributes.kind }
|
|
147
|
+
}),
|
|
148
|
+
];
|
|
142
149
|
}
|
|
143
150
|
catch (e) {
|
|
144
151
|
const err = e;
|
|
145
|
-
activities.push(new activity_1.Activity({
|
|
146
|
-
|
|
152
|
+
activities.push(new activity_1.Activity({
|
|
153
|
+
kind: activity_1.ActivityKind.Observation,
|
|
154
|
+
input: err.toString(),
|
|
155
|
+
attributes: { of: activity.attributes.kind }
|
|
156
|
+
}));
|
|
157
|
+
this.logger.debug(`Retry ${i + 1} due to action error: ${err}`);
|
|
147
158
|
continue;
|
|
148
159
|
}
|
|
149
160
|
}
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,qCAA2D;AAC3D,+CAAuE;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|