Skip to content

Commit 8711299

Browse files
authored
πŸ‘Œ IMPROVE: Tool call code refactor (#51)
* πŸ‘Œ IMPROVE: Refactor code * πŸ“¦ NEW: Add tool support to models
1 parent baae668 commit 8711299

File tree

5 files changed

+354
-62
lines changed

5 files changed

+354
-62
lines changed

β€Žpackages/baseai/src/data/models.ts

Lines changed: 139 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ interface Model {
9797
promptCost: number;
9898
completionCost: number;
9999
requestCost?: number;
100+
toolSupport?: {
101+
toolChoice: boolean;
102+
parallelToolCalls: boolean;
103+
};
100104
}
101105

102106
interface ModelsByProviderInclCosts {
@@ -109,105 +113,173 @@ export const modelsByProvider: ModelsByProviderInclCosts = {
109113
id: 'gpt-4o',
110114
provider: OPEN_AI,
111115
promptCost: 5.0,
112-
completionCost: 15.0
116+
completionCost: 15.0,
117+
toolSupport: {
118+
toolChoice: true,
119+
parallelToolCalls: true
120+
}
113121
},
114122
{
115123
id: 'gpt-4o-2024-08-06',
116124
provider: OPEN_AI,
117125
promptCost: 2.5,
118-
completionCost: 10.0
126+
completionCost: 10.0,
127+
toolSupport: {
128+
toolChoice: true,
129+
parallelToolCalls: true
130+
}
119131
},
120132
{
121133
id: 'gpt-4o-mini',
122134
provider: OPEN_AI,
123135
promptCost: 0.15,
124-
completionCost: 0.6
136+
completionCost: 0.6,
137+
toolSupport: {
138+
toolChoice: true,
139+
parallelToolCalls: true
140+
}
125141
},
126142
{
127143
id: 'gpt-4-turbo',
128144
provider: OPEN_AI,
129145
promptCost: 10.0,
130-
completionCost: 30.0
146+
completionCost: 30.0,
147+
toolSupport: {
148+
toolChoice: true,
149+
parallelToolCalls: true
150+
}
131151
},
132152
{
133153
id: 'gpt-4-turbo-preview',
134154
provider: OPEN_AI,
135155
promptCost: 10.0,
136-
completionCost: 30.0
156+
completionCost: 30.0,
157+
toolSupport: {
158+
toolChoice: true,
159+
parallelToolCalls: true
160+
}
137161
},
138162
{
139163
id: 'gpt-4-0125-preview',
140164
provider: OPEN_AI,
141165
promptCost: 10.0,
142-
completionCost: 30.0
166+
completionCost: 30.0,
167+
toolSupport: {
168+
toolChoice: true,
169+
parallelToolCalls: true
170+
}
143171
},
144172
{
145173
id: 'gpt-4-1106-preview',
146174
provider: OPEN_AI,
147175
promptCost: 10.0,
148-
completionCost: 30.0
176+
completionCost: 30.0,
177+
toolSupport: {
178+
toolChoice: true,
179+
parallelToolCalls: true
180+
}
149181
},
150182
{
151183
id: 'gpt-4',
152184
provider: OPEN_AI,
153185
promptCost: 30.0,
154-
completionCost: 60.0
186+
completionCost: 60.0,
187+
toolSupport: {
188+
toolChoice: true,
189+
parallelToolCalls: true
190+
}
155191
},
156192
{
157193
id: 'gpt-4-0613',
158194
provider: OPEN_AI,
159195
promptCost: 30.0,
160-
completionCost: 60.0
196+
completionCost: 60.0,
197+
toolSupport: {
198+
toolChoice: true,
199+
parallelToolCalls: true
200+
}
161201
},
162202
{
163203
id: 'gpt-4-32k',
164204
provider: OPEN_AI,
165205
promptCost: 60.0,
166-
completionCost: 120.0
206+
completionCost: 120.0,
207+
toolSupport: {
208+
toolChoice: true,
209+
parallelToolCalls: true
210+
}
167211
},
168212
{
169213
id: 'gpt-3.5-turbo',
170214
provider: OPEN_AI,
171215
promptCost: 0.5,
172-
completionCost: 1.5
216+
completionCost: 1.5,
217+
toolSupport: {
218+
toolChoice: true,
219+
parallelToolCalls: true
220+
}
173221
},
174222
{
175223
id: 'gpt-3.5-turbo-0125',
176224
provider: OPEN_AI,
177225
promptCost: 0.5,
178-
completionCost: 1.5
226+
completionCost: 1.5,
227+
toolSupport: {
228+
toolChoice: true,
229+
parallelToolCalls: true
230+
}
179231
},
180232
{
181233
id: 'gpt-3.5-turbo-1106',
182234
provider: OPEN_AI,
183235
promptCost: 1.0,
184-
completionCost: 2.0
236+
completionCost: 2.0,
237+
toolSupport: {
238+
toolChoice: true,
239+
parallelToolCalls: true
240+
}
185241
},
186242
{
187243
id: 'gpt-3.5-turbo-16k',
188244
provider: OPEN_AI,
189245
promptCost: 3.0,
190-
completionCost: 4.0
246+
completionCost: 4.0,
247+
toolSupport: {
248+
toolChoice: true,
249+
parallelToolCalls: true
250+
}
191251
}
192252
],
193253
[TOGETHER_AI]: [
194254
{
195255
id: 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo',
196256
provider: TOGETHER_AI,
197257
promptCost: 5,
198-
completionCost: 5
258+
completionCost: 5,
259+
toolSupport: {
260+
toolChoice: true,
261+
parallelToolCalls: false
262+
}
199263
},
200264
{
201265
id: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo',
202266
provider: TOGETHER_AI,
203267
promptCost: 0.88,
204-
completionCost: 0.88
268+
completionCost: 0.88,
269+
toolSupport: {
270+
toolChoice: true,
271+
parallelToolCalls: false
272+
}
205273
},
206274
{
207275
id: 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo',
208276
provider: TOGETHER_AI,
209277
promptCost: 0.18,
210-
completionCost: 0.18
278+
completionCost: 0.18,
279+
toolSupport: {
280+
toolChoice: true,
281+
parallelToolCalls: false
282+
}
211283
},
212284
{
213285
id: 'meta-llama/Llama-3-70b-chat-hf',
@@ -255,7 +327,11 @@ export const modelsByProvider: ModelsByProviderInclCosts = {
255327
id: 'mistralai/Mistral-7B-Instruct-v0.1',
256328
provider: TOGETHER_AI,
257329
promptCost: 0.2,
258-
completionCost: 0.2
330+
completionCost: 0.2,
331+
toolSupport: {
332+
toolChoice: true,
333+
parallelToolCalls: false
334+
}
259335
},
260336
{
261337
id: 'mistralai/Mistral-7B-Instruct-v0.2',
@@ -267,7 +343,11 @@ export const modelsByProvider: ModelsByProviderInclCosts = {
267343
id: 'mistralai/Mixtral-8x7B-Instruct-v0.1',
268344
provider: TOGETHER_AI,
269345
promptCost: 0.6,
270-
completionCost: 0.6
346+
completionCost: 0.6,
347+
toolSupport: {
348+
toolChoice: true,
349+
parallelToolCalls: false
350+
}
271351
},
272352
{
273353
id: 'mistralai/Mixtral-8x22B-Instruct-v0.1',
@@ -287,25 +367,41 @@ export const modelsByProvider: ModelsByProviderInclCosts = {
287367
id: 'claude-3-5-sonnet-20240620',
288368
provider: ANTHROPIC,
289369
promptCost: 3,
290-
completionCost: 15
370+
completionCost: 15,
371+
toolSupport: {
372+
toolChoice: true,
373+
parallelToolCalls: true
374+
}
291375
},
292376
{
293377
id: 'claude-3-opus-20240229',
294378
provider: ANTHROPIC,
295379
promptCost: 15,
296-
completionCost: 75
380+
completionCost: 75,
381+
toolSupport: {
382+
toolChoice: true,
383+
parallelToolCalls: true
384+
}
297385
},
298386
{
299387
id: 'claude-3-sonnet-20240229',
300388
provider: ANTHROPIC,
301389
promptCost: 3,
302-
completionCost: 15
390+
completionCost: 15,
391+
toolSupport: {
392+
toolChoice: true,
393+
parallelToolCalls: true
394+
}
303395
},
304396
{
305397
id: 'claude-3-haiku-20240307',
306398
provider: ANTHROPIC,
307399
promptCost: 0.25,
308-
completionCost: 1.25
400+
completionCost: 1.25,
401+
toolSupport: {
402+
toolChoice: true,
403+
parallelToolCalls: true
404+
}
309405
}
310406
],
311407
[GROQ]: [
@@ -357,25 +453,41 @@ export const modelsByProvider: ModelsByProviderInclCosts = {
357453
id: 'gemini-1.5-pro-latest',
358454
provider: GOOGLE,
359455
promptCost: 3.5,
360-
completionCost: 10.5
456+
completionCost: 10.5,
457+
toolSupport: {
458+
toolChoice: true,
459+
parallelToolCalls: true
460+
}
361461
},
362462
{
363463
id: 'gemini-1.5-flash-latest',
364464
provider: GOOGLE,
365465
promptCost: 0.075,
366-
completionCost: 0.3
466+
completionCost: 0.3,
467+
toolSupport: {
468+
toolChoice: true,
469+
parallelToolCalls: true
470+
}
367471
},
368472
{
369473
id: 'gemini-1.5-flash-8b-latest',
370474
provider: GOOGLE,
371475
promptCost: 0.0375,
372-
completionCost: 0.15
476+
completionCost: 0.15,
477+
toolSupport: {
478+
toolChoice: true,
479+
parallelToolCalls: true
480+
}
373481
},
374482
{
375483
id: 'gemini-pro',
376484
provider: GOOGLE,
377485
promptCost: 0.5,
378-
completionCost: 1.5
486+
completionCost: 1.5,
487+
toolSupport: {
488+
toolChoice: false,
489+
parallelToolCalls: false
490+
}
379491
}
380492
],
381493
[COHERE]: [

0 commit comments

Comments
Β (0)