@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.
@@ -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.Claude3Haiku,
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 ? { tools } : {}),
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
- type: 'function',
77
- function: {
78
- name: msg.name,
79
- arguments: msg.input
80
- },
81
- content: '',
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
- return req.chatPrompt.map((msg) => {
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
- text: msg.content,
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
- return { role: 'assistant', content: msg.content };
252
+ content = msg.content;
235
253
  }
236
254
  if (typeof msg.functionCalls !== 'undefined') {
237
- const content = msg.functionCalls.map((v) => {
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
- throw new Error('Invalid content type');
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":"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"}
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
- text: string;
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
- id?: string;
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
- ?.map(({ content }) => {
256
- if (typeof content === 'string') {
257
- return content;
258
- }
259
- else {
260
- return JSON.stringify(content, null, 2);
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(colorLog.whiteBright(items));
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 msg = `${f.function.name}(${f.function.arguments})`;
277
- console.log(colorLog.yellow(JSON.stringify(msg)));
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":"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"}
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: Readonly<AxAICohereConfig>;
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.Command,
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: false, streaming: true },
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
- if (Array.isArray(lastChatMsg?.content)) {
55
- throw new Error('Chat prompt is empty');
54
+ let message;
55
+ if (lastChatMsg &&
56
+ lastChatMsg.role === 'user' &&
57
+ typeof lastChatMsg.content === 'string') {
58
+ message = lastChatMsg?.content;
56
59
  }
57
- const message = lastChatMsg?.content ?? '';
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('AxFunction not found');
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.content ?? '' }]
88
+ outputs: [{ result: chat.result ?? '' }]
110
89
  };
111
90
  });
112
91
  const apiConfig = {
113
- name: '/v1/generate'
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
- resp.tool_calls?.map((v) => {
174
- return {
175
- id: v.name,
176
- type: 'function',
177
- function: { name: v.name, args: v.parameters }
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
- id: resp.generation_id,
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