@caretakerai/agent 0.0.11 → 0.0.12
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/agent.d.ts +4 -2
- package/dist/agent.js +16 -15
- package/dist/agent.js.map +1 -1
- package/package.json +1 -1
package/dist/agent.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Logger } from 'winston';
|
|
2
2
|
import { BasePromptTemplate } from '@langchain/core/prompts';
|
|
3
|
+
import { BaseLanguageModel } from '@langchain/core/language_models/base';
|
|
3
4
|
import { Action } from './action';
|
|
4
5
|
import { Activity } from './activity';
|
|
5
6
|
import { Optimizer } from './types';
|
|
6
|
-
import { BaseLanguageModel } from '@langchain/core/language_models/base';
|
|
7
7
|
interface AgentPrams {
|
|
8
8
|
name: string;
|
|
9
9
|
description: string;
|
|
10
10
|
llm: BaseLanguageModel;
|
|
11
|
+
isChatModel?: boolean;
|
|
11
12
|
actions: Action[];
|
|
12
13
|
history?: Activity[];
|
|
13
14
|
examples?: Activity[];
|
|
@@ -32,13 +33,14 @@ export declare class Agent implements AgentPrams {
|
|
|
32
33
|
actionSuffix: string;
|
|
33
34
|
maxIterations: number;
|
|
34
35
|
maxRetries: number;
|
|
36
|
+
isChatModel: boolean;
|
|
35
37
|
optimizer: Optimizer;
|
|
36
38
|
logger: Logger;
|
|
37
39
|
template?: BasePromptTemplate;
|
|
38
40
|
static defaults: Partial<AgentPrams>;
|
|
39
41
|
constructor(params: AgentPrams);
|
|
40
42
|
addActivities(...activities: Activity[]): void;
|
|
41
|
-
prompt(params?: Record<string, string>): Promise<
|
|
43
|
+
prompt(params?: Record<string, string>): Promise<void>;
|
|
42
44
|
execute({ attributes, input }: Activity): Promise<string>;
|
|
43
45
|
invoke(params?: Record<string, any>): Promise<string>;
|
|
44
46
|
}
|
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/core/prompts");
|
|
10
|
-
const example_selectors_1 = require("@langchain/core/example_selectors");
|
|
11
10
|
const output_parsers_1 = require("@langchain/core/output_parsers");
|
|
12
11
|
const constants_1 = require("./constants");
|
|
13
12
|
const activity_1 = require("./activity");
|
|
@@ -23,6 +22,7 @@ class Agent {
|
|
|
23
22
|
actionSuffix;
|
|
24
23
|
maxIterations;
|
|
25
24
|
maxRetries;
|
|
25
|
+
isChatModel;
|
|
26
26
|
optimizer;
|
|
27
27
|
logger;
|
|
28
28
|
template;
|
|
@@ -52,6 +52,7 @@ class Agent {
|
|
|
52
52
|
Provide your Thought and Action here.
|
|
53
53
|
`,
|
|
54
54
|
maxRetries: 7,
|
|
55
|
+
isChatModel: false,
|
|
55
56
|
maxIterations: Number.MAX_SAFE_INTEGER,
|
|
56
57
|
logger: (0, winston_1.createLogger)({ transports: [new winston_1.transports.Console()] }),
|
|
57
58
|
examples: [
|
|
@@ -94,7 +95,7 @@ class Agent {
|
|
|
94
95
|
return historyStrings;
|
|
95
96
|
};
|
|
96
97
|
const completions = async () => {
|
|
97
|
-
if (!activities.length &&
|
|
98
|
+
if (!activities.length && !this.isChatModel) {
|
|
98
99
|
return `<${activity_1.ActivityKind.Thought}>`;
|
|
99
100
|
}
|
|
100
101
|
const activitiesStrings = activities.map(a => a.prompt()).join(constants_1.ACTIVITY_SEP);
|
|
@@ -127,10 +128,11 @@ class Agent {
|
|
|
127
128
|
.pipe(new output_parsers_1.StringOutputParser());
|
|
128
129
|
for (let i = 0; i < this.maxRetries; ++i) {
|
|
129
130
|
let completion = await chain.invoke(params ?? {});
|
|
130
|
-
if (!completion.startsWith(`${activity_1.ActivityKind.Thought}`) &&
|
|
131
|
+
if (!completion.startsWith(`${activity_1.ActivityKind.Thought}`) && !this.isChatModel) {
|
|
131
132
|
completion = `<${activity_1.ActivityKind.Thought}>\n${completion}`;
|
|
132
133
|
}
|
|
133
134
|
try {
|
|
135
|
+
debugger;
|
|
134
136
|
let newActivities = activity_1.Activity.parse(completion).slice(0, 2);
|
|
135
137
|
if (!newActivities.length) {
|
|
136
138
|
throw new Error('No activities generated!');
|
|
@@ -149,20 +151,18 @@ class Agent {
|
|
|
149
151
|
continue;
|
|
150
152
|
}
|
|
151
153
|
const activity = activities.at(-1);
|
|
152
|
-
if (activity
|
|
154
|
+
if (activity.kind === activity_1.ActivityKind.Thought) {
|
|
153
155
|
this.logger.debug(`Retry ${i + 1} due to missing action`);
|
|
154
156
|
continue;
|
|
155
157
|
}
|
|
156
158
|
try {
|
|
157
159
|
const observation = await this.execute(activity);
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}),
|
|
165
|
-
];
|
|
160
|
+
this.addActivities(...activities, new activity_1.Activity({
|
|
161
|
+
kind: activity_1.ActivityKind.Observation,
|
|
162
|
+
input: observation,
|
|
163
|
+
attributes: { of: activity.attributes.kind }
|
|
164
|
+
}));
|
|
165
|
+
return;
|
|
166
166
|
}
|
|
167
167
|
catch (e) {
|
|
168
168
|
const err = e;
|
|
@@ -171,6 +171,8 @@ class Agent {
|
|
|
171
171
|
input: err.toString(),
|
|
172
172
|
attributes: { of: activity.attributes.kind }
|
|
173
173
|
}));
|
|
174
|
+
this.addActivities(...activities);
|
|
175
|
+
activities = [];
|
|
174
176
|
this.logger.debug(`Retry ${i + 1} due to action error: ${err}`);
|
|
175
177
|
continue;
|
|
176
178
|
}
|
|
@@ -181,7 +183,7 @@ class Agent {
|
|
|
181
183
|
const { kind } = attributes;
|
|
182
184
|
const action = this.actions.find(a => a.kind === kind);
|
|
183
185
|
if (!action) {
|
|
184
|
-
throw new Error(`Action "${kind}" is not allowed.
|
|
186
|
+
throw new Error(`Action "${kind}" is not allowed. Correct your spelling.`);
|
|
185
187
|
}
|
|
186
188
|
const observation = await action._call(input, this);
|
|
187
189
|
return observation;
|
|
@@ -194,8 +196,7 @@ class Agent {
|
|
|
194
196
|
throw new Error('Latest experience must be of Observation kind');
|
|
195
197
|
}
|
|
196
198
|
for (let i = 0; i < this.maxIterations; ++i) {
|
|
197
|
-
|
|
198
|
-
this.addActivities(...activities);
|
|
199
|
+
await this.prompt(params);
|
|
199
200
|
const activity = this.history.at(-2);
|
|
200
201
|
const action = this.actions.find(a => a.kind === activity.attributes.kind);
|
|
201
202
|
if (action.exit) {
|
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,qDAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|