llm.rb 4.9.0 → 4.11.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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +152 -0
  3. data/README.md +178 -31
  4. data/data/anthropic.json +209 -242
  5. data/data/deepseek.json +15 -15
  6. data/data/google.json +553 -403
  7. data/data/openai.json +740 -535
  8. data/data/xai.json +250 -253
  9. data/data/zai.json +157 -90
  10. data/lib/llm/context/deserializer.rb +2 -1
  11. data/lib/llm/context.rb +58 -2
  12. data/lib/llm/contract/completion.rb +7 -0
  13. data/lib/llm/error.rb +4 -0
  14. data/lib/llm/eventhandler.rb +7 -0
  15. data/lib/llm/function/registry.rb +106 -0
  16. data/lib/llm/function/task.rb +39 -0
  17. data/lib/llm/function.rb +12 -7
  18. data/lib/llm/mcp/transport/http/event_handler.rb +66 -0
  19. data/lib/llm/mcp/transport/http.rb +156 -0
  20. data/lib/llm/mcp/transport/stdio.rb +7 -0
  21. data/lib/llm/mcp.rb +74 -30
  22. data/lib/llm/message.rb +9 -2
  23. data/lib/llm/provider.rb +10 -0
  24. data/lib/llm/providers/anthropic/response_adapter/completion.rb +6 -0
  25. data/lib/llm/providers/anthropic/stream_parser.rb +37 -4
  26. data/lib/llm/providers/anthropic.rb +1 -1
  27. data/lib/llm/providers/google/response_adapter/completion.rb +12 -5
  28. data/lib/llm/providers/google/stream_parser.rb +54 -11
  29. data/lib/llm/providers/google/utils.rb +30 -0
  30. data/lib/llm/providers/google.rb +2 -0
  31. data/lib/llm/providers/ollama/response_adapter/completion.rb +6 -0
  32. data/lib/llm/providers/ollama/stream_parser.rb +10 -4
  33. data/lib/llm/providers/ollama.rb +1 -1
  34. data/lib/llm/providers/openai/response_adapter/completion.rb +7 -0
  35. data/lib/llm/providers/openai/response_adapter/responds.rb +84 -10
  36. data/lib/llm/providers/openai/responses/stream_parser.rb +63 -4
  37. data/lib/llm/providers/openai/responses.rb +1 -1
  38. data/lib/llm/providers/openai/stream_parser.rb +68 -4
  39. data/lib/llm/providers/openai.rb +1 -1
  40. data/lib/llm/schema/all_of.rb +31 -0
  41. data/lib/llm/schema/any_of.rb +31 -0
  42. data/lib/llm/schema/one_of.rb +31 -0
  43. data/lib/llm/schema/parser.rb +36 -0
  44. data/lib/llm/schema.rb +45 -8
  45. data/lib/llm/stream/queue.rb +51 -0
  46. data/lib/llm/stream.rb +102 -0
  47. data/lib/llm/tool.rb +53 -47
  48. data/lib/llm/version.rb +1 -1
  49. data/lib/llm.rb +3 -2
  50. data/llm.gemspec +2 -2
  51. metadata +12 -1
data/data/anthropic.json CHANGED
@@ -40,17 +40,17 @@
40
40
  "output": 64000
41
41
  }
42
42
  },
