@agentica/vector-selector 0.27.3 → 0.28.0
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/README.md +17 -2
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -3
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +11 -23
- package/lib/index.mjs.map +1 -1
- package/lib/select.d.ts +2 -2
- package/lib/select.js +11 -20
- package/lib/select.js.map +1 -1
- package/package.json +7 -6
- package/src/index.ts +4 -7
- package/src/select.ts +15 -23
package/README.md
CHANGED
|
@@ -13,8 +13,23 @@
|
|
|
13
13
|
|
|
14
14
|
<!-- Youtube + Discord -->
|
|
15
15
|
<p align="center">
|
|
16
|
-
<a href="https://www.youtube.com/@wrtnlabs"
|
|
17
|
-
|
|
16
|
+
<a href="https://www.youtube.com/@wrtnlabs">
|
|
17
|
+
<img src="https://img.shields.io/badge/YouTube%20Tutorial-0d1117?style=social&logo=youtube" alt="YouTube"/>
|
|
18
|
+
</a>
|
|
19
|
+
|
|
20
|
+
<a href="https://discord.gg/aMhRmzkqCx">
|
|
21
|
+
<img src="https://img.shields.io/badge/Discord-0d1117?style=social&logo=discord" alt="Discord"/>
|
|
22
|
+
</a>
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
<p align="center">
|
|
26
|
+
<a href="https://www.bloomberg.com/news/videos/2025-03-31/wtrn-on-series-b-funding-growth-strategy-video">
|
|
27
|
+
<img src="https://wrtnlabs.io/agentica/images/badges/fund-raising-news-202503.svg" />
|
|
28
|
+
</a>
|
|
29
|
+
|
|
30
|
+
<a href="https://github.com/wrtnlabs">
|
|
31
|
+
<img src="https://wrtnlabs.io/agentica/images/badges/open-source-mission.svg" />
|
|
32
|
+
</a>
|
|
18
33
|
</p>
|
|
19
34
|
|
|
20
35
|
Agentic AI framework specialized in AI Function Calling.
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgenticaContext
|
|
1
|
+
import type { AgenticaContext } from "@agentica/core";
|
|
2
2
|
import type { ILlmSchema } from "@samchon/openapi";
|
|
3
3
|
export interface IAgenticaVectorSelectorBootProps<SchemaModel extends ILlmSchema.Model> {
|
|
4
4
|
strategy: IAgenticaVectorSelectorStrategy<SchemaModel>;
|
|
@@ -13,7 +13,7 @@ export interface IAgenticaVectorSelectorStrategy<SchemaModel extends ILlmSchema.
|
|
|
13
13
|
setEmbedded: () => void;
|
|
14
14
|
}) => Promise<void>;
|
|
15
15
|
}
|
|
16
|
-
export declare function BootAgenticaVectorSelector<SchemaModel extends ILlmSchema.Model>(props: IAgenticaVectorSelectorBootProps<SchemaModel>): (ctx: AgenticaContext<SchemaModel>) => Promise<
|
|
16
|
+
export declare function BootAgenticaVectorSelector<SchemaModel extends ILlmSchema.Model>(props: IAgenticaVectorSelectorBootProps<SchemaModel>): (ctx: AgenticaContext<SchemaModel>) => Promise<void>;
|
|
17
17
|
export declare function useEmbeddedContext<SchemaModel extends ILlmSchema.Model>(): {
|
|
18
18
|
readonly isEmbedded: (ctx: AgenticaContext<SchemaModel>) => boolean;
|
|
19
19
|
readonly setEmbedded: (ctx: AgenticaContext<SchemaModel>) => void;
|
package/lib/index.js
CHANGED
|
@@ -30,10 +30,9 @@ function BootAgenticaVectorSelector(props) {
|
|
|
30
30
|
return Object.assign(Object.assign({}, v), { method: op.function.method, path: op.function.path, tags: op.function.tags });
|
|
31
31
|
})).then(arr => (0, utils_1.uniqBy)(arr, v => v.name));
|
|
32
32
|
if (toolList.length === 0) {
|
|
33
|
-
return
|
|
33
|
+
return;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
return prompts;
|
|
35
|
+
yield (0, select_1.selectFunction)({ ctx, toolList });
|
|
37
36
|
});
|
|
38
37
|
return selectorExecute;
|
|
39
38
|
}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAuBA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAuBA,gEAiCC;AAED,gDASC;AAhED,mDAA+C;AAC/C,qCAA0C;AAC1C,mCAAiC;AAkBjC,SAAgB,0BAA0B,CAAuC,KAAoD;IACnI,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAe,CAAC;IACtE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;IACpD,MAAM,eAAe,GAAG,CACtB,GAAiC,EAClB,EAAE;QACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,YAAY,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAY,EAAC,GAAG,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,OAAO,CAAC,GAAG,CAAC,CAAM,KAAK,EAAC,EAAE,gDAAC,OAAA,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA,GAAA,CAAC,CACnD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/C,OAAO,CAAC,CAAC;YACX,CAAC;YAED,uCACK,CAAC,KACJ,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAC1B,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EACtB,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,IACtB;QACJ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,cAAM,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,IAAA,uBAAc,EAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAA,CAAC;IACF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAgB,kBAAkB;IAChC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,OAAO;QACL,UAAU,EAAE,CAAC,GAAiC,EAAE,EAAE,CAChD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/C,WAAW,EAAE,CAAC,GAAiC,EAAE,EAAE;YACjD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;KACO,CAAC;AACb,CAAC"}
|
package/lib/index.mjs
CHANGED
|
@@ -133,13 +133,16 @@ async function selectFunction(props) {
|
|
|
133
133
|
}).then((async v => utils.StreamUtil.readAll(v))).then(utils.ChatGptCompletionMessageUtil.merge);
|
|
134
134
|
const toolCalls = selectCompletion.choices.filter((v => v.message.tool_calls != null));
|
|
135
135
|
if (toolCalls.length === 0) {
|
|
136
|
-
|
|
136
|
+
selectCompletion.choices.forEach((v => {
|
|
137
137
|
if (v.message.content != null && v.message.content !== "") {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
const event = factory.creatAssistantMessageEvent({
|
|
139
|
+
stream: utils.toAsyncGenerator(v.message.content),
|
|
140
|
+
done: () => true,
|
|
141
|
+
get: () => v.message.content,
|
|
142
|
+
join: async () => v.message.content
|
|
143
|
+
});
|
|
144
|
+
ctx.dispatch(event);
|
|
141
145
|
}
|
|
142
|
-
return [];
|
|
143
146
|
}));
|
|
144
147
|
}
|
|
145
148
|
const failures = toolCalls.reduce(((acc, cur) => {
|
|
@@ -195,19 +198,8 @@ async function selectFunction(props) {
|
|
|
195
198
|
restRetry: restRetry - 1
|
|
196
199
|
});
|
|
197
200
|
}
|
|
198
|
-
const prompts = [];
|
|
199
201
|
toolCalls.forEach((v => {
|
|
200
202
|
v.message.tool_calls.forEach((tc => {
|
|
201
|
-
const collection = {
|
|
202
|
-
type: "select",
|
|
203
|
-
id: tc.id,
|
|
204
|
-
selections: [],
|
|
205
|
-
toJSON: () => ({
|
|
206
|
-
type: "select",
|
|
207
|
-
id: tc.id,
|
|
208
|
-
selections: collection.selections.map((s => s.toJSON()))
|
|
209
|
-
})
|
|
210
|
-
};
|
|
211
203
|
const arg = JSON.parse(tc.function.arguments);
|
|
212
204
|
arg.function_list.forEach((v => {
|
|
213
205
|
const operation = ctx.operations.flat.get(v.function_name);
|
|
@@ -221,13 +213,10 @@ async function selectFunction(props) {
|
|
|
221
213
|
ctx.stack.push(selection);
|
|
222
214
|
ctx.dispatch(factory.createSelectEvent({
|
|
223
215
|
selection
|
|
224
|
-
}))
|
|
225
|
-
collection.selections.push(selection);
|
|
216
|
+
}));
|
|
226
217
|
}));
|
|
227
|
-
prompts.push(collection);
|
|
228
218
|
}));
|
|
229
219
|
}));
|
|
230
|
-
return prompts;
|
|
231
220
|
}
|
|
232
221
|
|
|
233
222
|
function emendMessages(failures) {
|
|
@@ -287,13 +276,12 @@ function BootAgenticaVectorSelector(props) {
|
|
|
287
276
|
};
|
|
288
277
|
})))).then((arr => uniqBy(arr, (v => v.name))));
|
|
289
278
|
if (toolList.length === 0) {
|
|
290
|
-
return
|
|
279
|
+
return;
|
|
291
280
|
}
|
|
292
|
-
|
|
281
|
+
await selectFunction({
|
|
293
282
|
ctx,
|
|
294
283
|
toolList
|
|
295
284
|
});
|
|
296
|
-
return prompts;
|
|
297
285
|
};
|
|
298
286
|
return selectorExecute;
|
|
299
287
|
}
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/tools.ts","../src/extract_query.ts","../src/select.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null],"names":["Tools","extract_query","type","function","name","description","parameters","properties","query_list","items","reason","query","required","select_functions","function_list","function_name","async","extractQuery","ctx","completionStream","request","messages","role","content","join","histories","map","factory","flat","prompt","contents","decodeUserMessageContent","tool_choice","tools","chunks","utils","StreamUtil","readAll","completion","ChatGptCompletionMessageUtil","merge","queries","choices","message","tool_calls","flatMap","v","arg","JSON","parse","arguments","Array","isArray","selectFunction","props","toolList","prevFailures","restRetry","selectCompletion","AgenticaDefaultPrompt","write","config","id","stringify","tool_call_id","systemPrompt","select","AgenticaSystemPrompt","SELECT","emendMessages","parallel_tool_calls","then","toolCalls","filter","length","
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/tools.ts","../src/extract_query.ts","../src/select.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null],"names":["Tools","extract_query","type","function","name","description","parameters","properties","query_list","items","reason","query","required","select_functions","function_list","function_name","async","extractQuery","ctx","completionStream","request","messages","role","content","join","histories","map","factory","flat","prompt","contents","decodeUserMessageContent","tool_choice","tools","chunks","utils","StreamUtil","readAll","completion","ChatGptCompletionMessageUtil","merge","queries","choices","message","tool_calls","flatMap","v","arg","JSON","parse","arguments","Array","isArray","selectFunction","props","toolList","prevFailures","restRetry","selectCompletion","AgenticaDefaultPrompt","write","config","id","stringify","tool_call_id","systemPrompt","select","AgenticaSystemPrompt","SELECT","emendMessages","parallel_tool_calls","then","toolCalls","filter","length","forEach","event","creatAssistantMessageEvent","stream","toAsyncGenerator","done","get","dispatch","failures","reduce","acc","cur","tc","errors","push","path","expected","value","idx","validation","data","feedback","Error","operation","operations","undefined","selection","createOperationSelection","stack","createSelectEvent","f","uniqBy","array","selector","seen","Set","item","key","has","add","BootAgenticaVectorSelector","isEmbedded","setEmbedded","useEmbeddedContext","searchTool","embedContext","strategy","selectorExecute","Promise","all","res","op","protocol","method","tags","arr","set"],"mappings":"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"}
|
package/lib/select.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgenticaContext
|
|
1
|
+
import type { AgenticaContext } from "@agentica/core";
|
|
2
2
|
import type { ILlmSchema } from "@samchon/openapi";
|
|
3
3
|
interface IFailure {
|
|
4
4
|
id: string;
|
|
@@ -13,5 +13,5 @@ export declare function selectFunction<SchemaModel extends ILlmSchema.Model>(pro
|
|
|
13
13
|
toolList: object[];
|
|
14
14
|
prevFailures?: IFailure[];
|
|
15
15
|
restRetry?: number;
|
|
16
|
-
}): Promise<
|
|
16
|
+
}): Promise<void>;
|
|
17
17
|
export {};
|
package/lib/select.js
CHANGED
|
@@ -72,13 +72,16 @@ function selectFunction(props) {
|
|
|
72
72
|
const toolCalls = selectCompletion.choices
|
|
73
73
|
.filter(v => v.message.tool_calls != null);
|
|
74
74
|
if (toolCalls.length === 0) {
|
|
75
|
-
|
|
75
|
+
selectCompletion.choices.forEach((v) => {
|
|
76
76
|
if (v.message.content != null && v.message.content !== "") {
|
|
77
|
-
|
|
78
|
-
core_1.
|
|
79
|
-
|
|
77
|
+
const event = core_1.factory.creatAssistantMessageEvent({
|
|
78
|
+
stream: core_1.utils.toAsyncGenerator(v.message.content),
|
|
79
|
+
done: () => true,
|
|
80
|
+
get: () => v.message.content,
|
|
81
|
+
join: () => __awaiter(this, void 0, void 0, function* () { return v.message.content; }),
|
|
82
|
+
});
|
|
83
|
+
ctx.dispatch(event);
|
|
80
84
|
}
|
|
81
|
-
return [];
|
|
82
85
|
});
|
|
83
86
|
}
|
|
84
87
|
const failures = toolCalls.reduce((acc, cur) => {
|
|
@@ -132,19 +135,8 @@ function selectFunction(props) {
|
|
|
132
135
|
restRetry: restRetry - 1,
|
|
133
136
|
});
|
|
134
137
|
}
|
|
135
|
-
const prompts = [];
|
|
136
138
|
toolCalls.forEach((v) => {
|
|
137
139
|
v.message.tool_calls.forEach((tc) => {
|
|
138
|
-
const collection = {
|
|
139
|
-
type: "select",
|
|
140
|
-
id: tc.id,
|
|
141
|
-
selections: [],
|
|
142
|
-
toJSON: () => ({
|
|
143
|
-
type: "select",
|
|
144
|
-
id: tc.id,
|
|
145
|
-
selections: collection.selections.map(s => s.toJSON()),
|
|
146
|
-
}),
|
|
147
|
-
};
|
|
148
140
|
const arg = JSON.parse(tc.function.arguments);
|
|
149
141
|
arg.function_list.forEach((v) => {
|
|
150
142
|
const operation = ctx.operations.flat.get(v.function_name);
|
|
@@ -156,13 +148,12 @@ function selectFunction(props) {
|
|
|
156
148
|
operation,
|
|
157
149
|
});
|
|
158
150
|
ctx.stack.push(selection);
|
|
159
|
-
ctx.dispatch(core_1.factory.createSelectEvent({
|
|
160
|
-
|
|
151
|
+
ctx.dispatch(core_1.factory.createSelectEvent({
|
|
152
|
+
selection,
|
|
153
|
+
}));
|
|
161
154
|
});
|
|
162
|
-
prompts.push(collection);
|
|
163
155
|
});
|
|
164
156
|
});
|
|
165
|
-
return prompts;
|
|
166
157
|
});
|
|
167
158
|
}
|
|
168
159
|
function emendMessages(failures) {
|
package/lib/select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../src/select.ts"],"names":[],"mappings":";;;;;;;;;;;AAkBA,
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../src/select.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentica/vector-selector",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"author": "Wrtn Technologies",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://wrtnlabs.io",
|
|
@@ -47,28 +47,29 @@
|
|
|
47
47
|
"src"
|
|
48
48
|
],
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@agentica/core": "^0.
|
|
50
|
+
"@agentica/core": "^0.28.0"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@noble/hashes": "^1.8.0",
|
|
54
54
|
"@wrtnlabs/connector-hive-api": "^1.5.0",
|
|
55
55
|
"better-sqlite3": "^11.9.1",
|
|
56
56
|
"cohere-ai": "^7.17.1",
|
|
57
|
-
"sqlite-vec": "0.1.7-alpha.2"
|
|
57
|
+
"sqlite-vec": "0.1.7-alpha.2",
|
|
58
|
+
"uuid": "^11.1.0"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@rollup/plugin-terser": "^0.4.4",
|
|
61
62
|
"@rollup/plugin-typescript": "^12.1.1",
|
|
62
|
-
"@samchon/openapi": "^4.3.
|
|
63
|
+
"@samchon/openapi": "^4.3.3",
|
|
63
64
|
"@types/better-sqlite3": "^7.6.13",
|
|
64
|
-
"@types/node": "^22.
|
|
65
|
+
"@types/node": "^22.13.9",
|
|
65
66
|
"json-schema-to-ts": "^3.1.1",
|
|
66
67
|
"rimraf": "^6.0.1",
|
|
67
68
|
"rollup": "^4.29.1",
|
|
68
69
|
"type-fest": "^4.37.0",
|
|
69
70
|
"typescript": "~5.8.3",
|
|
70
71
|
"vitest": "^3.0.9",
|
|
71
|
-
"@agentica/core": "^0.
|
|
72
|
+
"@agentica/core": "^0.28.0"
|
|
72
73
|
},
|
|
73
74
|
"scripts": {
|
|
74
75
|
"build": "tsc -p ./tsconfig.build.json && rollup -c",
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgenticaContext
|
|
1
|
+
import type { AgenticaContext } from "@agentica/core";
|
|
2
2
|
import type { ILlmSchema } from "@samchon/openapi";
|
|
3
3
|
|
|
4
4
|
import { extractQuery } from "./extract_query";
|
|
@@ -26,7 +26,7 @@ export function BootAgenticaVectorSelector<SchemaModel extends ILlmSchema.Model>
|
|
|
26
26
|
const { searchTool, embedContext } = props.strategy;
|
|
27
27
|
const selectorExecute = async (
|
|
28
28
|
ctx: AgenticaContext<SchemaModel>,
|
|
29
|
-
): Promise<
|
|
29
|
+
): Promise<void> => {
|
|
30
30
|
if (!isEmbedded(ctx)) {
|
|
31
31
|
await embedContext({ ctx, setEmbedded: () => setEmbedded(ctx) });
|
|
32
32
|
}
|
|
@@ -49,13 +49,10 @@ export function BootAgenticaVectorSelector<SchemaModel extends ILlmSchema.Model>
|
|
|
49
49
|
})).then(arr => uniqBy(arr, v => v.name));
|
|
50
50
|
|
|
51
51
|
if (toolList.length === 0) {
|
|
52
|
-
return
|
|
52
|
+
return;
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
const prompts = await selectFunction({ ctx, toolList });
|
|
56
|
-
return prompts;
|
|
54
|
+
await selectFunction({ ctx, toolList });
|
|
57
55
|
};
|
|
58
|
-
|
|
59
56
|
return selectorExecute;
|
|
60
57
|
}
|
|
61
58
|
|
package/src/select.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgenticaContext, AgenticaOperationSelection
|
|
1
|
+
import type { AgenticaAssistantMessageEvent, AgenticaContext, AgenticaOperationSelection } from "@agentica/core";
|
|
2
2
|
import type { ILlmSchema } from "@samchon/openapi";
|
|
3
3
|
|
|
4
4
|
import { factory, utils } from "@agentica/core";
|
|
@@ -21,7 +21,7 @@ export async function selectFunction<SchemaModel extends ILlmSchema.Model>(props
|
|
|
21
21
|
toolList: object[];
|
|
22
22
|
prevFailures?: IFailure[];
|
|
23
23
|
restRetry?: number;
|
|
24
|
-
}) {
|
|
24
|
+
}): Promise<void> {
|
|
25
25
|
const { ctx, toolList, prevFailures = [], restRetry = 5 } = props;
|
|
26
26
|
const selectCompletion = await ctx.request("select", {
|
|
27
27
|
messages: [
|
|
@@ -80,13 +80,16 @@ export async function selectFunction<SchemaModel extends ILlmSchema.Model>(props
|
|
|
80
80
|
.filter(v => v.message.tool_calls != null);
|
|
81
81
|
|
|
82
82
|
if (toolCalls.length === 0) {
|
|
83
|
-
|
|
83
|
+
selectCompletion.choices.forEach((v) => {
|
|
84
84
|
if (v.message.content != null && v.message.content !== "") {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
const event: AgenticaAssistantMessageEvent = factory.creatAssistantMessageEvent({
|
|
86
|
+
stream: utils.toAsyncGenerator(v.message.content),
|
|
87
|
+
done: () => true,
|
|
88
|
+
get: () => v.message.content as string,
|
|
89
|
+
join: async () => (v.message.content as string),
|
|
90
|
+
});
|
|
91
|
+
ctx.dispatch(event);
|
|
88
92
|
}
|
|
89
|
-
return [];
|
|
90
93
|
});
|
|
91
94
|
}
|
|
92
95
|
|
|
@@ -145,19 +148,8 @@ export async function selectFunction<SchemaModel extends ILlmSchema.Model>(props
|
|
|
145
148
|
});
|
|
146
149
|
}
|
|
147
150
|
|
|
148
|
-
const prompts: AgenticaSelectHistory<SchemaModel>[] = [];
|
|
149
151
|
toolCalls.forEach((v) => {
|
|
150
152
|
v.message.tool_calls!.forEach((tc) => {
|
|
151
|
-
const collection: AgenticaSelectHistory<SchemaModel> = {
|
|
152
|
-
type: "select",
|
|
153
|
-
id: tc.id,
|
|
154
|
-
selections: [],
|
|
155
|
-
toJSON: () => ({
|
|
156
|
-
type: "select",
|
|
157
|
-
id: tc.id,
|
|
158
|
-
selections: collection.selections.map(s => s.toJSON()),
|
|
159
|
-
}),
|
|
160
|
-
};
|
|
161
153
|
const arg = JSON.parse(tc.function.arguments) as {
|
|
162
154
|
function_list: {
|
|
163
155
|
reason: string;
|
|
@@ -176,14 +168,14 @@ export async function selectFunction<SchemaModel extends ILlmSchema.Model>(props
|
|
|
176
168
|
operation,
|
|
177
169
|
});
|
|
178
170
|
ctx.stack.push(selection);
|
|
179
|
-
ctx.dispatch(
|
|
180
|
-
|
|
171
|
+
ctx.dispatch(
|
|
172
|
+
factory.createSelectEvent({
|
|
173
|
+
selection,
|
|
174
|
+
}),
|
|
175
|
+
);
|
|
181
176
|
});
|
|
182
|
-
prompts.push(collection);
|
|
183
177
|
});
|
|
184
178
|
});
|
|
185
|
-
|
|
186
|
-
return prompts;
|
|
187
179
|
}
|
|
188
180
|
|
|
189
181
|
function emendMessages<SchemaModel extends ILlmSchema.Model>(failures: IFailure[]): ReturnType<typeof factory.decodeHistory<SchemaModel>> {
|