@ax-llm/ax 9.0.7 → 9.0.9
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/build/module/src/ai/anthropic/api.js +63 -22
- package/build/module/src/ai/anthropic/api.js.map +1 -1
- package/build/module/src/ai/anthropic/types.d.ts +25 -6
- package/build/module/src/ai/base.js +41 -21
- package/build/module/src/ai/base.js.map +1 -1
- package/build/module/src/ai/cohere/api.d.ts +1 -1
- package/build/module/src/ai/cohere/api.js +102 -50
- package/build/module/src/ai/cohere/api.js.map +1 -1
- package/build/module/src/ai/cohere/types.d.ts +32 -15
- package/build/module/src/ai/google-gemini/api.js +14 -18
- package/build/module/src/ai/google-gemini/api.js.map +1 -1
- package/build/module/src/ai/huggingface/api.js +25 -1
- package/build/module/src/ai/huggingface/api.js.map +1 -1
- package/build/module/src/ai/openai/api.js +18 -22
- package/build/module/src/ai/openai/api.js.map +1 -1
- package/build/module/src/ai/types.d.ts +1 -2
- package/build/module/src/ai/util.d.ts +3 -4
- package/build/module/src/ai/util.js +1 -53
- package/build/module/src/ai/util.js.map +1 -1
- package/build/module/src/dsp/generate.js +39 -50
- package/build/module/src/dsp/generate.js.map +1 -1
- package/build/module/src/examples/food-search.js +14 -3
- package/build/module/src/examples/food-search.js.map +1 -1
- package/build/module/src/funcs/functions.js +10 -7
- package/build/module/src/funcs/functions.js.map +1 -1
- package/build/module/src/mem/memory.js +5 -2
- package/build/module/src/mem/memory.js.map +1 -1
- package/package.json +3 -2
|
@@ -2,7 +2,7 @@ import { AxBaseAI, axBaseAIDefaultConfig } from '../base.js';
|
|
|
2
2
|
import { axModelInfoAnthropic } from './info.js';
|
|
3
3
|
import { AxAIAnthropicModel } from './types.js';
|
|
4
4
|
export const axAIAnthropicDefaultConfig = () => structuredClone({
|
|
5
|
-
model: AxAIAnthropicModel.
|
|
5
|
+
model: AxAIAnthropicModel.Claude35Sonnet,
|
|
6
6
|
...axBaseAIDefaultConfig()
|
|
7
7
|
});
|
|
8
8
|
export class AxAIAnthropic extends AxBaseAI {
|
|
@@ -57,7 +57,9 @@ export class AxAIAnthropic extends AxBaseAI {
|
|
|
57
57
|
temperature: req.modelConfig?.temperature ?? this.config.temperature,
|
|
58
58
|
top_p: req.modelConfig?.topP ?? this.config.topP,
|
|
59
59
|
top_k: req.modelConfig?.topK ?? this.config.topK,
|
|
60
|
-
...(tools && tools.length > 0
|
|
60
|
+
...(tools && tools.length > 0
|
|
61
|
+
? { tools, tool_choice: { type: 'auto' } }
|
|
62
|
+
: {}),
|
|
61
63
|
...(stream ? { stream: true } : {}),
|
|
62
64
|
messages
|
|
63
65
|
};
|
|
@@ -67,25 +69,26 @@ export class AxAIAnthropic extends AxBaseAI {
|
|
|
67
69
|
if (resp.type === 'error') {
|
|
68
70
|
throw new Error(`Anthropic Chat API Error: ${resp.error.message}`);
|
|
69
71
|
}
|
|
72
|
+
const finishReason = mapFinishReason(resp.stop_reason);
|
|
70
73
|
const results = resp.content.map((msg) => {
|
|
71
|
-
let finishReason;
|
|
72
74
|
if (msg.type === 'tool_use') {
|
|
73
|
-
finishReason = 'function_call';
|
|
74
75
|
return {
|
|
75
76
|
id: msg.id,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
functionCalls: [
|
|
78
|
+
{
|
|
79
|
+
id: msg.id,
|
|
80
|
+
type: 'function',
|
|
81
|
+
function: {
|
|
82
|
+
name: msg.name,
|
|
83
|
+
arguments: msg.input
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
],
|
|
82
87
|
finishReason
|
|
83
88
|
};
|
|
84
89
|
}
|
|
85
|
-
finishReason = mapFinishReason(resp.stop_reason);
|
|
86
90
|
return {
|
|
87
91
|
content: msg.type === 'text' ? msg.text : '',
|
|
88
|
-
role: resp.role,
|
|
89
92
|
id: resp.id,
|
|
90
93
|
finishReason
|
|
91
94
|
};
|
|
@@ -97,7 +100,8 @@ export class AxAIAnthropic extends AxBaseAI {
|
|
|
97
100
|
};
|
|
98
101
|
return {
|
|
99
102
|
results,
|
|
100
|
-
modelUsage
|
|
103
|
+
modelUsage,
|
|
104
|
+
remoteId: resp.id
|
|
101
105
|
};
|
|
102
106
|
};
|
|
103
107
|
generateChatStreamResp = (resp, state) => {
|
|
@@ -138,6 +142,19 @@ export class AxAIAnthropic extends AxBaseAI {
|
|
|
138
142
|
typeof resp.index === 'number' &&
|
|
139
143
|
!sstate.indexIdMap[resp.index]) {
|
|
140
144
|
sstate.indexIdMap[resp.index] = contentBlock.id;
|
|
145
|
+
const functionCalls = [
|
|
146
|
+
{
|
|
147
|
+
id: contentBlock.id,
|
|
148
|
+
type: 'function',
|
|
149
|
+
function: {
|
|
150
|
+
name: contentBlock.name,
|
|
151
|
+
arguments: ''
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
];
|
|
155
|
+
return {
|
|
156
|
+
results: [{ functionCalls }]
|
|
157
|
+
};
|
|
141
158
|
}
|
|
142
159
|
}
|
|
143
160
|
}
|
|
@@ -190,7 +207,7 @@ export class AxAIAnthropic extends AxBaseAI {
|
|
|
190
207
|
};
|
|
191
208
|
}
|
|
192
209
|
function createMessages(req) {
|
|
193
|
-
|
|
210
|
+
const items = req.chatPrompt.map((msg) => {
|
|
194
211
|
switch (msg.role) {
|
|
195
212
|
case 'function':
|
|
196
213
|
return {
|
|
@@ -198,7 +215,7 @@ function createMessages(req) {
|
|
|
198
215
|
content: [
|
|
199
216
|
{
|
|
200
217
|
type: 'tool_result',
|
|
201
|
-
|
|
218
|
+
content: msg.result,
|
|
202
219
|
tool_use_id: msg.functionId
|
|
203
220
|
}
|
|
204
221
|
]
|
|
@@ -230,11 +247,12 @@ function createMessages(req) {
|
|
|
230
247
|
};
|
|
231
248
|
}
|
|
232
249
|
case 'assistant': {
|
|
250
|
+
let content = '';
|
|
233
251
|
if (typeof msg.content === 'string') {
|
|
234
|
-
|
|
252
|
+
content = msg.content;
|
|
235
253
|
}
|
|
236
254
|
if (typeof msg.functionCalls !== 'undefined') {
|
|
237
|
-
|
|
255
|
+
content = msg.functionCalls.map((v) => {
|
|
238
256
|
let input;
|
|
239
257
|
if (typeof v.function.arguments === 'string') {
|
|
240
258
|
input = JSON.parse(v.function.arguments);
|
|
@@ -249,17 +267,40 @@ function createMessages(req) {
|
|
|
249
267
|
input
|
|
250
268
|
};
|
|
251
269
|
});
|
|
252
|
-
return {
|
|
253
|
-
role: 'assistant',
|
|
254
|
-
content
|
|
255
|
-
};
|
|
256
270
|
}
|
|
257
|
-
|
|
271
|
+
return {
|
|
272
|
+
role: 'assistant',
|
|
273
|
+
content
|
|
274
|
+
};
|
|
258
275
|
}
|
|
259
276
|
default:
|
|
260
277
|
throw new Error('Invalid role');
|
|
261
278
|
}
|
|
262
279
|
});
|
|
280
|
+
return mergeAssistantMessages(items);
|
|
281
|
+
}
|
|
282
|
+
// Anthropic and some others need this in non-streaming mode
|
|
283
|
+
function mergeAssistantMessages(messages) {
|
|
284
|
+
const mergedMessages = [];
|
|
285
|
+
for (const [i, cur] of messages.entries()) {
|
|
286
|
+
// Continue if not an assistant message or first message
|
|
287
|
+
if (cur.role !== 'assistant') {
|
|
288
|
+
mergedMessages.push(cur);
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
// Merge current message with the previous one if both are from the assistant
|
|
292
|
+
if (i > 0 && messages.at(i - 1)?.role === 'assistant') {
|
|
293
|
+
const lastMessage = mergedMessages.pop();
|
|
294
|
+
mergedMessages.push({
|
|
295
|
+
...(lastMessage ? lastMessage : {}),
|
|
296
|
+
...cur
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
mergedMessages.push(cur);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
return mergedMessages;
|
|
263
304
|
}
|
|
264
305
|
function mapFinishReason(stopReason) {
|
|
265
306
|
if (!stopReason) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/ai/anthropic/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/ai/anthropic/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,8 +26,19 @@ export type AxAIAnthropicChatRequest = {
|
|
|
26
26
|
};
|
|
27
27
|
} | {
|
|
28
28
|
type: 'tool_result';
|
|
29
|
-
|
|
29
|
+
is_error?: boolean;
|
|
30
30
|
tool_use_id: string;
|
|
31
|
+
content: string | ({
|
|
32
|
+
type: 'text';
|
|
33
|
+
text: string;
|
|
34
|
+
} | {
|
|
35
|
+
type: 'image';
|
|
36
|
+
source: {
|
|
37
|
+
type: 'base64';
|
|
38
|
+
media_type: string;
|
|
39
|
+
data: string;
|
|
40
|
+
};
|
|
41
|
+
})[];
|
|
31
42
|
})[];
|
|
32
43
|
} | {
|
|
33
44
|
role: 'assistant';
|
|
@@ -46,6 +57,12 @@ export type AxAIAnthropicChatRequest = {
|
|
|
46
57
|
description: string;
|
|
47
58
|
input_schema?: object;
|
|
48
59
|
}[];
|
|
60
|
+
tool_choice?: {
|
|
61
|
+
type: 'auto' | 'any';
|
|
62
|
+
} | {
|
|
63
|
+
type: 'tool';
|
|
64
|
+
name?: string;
|
|
65
|
+
};
|
|
49
66
|
max_tokens?: number;
|
|
50
67
|
stop_sequences?: string[];
|
|
51
68
|
stream?: boolean;
|
|
@@ -60,13 +77,15 @@ export type AxAIAnthropicChatResponse = {
|
|
|
60
77
|
id: string;
|
|
61
78
|
type: 'message';
|
|
62
79
|
role: 'assistant';
|
|
63
|
-
content: {
|
|
64
|
-
|
|
65
|
-
name?: string;
|
|
66
|
-
type: 'text' | 'tool_use';
|
|
80
|
+
content: ({
|
|
81
|
+
type: 'text';
|
|
67
82
|
text: string;
|
|
83
|
+
} | {
|
|
84
|
+
id: string;
|
|
85
|
+
name: string;
|
|
86
|
+
type: 'tool_use';
|
|
68
87
|
input?: string;
|
|
69
|
-
}[];
|
|
88
|
+
})[];
|
|
70
89
|
model: string;
|
|
71
90
|
stop_reason: 'end_turn' | 'max_tokens' | 'stop_sequence' | 'tool_use';
|
|
72
91
|
stop_sequence?: string;
|
|
@@ -168,14 +168,6 @@ export class AxBaseAI {
|
|
|
168
168
|
};
|
|
169
169
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
170
170
|
const doneCb = async (_values) => {
|
|
171
|
-
// const res = mergeChatResponses(values);
|
|
172
|
-
// if (span?.isRecording()) {
|
|
173
|
-
// setResponseAttr(res, span);
|
|
174
|
-
// }
|
|
175
|
-
// span?.end();
|
|
176
|
-
// if (this.debug) {
|
|
177
|
-
// logResponse(res);
|
|
178
|
-
// }
|
|
179
171
|
if (this.debug) {
|
|
180
172
|
process.stdout.write('\n');
|
|
181
173
|
}
|
|
@@ -251,19 +243,45 @@ export class AxBaseAI {
|
|
|
251
243
|
}
|
|
252
244
|
}
|
|
253
245
|
const logChatRequest = (req) => {
|
|
254
|
-
const items = req.chatPrompt
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
246
|
+
const items = req.chatPrompt?.map((msg) => {
|
|
247
|
+
switch (msg.role) {
|
|
248
|
+
case 'function':
|
|
249
|
+
return `Function Result: ${colorLog.whiteBright(msg.result)}`;
|
|
250
|
+
case 'user': {
|
|
251
|
+
if (typeof msg.content === 'string') {
|
|
252
|
+
return `User: ${colorLog.whiteBright(msg.content)}`;
|
|
253
|
+
}
|
|
254
|
+
const items = msg.content.map((v) => {
|
|
255
|
+
switch (v.type) {
|
|
256
|
+
case 'text':
|
|
257
|
+
return `(Text) ${colorLog.whiteBright(v.text)}`;
|
|
258
|
+
case 'image':
|
|
259
|
+
return `(Image, ${v.mimeType}) ${colorLog.whiteBright(v.image.substring(0, 10))}`;
|
|
260
|
+
default:
|
|
261
|
+
throw new Error('Invalid content type');
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
return `User:\n${items.join('\n')}`;
|
|
265
|
+
}
|
|
266
|
+
case 'assistant': {
|
|
267
|
+
if (msg.functionCalls) {
|
|
268
|
+
const fns = msg.functionCalls?.map(({ function: fn }) => {
|
|
269
|
+
const args = typeof fn.arguments !== 'string'
|
|
270
|
+
? JSON.stringify(fn.arguments, null, 2)
|
|
271
|
+
: fn.arguments;
|
|
272
|
+
return `${fn.name}(${args})`;
|
|
273
|
+
});
|
|
274
|
+
return `Functions:\n${colorLog.whiteBright(fns.join('\n'))}`;
|
|
275
|
+
}
|
|
276
|
+
return `Assistant:\n${colorLog.whiteBright(msg.content ?? '<empty>')}`;
|
|
277
|
+
}
|
|
278
|
+
default:
|
|
279
|
+
throw new Error('Invalid role');
|
|
261
280
|
}
|
|
262
|
-
})
|
|
263
|
-
.join('\n');
|
|
281
|
+
});
|
|
264
282
|
if (items) {
|
|
265
|
-
console.log('==========');
|
|
266
|
-
console.log(
|
|
283
|
+
console.log('\n==========');
|
|
284
|
+
console.log(items.join('\n'));
|
|
267
285
|
}
|
|
268
286
|
};
|
|
269
287
|
const logResponse = (resp) => {
|
|
@@ -273,8 +291,10 @@ const logResponse = (resp) => {
|
|
|
273
291
|
}
|
|
274
292
|
if (r.functionCalls) {
|
|
275
293
|
for (const f of r.functionCalls) {
|
|
276
|
-
const
|
|
277
|
-
|
|
294
|
+
const args = typeof f.function.arguments !== 'string'
|
|
295
|
+
? JSON.stringify(f.function.arguments, null, 2)
|
|
296
|
+
: f.function.arguments;
|
|
297
|
+
console.log(colorLog.yellow(`${f.function.name}(${args})`));
|
|
278
298
|
}
|
|
279
299
|
}
|
|
280
300
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/ai/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAY,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAgB3D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAYhC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAkB,EAAE,CACvD,eAAe,CAAC;IACd,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,EAAE;IACR,gBAAgB,EAAE,GAAG;CACtB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAkB,EAAE,CAC/D,eAAe,CAAC;IACd,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,GAAG;IAChB,IAAI,EAAE,GAAG;IACT,gBAAgB,EAAE,GAAG;IACrB,eAAe,EAAE,GAAG;CACrB,CAAC,CAAC;AAEL,MAAM,OAAO,QAAQ;IAQnB,eAAe,CAGU;IACzB,gBAAgB,CAA2D;IAC3E,gBAAgB,CAAqD;IACrE,sBAAsB,CAGF;IACpB,iBAAiB,CAAuD;IAEhE,KAAK,GAAG,KAAK,CAAC;IAEd,EAAE,CAAqC;IACvC,KAAK,CAA+B;IACpC,MAAM,CAAgC;IAEpC,MAAM,CAAS;IACf,IAAI,CAAS;IACb,OAAO,CAAyB;IAChC,SAAS,CAAc;IACvB,cAAc,CAAe;IAC7B,UAAU,CAA6B;IAEjD,YAAY,EACV,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,OAAO,GAAG,EAAE,EACZ,UAAU,EACa;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE7B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAClE,IAAI,EAAE,MAAM,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK;YACf,oBAAoB,EAAE,CAAC;YACvB,wBAAwB,EAAE,CAAC;SAC5B,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,SAAS;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,CAAC;aAC3C,EAAE,CAAC,CAAC,CAAC,CAAC;QAET,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAEM,OAAO,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,UAAU,CAAC,OAA+B;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,OAAqC;QAC9C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;QAChC,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;YACjD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAA6B,EAC7B,OAA+D;QAE/D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACjC,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,eAAe,CACvC,cAAc,EACd;gBACE,IAAI,EAAE,UAAU,CAAC,MAAM;gBACvB,UAAU,EAAE;oBACV,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI;oBACxC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;oBACzD,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC,SAAS;oBACvD,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC,WAAW;oBAC1D,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,IAAI;oBAC7C,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,IAAI;oBAC7C,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,EAC9C,EAAE,CAAC,gBAAgB;oBACrB,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC,eAAe;oBACnE,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAC3C,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;oBAC9B,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC,MAAM;oBAC1D,kDAAkD;oBAClD,4BAA4B;oBAC5B,gBAAgB;iBACjB;aACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;gBACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAClD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,GAAG,CAAC;YACb,CAAC,CACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAA6B,EAC7B,OAA+D,EAC/D,IAAa;QAEb,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;QAC3D,MAAM,SAAS,GACb,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,MAAM,GAAG,GAAG;YACV,GAAG,IAAI;YACP,SAAS;YACT,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE;SAClB,CAAC;QAE7B,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;YACpB,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,OAA2B,CAAC,CAAC;YAEtE,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB;gBACE,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM;gBAChB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7C,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI;aACL,EACD,QAAQ,CACT,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAEpD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC;YAC3C,MAAM,aAAa,GACjB,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,IAAkC,EAAE,EAAE;gBACxD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChC,GAAG,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;gBAEnC,IAAI,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;oBACxB,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;YAEJ,6DAA6D;YAC7D,MAAM,MAAM,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;gBAC1D,4CAA4C;gBAC5C,+BAA+B;gBAC/B,kCAAkC;gBAClC,MAAM;gBACN,iBAAiB;gBAEjB,sBAAsB;gBACtB,wBAAwB;gBACxB,MAAM;gBACN,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,EAAE,GAAI,EAAyC,CAAC,WAAW,CAC/D,IAAI,mBAAmB,CACrB,aAAa,CAAC,EAAE,CAAC,EACjB,MAAM,CACP,CACF,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAmB,CAAC,CAAC;QACvD,GAAG,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QAEnC,IAAI,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;YACxB,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAA6B,EAC7B,OAA4C;QAE5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,eAAe,CACvC,eAAe,EACf;gBACE,IAAI,EAAE,UAAU,CAAC,MAAM;gBACvB,UAAU,EAAE;oBACV,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI;oBACxC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;iBAC1D;aACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;gBACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAClD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,GAAG,CAAC;YACb,CAAC,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAA6B,EAC7B,OAA4C,EAC5C,IAAa;QAEb,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;YACpB,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,gBAAiB,CAAC,GAAG,CAAC,CAAC;YAE1D,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB;gBACE,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM;gBAChB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI;aACL,EACD,QAAQ,CACT,CAAC;YAEF,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAkB,CAAC,QAA0B,CAAC,CAAC;QAEhE,GAAG,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QAEnC,IAAI,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnB,IAAI,CAAC,aAAa,CAAC;oBACjB,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,EAC5C,GAAG,CAAC,UAAU,CAAC,gBAAgB,IAAI,CAAC;oBACtC,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EACxC,GAAG,CAAC,UAAU,CAAC,YAAY;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,YAAY,CAClB,UAAkC,EAAE;QAEpC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;CACF;AAED,MAAM,cAAc,GAAG,CAAC,GAA4B,EAAE,EAAE;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU;QAC1B,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAA8B,EAAE,EAAE;IACrD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAA8B,EAAE,EAAE;IAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAChC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAmB,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,GAA6B,EAAE,IAAY,EAAE,EAAE;IACtE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,EAC5C,GAAG,CAAC,UAAU,CAAC,gBAAgB,IAAI,CAAC;YACtC,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,YAAY;SACxE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/ai/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare const axAICohereCreativeConfig: () => AxAICohereConfig;
|
|
|
7
7
|
export interface AxAICohereArgs {
|
|
8
8
|
name: 'cohere';
|
|
9
9
|
apiKey: string;
|
|
10
|
-
config
|
|
10
|
+
config?: Readonly<AxAICohereConfig>;
|
|
11
11
|
options?: Readonly<AxAIServiceOptions>;
|
|
12
12
|
}
|
|
13
13
|
export declare class AxAICohere extends AxBaseAI<AxAICohereChatRequest, AxAICohereEmbedRequest, AxAICohereChatResponse, AxAICohereChatResponseDelta, AxAICohereEmbedResponse> {
|
|
@@ -2,7 +2,7 @@ import { AxBaseAI, axBaseAIDefaultConfig, axBaseAIDefaultCreativeConfig } from '
|
|
|
2
2
|
import { axModelInfoCohere } from './info.js';
|
|
3
3
|
import { AxAICohereEmbedModel, AxAICohereModel } from './types.js';
|
|
4
4
|
export const axAICohereDefaultConfig = () => structuredClone({
|
|
5
|
-
model: AxAICohereModel.
|
|
5
|
+
model: AxAICohereModel.CommandRPlus,
|
|
6
6
|
embedModel: AxAICohereEmbedModel.EmbedEnglishV30,
|
|
7
7
|
...axBaseAIDefaultConfig()
|
|
8
8
|
});
|
|
@@ -27,7 +27,7 @@ export class AxAICohere extends AxBaseAI {
|
|
|
27
27
|
headers: { Authorization: `Bearer ${apiKey}` },
|
|
28
28
|
modelInfo: axModelInfoCohere,
|
|
29
29
|
models: { model: _config.model },
|
|
30
|
-
supportFor: { functions:
|
|
30
|
+
supportFor: { functions: true, streaming: true },
|
|
31
31
|
options
|
|
32
32
|
});
|
|
33
33
|
this.config = _config;
|
|
@@ -51,34 +51,13 @@ export class AxAICohere extends AxBaseAI {
|
|
|
51
51
|
const model = req.model ?? this.config.model;
|
|
52
52
|
const lastChatMsg = req.chatPrompt.at(-1);
|
|
53
53
|
const restOfChat = req.chatPrompt.slice(0, -1);
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
let message;
|
|
55
|
+
if (lastChatMsg &&
|
|
56
|
+
lastChatMsg.role === 'user' &&
|
|
57
|
+
typeof lastChatMsg.content === 'string') {
|
|
58
|
+
message = lastChatMsg?.content;
|
|
56
59
|
}
|
|
57
|
-
const
|
|
58
|
-
const chatHistory = restOfChat.map((chat) => {
|
|
59
|
-
if (chat.role === 'function') {
|
|
60
|
-
throw new Error('Function calling not supported');
|
|
61
|
-
}
|
|
62
|
-
if (Array.isArray(chat.content)) {
|
|
63
|
-
throw new Error('Multi-modal content not supported');
|
|
64
|
-
}
|
|
65
|
-
let role;
|
|
66
|
-
switch (chat.role) {
|
|
67
|
-
case 'user':
|
|
68
|
-
role = 'USER';
|
|
69
|
-
break;
|
|
70
|
-
case 'system':
|
|
71
|
-
role = 'SYSTEM';
|
|
72
|
-
break;
|
|
73
|
-
case 'assistant':
|
|
74
|
-
role = 'CHATBOT';
|
|
75
|
-
break;
|
|
76
|
-
default:
|
|
77
|
-
role = 'USER';
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
return { role, message: chat.content ?? '' };
|
|
81
|
-
});
|
|
60
|
+
const chatHistory = createHistory(restOfChat);
|
|
82
61
|
const tools = req.functions?.map((v) => {
|
|
83
62
|
const props = {};
|
|
84
63
|
if (v.parameters?.properties) {
|
|
@@ -102,21 +81,21 @@ export class AxAICohere extends AxBaseAI {
|
|
|
102
81
|
.map((chat) => {
|
|
103
82
|
const fn = tools?.find((t) => t.name === chat.functionId);
|
|
104
83
|
if (!fn) {
|
|
105
|
-
throw new Error('
|
|
84
|
+
throw new Error('Function not found');
|
|
106
85
|
}
|
|
107
86
|
return {
|
|
108
87
|
call: { name: fn.name, parameters: fn.parameter_definitions },
|
|
109
|
-
outputs: [{ result: chat.
|
|
88
|
+
outputs: [{ result: chat.result ?? '' }]
|
|
110
89
|
};
|
|
111
90
|
});
|
|
112
91
|
const apiConfig = {
|
|
113
|
-
name: '/v1/
|
|
92
|
+
name: '/v1/chat'
|
|
114
93
|
};
|
|
115
94
|
const reqValue = {
|
|
116
|
-
model,
|
|
117
95
|
message,
|
|
96
|
+
model,
|
|
118
97
|
tools,
|
|
119
|
-
tool_results,
|
|
98
|
+
...(tool_results && !message ? { tool_results } : {}),
|
|
120
99
|
chat_history: chatHistory,
|
|
121
100
|
max_tokens: req.modelConfig?.maxTokens ?? this.config.maxTokens,
|
|
122
101
|
temperature: req.modelConfig?.temperature ?? this.config.temperature,
|
|
@@ -149,6 +128,14 @@ export class AxAICohere extends AxBaseAI {
|
|
|
149
128
|
return [apiConfig, reqValue];
|
|
150
129
|
};
|
|
151
130
|
generateChatResp = (resp) => {
|
|
131
|
+
const modelUsage = resp.meta.billed_units
|
|
132
|
+
? {
|
|
133
|
+
promptTokens: resp.meta.billed_units.input_tokens,
|
|
134
|
+
completionTokens: resp.meta.billed_units.output_tokens,
|
|
135
|
+
totalTokens: resp.meta.billed_units.input_tokens +
|
|
136
|
+
resp.meta.billed_units.output_tokens
|
|
137
|
+
}
|
|
138
|
+
: undefined;
|
|
152
139
|
let finishReason;
|
|
153
140
|
if ('finish_reason' in resp) {
|
|
154
141
|
switch (resp.finish_reason) {
|
|
@@ -169,24 +156,26 @@ export class AxAICohere extends AxBaseAI {
|
|
|
169
156
|
}
|
|
170
157
|
let functionCalls;
|
|
171
158
|
if ('tool_calls' in resp) {
|
|
172
|
-
functionCalls =
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}) ?? [];
|
|
159
|
+
functionCalls = resp.tool_calls?.map((v) => {
|
|
160
|
+
return {
|
|
161
|
+
id: v.name,
|
|
162
|
+
type: 'function',
|
|
163
|
+
function: { name: v.name, arguments: v.parameters }
|
|
164
|
+
};
|
|
165
|
+
});
|
|
180
166
|
}
|
|
167
|
+
const results = [
|
|
168
|
+
{
|
|
169
|
+
id: resp.generation_id,
|
|
170
|
+
content: resp.text,
|
|
171
|
+
functionCalls,
|
|
172
|
+
finishReason
|
|
173
|
+
}
|
|
174
|
+
];
|
|
181
175
|
return {
|
|
182
|
-
results
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
content: resp.text,
|
|
186
|
-
functionCalls,
|
|
187
|
-
finishReason
|
|
188
|
-
}
|
|
189
|
-
]
|
|
176
|
+
results,
|
|
177
|
+
modelUsage,
|
|
178
|
+
remoteId: resp.response_id
|
|
190
179
|
};
|
|
191
180
|
};
|
|
192
181
|
generateChatStreamResp = (resp, state) => {
|
|
@@ -209,4 +198,67 @@ export class AxAICohere extends AxBaseAI {
|
|
|
209
198
|
};
|
|
210
199
|
};
|
|
211
200
|
}
|
|
201
|
+
function createHistory(chatPrompt) {
|
|
202
|
+
return chatPrompt.map((chat) => {
|
|
203
|
+
let message = '';
|
|
204
|
+
if (chat.role === 'system' ||
|
|
205
|
+
chat.role === 'assistant' ||
|
|
206
|
+
chat.role === 'user') {
|
|
207
|
+
if (typeof chat.content === 'string') {
|
|
208
|
+
message = chat.content;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
throw new Error('Multi-modal content not supported');
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
switch (chat.role) {
|
|
215
|
+
case 'user':
|
|
216
|
+
return { role: 'USER', message };
|
|
217
|
+
case 'system':
|
|
218
|
+
return { role: 'SYSTEM', message };
|
|
219
|
+
case 'assistant': {
|
|
220
|
+
const toolCalls = createToolCall(chat.functionCalls);
|
|
221
|
+
return {
|
|
222
|
+
role: 'CHATBOT',
|
|
223
|
+
message,
|
|
224
|
+
tool_calls: toolCalls
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
case 'function': {
|
|
228
|
+
const functionCalls = chatPrompt
|
|
229
|
+
.map((v) => {
|
|
230
|
+
if (v.role === 'assistant') {
|
|
231
|
+
return v.functionCalls?.find((f) => f.id === chat.functionId);
|
|
232
|
+
}
|
|
233
|
+
return undefined;
|
|
234
|
+
})
|
|
235
|
+
.filter((v) => v !== undefined);
|
|
236
|
+
const call = createToolCall(functionCalls)?.at(0);
|
|
237
|
+
if (!call) {
|
|
238
|
+
throw new Error('Function call not found');
|
|
239
|
+
}
|
|
240
|
+
const outputs = [{ result: chat.result }];
|
|
241
|
+
return {
|
|
242
|
+
role: 'TOOL',
|
|
243
|
+
tool_results: [
|
|
244
|
+
{
|
|
245
|
+
call,
|
|
246
|
+
outputs
|
|
247
|
+
}
|
|
248
|
+
]
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
default:
|
|
252
|
+
throw new Error('Unknown role');
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
function createToolCall(functionCalls) {
|
|
257
|
+
return functionCalls?.map((v) => {
|
|
258
|
+
const parameters = typeof v.function.arguments === 'string'
|
|
259
|
+
? JSON.parse(v.function.arguments)
|
|
260
|
+
: v.function.arguments;
|
|
261
|
+
return { name: v.function.name, parameters };
|
|
262
|
+
});
|
|
263
|
+
}
|
|
212
264
|
//# sourceMappingURL=api.js.map
|