43
- "claude-3-5-haiku-latest": {
44
- "id": "claude-3-5-haiku-latest",
45
- "name": "Claude Haiku 3.5 (latest)",
46
- "family": "claude-haiku",
43
+ "claude-opus-4-20250514": {
44
+ "id": "claude-opus-4-20250514",
45
+ "name": "Claude Opus 4",
46
+ "family": "claude-opus",
47
47
  "attachment": true,
48
- "reasoning": false,
48
+ "reasoning": true,
49
49
  "tool_call": true,
50
50
  "temperature": true,
51
- "knowledge": "2024-07-31",
52
- "release_date": "2024-10-22",
53
- "last_updated": "2024-10-22",
51
+ "knowledge": "2025-03-31",
52
+ "release_date": "2025-05-22",
53
+ "last_updated": "2025-05-22",
54
54
  "modalities": {
55
55
  "input": [
56
56
  "text",
@@ -63,27 +63,27 @@
63
63
  },
64
64
  "open_weights": false,
65
65
  "cost": {
66
- "input": 0.8,
67
- "output": 4,
68
- "cache_read": 0.08,
69
- "cache_write": 1
66
+ "input": 15,
67
+ "output": 75,
68
+ "cache_read": 1.5,
69
+ "cache_write": 18.75
70
70
  },
71
71
  "limit": {
72
72
  "context": 200000,
73
- "output": 8192
73
+ "output": 32000
74
74
  }
75
75
  },
76
- "claude-opus-4-1": {
77
- "id": "claude-opus-4-1",
78
- "name": "Claude Opus 4.1 (latest)",
76
+ "claude-opus-4-5": {
77
+ "id": "claude-opus-4-5",
78
+ "name": "Claude Opus 4.5 (latest)",
79
79
  "family": "claude-opus",
80
80
  "attachment": true,
81
81
  "reasoning": true,
82
82
  "tool_call": true,
83
83
  "temperature": true,
84
84
  "knowledge": "2025-03-31",
85
- "release_date": "2025-08-05",
86
- "last_updated": "2025-08-05",
85
+ "release_date": "2025-11-24",
86
+ "last_updated": "2025-11-24",
87
87
  "modalities": {
88
88
  "input": [
89
89
  "text",
@@ -96,27 +96,27 @@
96
96
  },
97
97
  "open_weights": false,
98
98
  "cost": {
99
- "input": 15,
100
- "output": 75,
101
- "cache_read": 1.5,
102
- "cache_write": 18.75
99
+ "input": 5,
100
+ "output": 25,
101
+ "cache_read": 0.5,
102
+ "cache_write": 6.25
103
103
  },
104
104
  "limit": {
105
105
  "context": 200000,
106
- "output": 32000
106
+ "output": 64000
107
107
  }
108
108
  },
109
- "claude-3-5-sonnet-20241022": {
110
- "id": "claude-3-5-sonnet-20241022",
111
- "name": "Claude Sonnet 3.5 v2",
109
+ "claude-3-7-sonnet-20250219": {
110
+ "id": "claude-3-7-sonnet-20250219",
111
+ "name": "Claude Sonnet 3.7",
112
112
  "family": "claude-sonnet",
113
113
  "attachment": true,
114
- "reasoning": false,
114
+ "reasoning": true,
115
115
  "tool_call": true,
116
116
  "temperature": true,
117
- "knowledge": "2024-04-30",
118
- "release_date": "2024-10-22",
119
- "last_updated": "2024-10-22",
117
+ "knowledge": "2024-10-31",
118
+ "release_date": "2025-02-19",
119
+ "last_updated": "2025-02-19",
120
120
  "modalities": {
121
121
  "input": [
122
122
  "text",
@@ -136,20 +136,20 @@
136
136
  },
137
137
  "limit": {
138
138
  "context": 200000,
139
- "output": 8192
139
+ "output": 64000
140
140
  }
141
141
  },
142
- "claude-3-sonnet-20240229": {
143
- "id": "claude-3-sonnet-20240229",
144
- "name": "Claude Sonnet 3",
145
- "family": "claude-sonnet",
142
+ "claude-opus-4-6": {
143
+ "id": "claude-opus-4-6",
144
+ "name": "Claude Opus 4.6",
145
+ "family": "claude-opus",
146
146
  "attachment": true,
147
- "reasoning": false,
147
+ "reasoning": true,
148
148
  "tool_call": true,
149
149
  "temperature": true,
150
- "knowledge": "2023-08-31",
151
- "release_date": "2024-03-04",
152
- "last_updated": "2024-03-04",
150
+ "knowledge": "2025-05",
151
+ "release_date": "2026-02-05",
152
+ "last_updated": "2026-03-13",
153
153
  "modalities": {
154
154
  "input": [
155
155
  "text",
@@ -162,27 +162,27 @@
162
162
  },
163
163
  "open_weights": false,
164
164
  "cost": {
165
- "input": 3,
166
- "output": 15,
167
- "cache_read": 0.3,
168
- "cache_write": 0.3
165
+ "input": 5,
166
+ "output": 25,
167
+ "cache_read": 0.5,
168
+ "cache_write": 6.25
169
169
  },
170
170
  "limit": {
171
- "context": 200000,
172
- "output": 4096
171
+ "context": 1000000,
172
+ "output": 128000
173
173
  }
174
174
  },
175
- "claude-opus-4-6": {
176
- "id": "claude-opus-4-6",
177
- "name": "Claude Opus 4.6",
178
- "family": "claude-opus",
175
+ "claude-sonnet-4-5-20250929": {
176
+ "id": "claude-sonnet-4-5-20250929",
177
+ "name": "Claude Sonnet 4.5",
178
+ "family": "claude-sonnet",
179
179
  "attachment": true,
180
180
  "reasoning": true,
181
181
  "tool_call": true,
182
182
  "temperature": true,
183
- "knowledge": "2025-05",
184
- "release_date": "2026-02-05",
185
- "last_updated": "2026-03-13",
183
+ "knowledge": "2025-07-31",
184
+ "release_date": "2025-09-29",
185
+ "last_updated": "2025-09-29",
186
186
  "modalities": {
187
187
  "input": [
188
188
  "text",
@@ -195,14 +195,14 @@
195
195
  },
196
196
  "open_weights": false,
197
197
  "cost": {
198
- "input": 5,
199
- "output": 25,
200
- "cache_read": 0.5,
201
- "cache_write": 6.25
198
+ "input": 3,
199
+ "output": 15,
200
+ "cache_read": 0.3,
201
+ "cache_write": 3.75
202
202
  },
203
203
  "limit": {
204
- "context": 1000000,
205
- "output": 128000
204
+ "context": 200000,
205
+ "output": 64000
206
206
  }
207
207
  },
208
208
  "claude-sonnet-4-6": {
@@ -238,6 +238,39 @@
238
238
  "output": 64000
239
239
  }
240
240
  },
241
+ "claude-3-5-haiku-20241022": {
242
+ "id": "claude-3-5-haiku-20241022",
243
+ "name": "Claude Haiku 3.5",
244
+ "family": "claude-haiku",
245
+ "attachment": true,
246
+ "reasoning": false,
247
+ "tool_call": true,
248
+ "temperature": true,
249
+ "knowledge": "2024-07-31",
250
+ "release_date": "2024-10-22",
251
+ "last_updated": "2024-10-22",
252
+ "modalities": {
253
+ "input": [
254
+ "text",
255
+ "image",
256
+ "pdf"
257
+ ],
258
+ "output": [
259
+ "text"
260
+ ]
261
+ },
262
+ "open_weights": false,
263
+ "cost": {
264
+ "input": 0.8,
265
+ "output": 4,
266
+ "cache_read": 0.08,
267
+ "cache_write": 1
268
+ },
269
+ "limit": {
270
+ "context": 200000,
271
+ "output": 8192
272
+ }
273
+ },
241
274
  "claude-sonnet-4-0": {
242
275
  "id": "claude-sonnet-4-0",
243
276
  "name": "Claude Sonnet 4 (latest)",
@@ -271,17 +304,17 @@
271
304
  "output": 64000
272
305
  }
273
306
  },
274
- "claude-opus-4-20250514": {
275
- "id": "claude-opus-4-20250514",
276
- "name": "Claude Opus 4",
277
- "family": "claude-opus",
307
+ "claude-3-haiku-20240307": {
308
+ "id": "claude-3-haiku-20240307",
309
+ "name": "Claude Haiku 3",
310
+ "family": "claude-haiku",
278
311
  "attachment": true,
279
- "reasoning": true,
312
+ "reasoning": false,
280
313
  "tool_call": true,
281
314
  "temperature": true,
282
- "knowledge": "2025-03-31",
283
- "release_date": "2025-05-22",
284
- "last_updated": "2025-05-22",
315
+ "knowledge": "2023-08-31",
316
+ "release_date": "2024-03-13",
317
+ "last_updated": "2024-03-13",
285
318
  "modalities": {
286
319
  "input": [
287
320
  "text",
@@ -294,27 +327,27 @@
294
327
  },
295
328
  "open_weights": false,
296
329
  "cost": {
297
- "input": 15,
298
- "output": 75,
299
- "cache_read": 1.5,
300
- "cache_write": 18.75
330
+ "input": 0.25,
331
+ "output": 1.25,
332
+ "cache_read": 0.03,
333
+ "cache_write": 0.3
301
334
  },
302
335
  "limit": {
303
336
  "context": 200000,
304
- "output": 32000
337
+ "output": 4096
305
338
  }
306
339
  },
307
- "claude-sonnet-4-5-20250929": {
308
- "id": "claude-sonnet-4-5-20250929",
309
- "name": "Claude Sonnet 4.5",
340
+ "claude-sonnet-4-20250514": {
341
+ "id": "claude-sonnet-4-20250514",
342
+ "name": "Claude Sonnet 4",
310
343
  "family": "claude-sonnet",
311
344
  "attachment": true,
312
345
  "reasoning": true,
313
346
  "tool_call": true,
314
347
  "temperature": true,
315
- "knowledge": "2025-07-31",
316
- "release_date": "2025-09-29",
317
- "last_updated": "2025-09-29",
348
+ "knowledge": "2025-03-31",
349
+ "release_date": "2025-05-22",
350
+ "last_updated": "2025-05-22",
318
351
  "modalities": {
319
352
  "input": [
320
353
  "text",
@@ -337,17 +370,17 @@
337
370
  "output": 64000
338
371
  }
339
372
  },
340
- "claude-opus-4-0": {
341
- "id": "claude-opus-4-0",
342
- "name": "Claude Opus 4 (latest)",
373
+ "claude-opus-4-1": {
374
+ "id": "claude-opus-4-1",
375
+ "name": "Claude Opus 4.1 (latest)",
343
376
  "family": "claude-opus",
344
377
  "attachment": true,
345
378
  "reasoning": true,
346
379
  "tool_call": true,
347
380
  "temperature": true,
348
381
  "knowledge": "2025-03-31",
349
- "release_date": "2025-05-22",
350
- "last_updated": "2025-05-22",
382
+ "release_date": "2025-08-05",
383
+ "last_updated": "2025-08-05",
351
384
  "modalities": {
352
385
  "input": [
353
386
  "text",
@@ -370,17 +403,17 @@
370
403
  "output": 32000
371
404
  }
372
405
  },
373
- "claude-3-5-haiku-20241022": {
374
- "id": "claude-3-5-haiku-20241022",
375
- "name": "Claude Haiku 3.5",
376
- "family": "claude-haiku",
406
+ "claude-3-opus-20240229": {
407
+ "id": "claude-3-opus-20240229",
408
+ "name": "Claude Opus 3",
409
+ "family": "claude-opus",
377
410
  "attachment": true,
378
411
  "reasoning": false,
379
412
  "tool_call": true,
380
413
  "temperature": true,
381
- "knowledge": "2024-07-31",
382
- "release_date": "2024-10-22",
383
- "last_updated": "2024-10-22",
414
+ "knowledge": "2023-08-31",
415
+ "release_date": "2024-02-29",
416
+ "last_updated": "2024-02-29",
384
417
  "modalities": {
385
418
  "input": [
386
419
  "text",
@@ -393,27 +426,27 @@
393
426
  },
394
427
  "open_weights": false,
395
428
  "cost": {
396
- "input": 0.8,
397
- "output": 4,
398
- "cache_read": 0.08,
399
- "cache_write": 1
429
+ "input": 15,
430
+ "output": 75,
431
+ "cache_read": 1.5,
432
+ "cache_write": 18.75
400
433
  },
401
434
  "limit": {
402
435
  "context": 200000,
403
- "output": 8192
436
+ "output": 4096
404
437
  }
405
438
  },
406
- "claude-3-5-sonnet-20240620": {
407
- "id": "claude-3-5-sonnet-20240620",
408
- "name": "Claude Sonnet 3.5",
409
- "family": "claude-sonnet",
439
+ "claude-3-5-haiku-latest": {
440
+ "id": "claude-3-5-haiku-latest",
441
+ "name": "Claude Haiku 3.5 (latest)",
442
+ "family": "claude-haiku",
410
443
  "attachment": true,
411
444
  "reasoning": false,
412
445
  "tool_call": true,
413
446
  "temperature": true,
414
- "knowledge": "2024-04-30",
415
- "release_date": "2024-06-20",
416
- "last_updated": "2024-06-20",
447
+ "knowledge": "2024-07-31",
448
+ "release_date": "2024-10-22",
449
+ "last_updated": "2024-10-22",
417
450
  "modalities": {
418
451
  "input": [
419
452
  "text",
@@ -426,27 +459,27 @@
426
459
  },
427
460
  "open_weights": false,
428
461
  "cost": {
429
- "input": 3,
430
- "output": 15,
431
- "cache_read": 0.3,
432
- "cache_write": 3.75
462
+ "input": 0.8,
463
+ "output": 4,
464
+ "cache_read": 0.08,
465
+ "cache_write": 1
433
466
  },
434
467
  "limit": {
435
468
  "context": 200000,
436
469
  "output": 8192
437
470
  }
438
471
  },
439
- "claude-3-7-sonnet-latest": {
440
- "id": "claude-3-7-sonnet-latest",
441
- "name": "Claude Sonnet 3.7 (latest)",
472
+ "claude-3-5-sonnet-20240620": {
473
+ "id": "claude-3-5-sonnet-20240620",
474
+ "name": "Claude Sonnet 3.5",
442
475
  "family": "claude-sonnet",
443
476
  "attachment": true,
444
- "reasoning": true,
477
+ "reasoning": false,
445
478
  "tool_call": true,
446
479
  "temperature": true,
447
- "knowledge": "2024-10-31",
448
- "release_date": "2025-02-19",
449
- "last_updated": "2025-02-19",
480
+ "knowledge": "2024-04-30",
481
+ "release_date": "2024-06-20",
482
+ "last_updated": "2024-06-20",
450
483
  "modalities": {
451
484
  "input": [
452
485
  "text",
@@ -466,20 +499,20 @@
466
499
  },
467
500
  "limit": {
468
501
  "context": 200000,
469
- "output": 64000
502
+ "output": 8192
470
503
  }
471
504
  },
472
- "claude-3-7-sonnet-20250219": {
473
- "id": "claude-3-7-sonnet-20250219",
474
- "name": "Claude Sonnet 3.7",
475
- "family": "claude-sonnet",
505
+ "claude-opus-4-1-20250805": {
506
+ "id": "claude-opus-4-1-20250805",
507
+ "name": "Claude Opus 4.1",
508
+ "family": "claude-opus",
476
509
  "attachment": true,
477
510
  "reasoning": true,
478
511
  "tool_call": true,
479
512
  "temperature": true,
480
- "knowledge": "2024-10-31",
481
- "release_date": "2025-02-19",
482
- "last_updated": "2025-02-19",
513
+ "knowledge": "2025-03-31",
514
+ "release_date": "2025-08-05",
515
+ "last_updated": "2025-08-05",
483
516
  "modalities": {
484
517
  "input": [
485
518
  "text",
@@ -492,27 +525,27 @@
492
525
  },
493
526
  "open_weights": false,
494
527
  "cost": {
495
- "input": 3,
496
- "output": 15,
497
- "cache_read": 0.3,
498
- "cache_write": 3.75
528
+ "input": 15,
529
+ "output": 75,
530
+ "cache_read": 1.5,
531
+ "cache_write": 18.75
499
532
  },
500
533
  "limit": {
501
534
  "context": 200000,
502
- "output": 64000
535
+ "output": 32000
503
536
  }
504
537
  },
505
- "claude-3-haiku-20240307": {
506
- "id": "claude-3-haiku-20240307",
507
- "name": "Claude Haiku 3",
508
- "family": "claude-haiku",
538
+ "claude-opus-4-0": {
539
+ "id": "claude-opus-4-0",
540
+ "name": "Claude Opus 4 (latest)",
541
+ "family": "claude-opus",
509
542
  "attachment": true,
510
- "reasoning": false,
543
+ "reasoning": true,
511
544
  "tool_call": true,
512
545
  "temperature": true,
513
- "knowledge": "2023-08-31",
514
- "release_date": "2024-03-13",
515
- "last_updated": "2024-03-13",
546
+ "knowledge": "2025-03-31",
547
+ "release_date": "2025-05-22",
548
+ "last_updated": "2025-05-22",
516
549
  "modalities": {
517
550
  "input": [
518
551
  "text",
@@ -525,14 +558,14 @@
525
558
  },
526
559
  "open_weights": false,
527
560
  "cost": {
528
- "input": 0.25,
529
- "output": 1.25,
530
- "cache_read": 0.03,
531
- "cache_write": 0.3
561
+ "input": 15,
562
+ "output": 75,
563
+ "cache_read": 1.5,
564
+ "cache_write": 18.75
532
565
  },
533
566
  "limit": {
534
567
  "context": 200000,
535
- "output": 4096
568
+ "output": 32000
536
569
  }
537
570
  },
538
571
  "claude-haiku-4-5-20251001": {
@@ -568,17 +601,17 @@
568
601
  "output": 64000
569
602
  }
570
603
  },
571
- "claude-haiku-4-5": {
572
- "id": "claude-haiku-4-5",
573
- "name": "Claude Haiku 4.5 (latest)",
574
- "family": "claude-haiku",
604
+ "claude-sonnet-4-5": {
605
+ "id": "claude-sonnet-4-5",
606
+ "name": "Claude Sonnet 4.5 (latest)",
607
+ "family": "claude-sonnet",
575
608
  "attachment": true,
576
609
  "reasoning": true,
577
610
  "tool_call": true,
578
611
  "temperature": true,
579
- "knowledge": "2025-02-28",
580
- "release_date": "2025-10-15",
581
- "last_updated": "2025-10-15",
612
+ "knowledge": "2025-07-31",
613
+ "release_date": "2025-09-29",
614
+ "last_updated": "2025-09-29",
582
615
  "modalities": {
583
616
  "input": [
584
617
  "text",
@@ -591,27 +624,27 @@
591
624
  },
592
625
  "open_weights": false,
593
626
  "cost": {
594
- "input": 1,
595
- "output": 5,
596
- "cache_read": 0.1,
597
- "cache_write": 1.25
627
+ "input": 3,
628
+ "output": 15,
629
+ "cache_read": 0.3,
630
+ "cache_write": 3.75
598
631
  },
599
632
  "limit": {
600
633
  "context": 200000,
601
634
  "output": 64000
602
635
  }
603
636
  },
604
- "claude-opus-4-5": {
605
- "id": "claude-opus-4-5",
606
- "name": "Claude Opus 4.5 (latest)",
607
- "family": "claude-opus",
637
+ "claude-haiku-4-5": {
638
+ "id": "claude-haiku-4-5",
639
+ "name": "Claude Haiku 4.5 (latest)",
640
+ "family": "claude-haiku",
608
641
  "attachment": true,
609
642
  "reasoning": true,
610
643
  "tool_call": true,
611
644
  "temperature": true,
612
- "knowledge": "2025-03-31",
613
- "release_date": "2025-11-24",
614
- "last_updated": "2025-11-24",
645
+ "knowledge": "2025-02-28",
646
+ "release_date": "2025-10-15",
647
+ "last_updated": "2025-10-15",
615
648
  "modalities": {
616
649
  "input": [
617
650
  "text",
@@ -624,60 +657,27 @@
624
657
  },
625
658
  "open_weights": false,
626
659
  "cost": {
627
- "input": 5,
628
- "output": 25,
629
- "cache_read": 0.5,
630
- "cache_write": 6.25
660
+ "input": 1,
661
+ "output": 5,
662
+ "cache_read": 0.1,
663
+ "cache_write": 1.25
631
664
  },
632
665
  "limit": {
633
666
  "context": 200000,
634
667
  "output": 64000
635
668
  }
636
669
  },
637
- "claude-3-opus-20240229": {
638
- "id": "claude-3-opus-20240229",
639
- "name": "Claude Opus 3",
640
- "family": "claude-opus",
670
+ "claude-3-sonnet-20240229": {
671
+ "id": "claude-3-sonnet-20240229",
672
+ "name": "Claude Sonnet 3",
673
+ "family": "claude-sonnet",
641
674
  "attachment": true,
642
675
  "reasoning": false,
643
676
  "tool_call": true,
644
677
  "temperature": true,
645
678
  "knowledge": "2023-08-31",
646
- "release_date": "2024-02-29",
647
- "last_updated": "2024-02-29",
648
- "modalities": {
649
- "input": [
650
- "text",
651
- "image",
652
- "pdf"
653
- ],
654
- "output": [
655
- "text"
656
- ]
657
- },
658
- "open_weights": false,
659
- "cost": {
660
- "input": 15,
661
- "output": 75,
662
- "cache_read": 1.5,
663
- "cache_write": 18.75
664
- },
665
- "limit": {
666
- "context": 200000,
667
- "output": 4096
668
- }
669
- },
670
- "claude-sonnet-4-5": {
671
- "id": "claude-sonnet-4-5",
672
- "name": "Claude Sonnet 4.5 (latest)",
673
- "family": "claude-sonnet",
674
- "attachment": true,
675
- "reasoning": true,
676
- "tool_call": true,
677
- "temperature": true,
678
- "knowledge": "2025-07-31",
679
- "release_date": "2025-09-29",
680
- "last_updated": "2025-09-29",
679
+ "release_date": "2024-03-04",
680
+ "last_updated": "2024-03-04",
681
681
  "modalities": {
682
682
  "input": [
683
683
  "text",
@@ -693,24 +693,24 @@
693
693
  "input": 3,
694
694
  "output": 15,
695
695
  "cache_read": 0.3,
696
- "cache_write": 3.75
696
+ "cache_write": 0.3
697
697
  },
698
698
  "limit": {
699
699
  "context": 200000,
700
- "output": 64000
700
+ "output": 4096
701
701
  }
702
702
  },
703
- "claude-sonnet-4-20250514": {
704
- "id": "claude-sonnet-4-20250514",
705
- "name": "Claude Sonnet 4",
703
+ "claude-3-5-sonnet-20241022": {
704
+ "id": "claude-3-5-sonnet-20241022",
705
+ "name": "Claude Sonnet 3.5 v2",
706
706
  "family": "claude-sonnet",
707
707
  "attachment": true,
708
- "reasoning": true,
708
+ "reasoning": false,
709
709
  "tool_call": true,
710
710
  "temperature": true,
711
- "knowledge": "2025-03-31",
712
- "release_date": "2025-05-22",
713
- "last_updated": "2025-05-22",
711
+ "knowledge": "2024-04-30",
712
+ "release_date": "2024-10-22",
713
+ "last_updated": "2024-10-22",
714
714
  "modalities": {
715
715
  "input": [
716
716
  "text",
@@ -730,40 +730,7 @@
730
730
  },
731
731
  "limit": {
732
732
  "context": 200000,
733
- "output": 64000
734
- }
735
- },
736
- "claude-opus-4-1-20250805": {
737
- "id": "claude-opus-4-1-20250805",
738
- "name": "Claude Opus 4.1",
739
- "family": "claude-opus",
740
- "attachment": true,
741
- "reasoning": true,
742
- "tool_call": true,
743
- "temperature": true,
744
- "knowledge": "2025-03-31",
745
- "release_date": "2025-08-05",
746
- "last_updated": "2025-08-05",
747
- "modalities": {
748
- "input": [
749
- "text",
750
- "image",
751
- "pdf"
752
- ],
753
- "output": [
754
- "text"
755
- ]
756
- },
757
- "open_weights": false,
758
- "cost": {
759
- "input": 15,
760
- "output": 75,
761
- "cache_read": 1.5,
762
- "cache_write": 18.75
763
- },
764
- "limit": {
765
- "context": 200000,
766
- "output": 32000
733
+ "output": 8192
767
734
  }
768
735
  }
769
736
  }