mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-18 01:10:14 +01:00
🤖 feat: Support for new AWS Nova Models & Updated Anthropic Rates (#4852)
* updated Claude 3.5 Haiku pricing https://www.anthropic.com/pricing#anthropic-api Claude 3.5 Haiku $0.80 / MTok Input $1 / MTok Prompt caching write $0.08 / MTok Prompt caching read $4 / MTok Output * Update tx.js * refactor: fix tests for cache multiplier and add new AWS models --------- Co-authored-by: khfung <68192841+khfung@users.noreply.github.com>
This commit is contained in:
parent
d6f7279bce
commit
ebae494337
4 changed files with 43 additions and 11 deletions
|
|
@ -4,6 +4,7 @@ const {
|
|||
tokenValues,
|
||||
getValueKey,
|
||||
getMultiplier,
|
||||
cacheTokenValues,
|
||||
getCacheMultiplier,
|
||||
} = require('./tx');
|
||||
|
||||
|
|
@ -211,6 +212,7 @@ describe('getMultiplier', () => {
|
|||
|
||||
describe('AWS Bedrock Model Tests', () => {
|
||||
const awsModels = [
|
||||
'anthropic.claude-3-5-haiku-20241022-v1:0',
|
||||
'anthropic.claude-3-haiku-20240307-v1:0',
|
||||
'anthropic.claude-3-sonnet-20240229-v1:0',
|
||||
'anthropic.claude-3-opus-20240229-v1:0',
|
||||
|
|
@ -237,6 +239,9 @@ describe('AWS Bedrock Model Tests', () => {
|
|||
'ai21.j2-ultra-v1',
|
||||
'amazon.titan-text-lite-v1',
|
||||
'amazon.titan-text-express-v1',
|
||||
'amazon.nova-micro-v1:0',
|
||||
'amazon.nova-lite-v1:0',
|
||||
'amazon.nova-pro-v1:0',
|
||||
];
|
||||
|
||||
it('should return the correct prompt multipliers for all models', () => {
|
||||
|
|
@ -260,12 +265,24 @@ describe('AWS Bedrock Model Tests', () => {
|
|||
|
||||
describe('getCacheMultiplier', () => {
|
||||
it('should return the correct cache multiplier for a given valueKey and cacheType', () => {
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-5-sonnet', cacheType: 'write' })).toBe(3.75);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-5-sonnet', cacheType: 'read' })).toBe(0.3);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-5-haiku', cacheType: 'write' })).toBe(1.25);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-5-haiku', cacheType: 'read' })).toBe(0.1);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-haiku', cacheType: 'write' })).toBe(0.3);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-haiku', cacheType: 'read' })).toBe(0.03);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-5-sonnet', cacheType: 'write' })).toBe(
|
||||
cacheTokenValues['claude-3-5-sonnet'].write,
|
||||
);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-5-sonnet', cacheType: 'read' })).toBe(
|
||||
cacheTokenValues['claude-3-5-sonnet'].read,
|
||||
);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-5-haiku', cacheType: 'write' })).toBe(
|
||||
cacheTokenValues['claude-3-5-haiku'].write,
|
||||
);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-5-haiku', cacheType: 'read' })).toBe(
|
||||
cacheTokenValues['claude-3-5-haiku'].read,
|
||||
);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-haiku', cacheType: 'write' })).toBe(
|
||||
cacheTokenValues['claude-3-haiku'].write,
|
||||
);
|
||||
expect(getCacheMultiplier({ valueKey: 'claude-3-haiku', cacheType: 'read' })).toBe(
|
||||
cacheTokenValues['claude-3-haiku'].read,
|
||||
);
|
||||
});
|
||||
|
||||
it('should return null if cacheType is provided but not found in cacheTokenValues', () => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue