mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 00:40:14 +01:00
🧠 feat: claude-3-5-sonnet (#3135)
* 🧠 feat: claude-3-5-sonnet
* chore: bump data-provider
This commit is contained in:
parent
0cd3c83328
commit
54db67449a
7 changed files with 32 additions and 5 deletions
|
|
@ -17,6 +17,7 @@ const tokenValues = {
|
|||
'gpt-3.5-turbo-0125': { prompt: 0.5, completion: 1.5 },
|
||||
'claude-3-opus': { prompt: 15, completion: 75 },
|
||||
'claude-3-sonnet': { prompt: 3, completion: 15 },
|
||||
'claude-3-5-sonnet': { prompt: 3, completion: 15 },
|
||||
'claude-3-haiku': { prompt: 0.25, completion: 1.25 },
|
||||
'claude-2.1': { prompt: 8, completion: 24 },
|
||||
'claude-2': { prompt: 8, completion: 24 },
|
||||
|
|
|
|||
|
|
@ -48,6 +48,13 @@ describe('getValueKey', () => {
|
|||
expect(getValueKey('gpt-4o-turbo')).toBe('gpt-4o');
|
||||
expect(getValueKey('gpt-4o-0125')).toBe('gpt-4o');
|
||||
});
|
||||
|
||||
it('should return "claude-3-5-sonnet" for model type of "claude-3-5-sonnet-"', () => {
|
||||
expect(getValueKey('claude-3-5-sonnet-20240620')).toBe('claude-3-5-sonnet');
|
||||
expect(getValueKey('anthropic/claude-3-5-sonnet')).toBe('claude-3-5-sonnet');
|
||||
expect(getValueKey('claude-3-5-sonnet-turbo')).toBe('claude-3-5-sonnet');
|
||||
expect(getValueKey('claude-3-5-sonnet-0125')).toBe('claude-3-5-sonnet');
|
||||
});
|
||||
});
|
||||
|
||||
describe('getMultiplier', () => {
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ const anthropicModels = {
|
|||
'claude-3-haiku': 200000,
|
||||
'claude-3-sonnet': 200000,
|
||||
'claude-3-opus': 200000,
|
||||
'claude-3-5-sonnet': 200000,
|
||||
};
|
||||
|
||||
const aggregateModels = { ...openAIModels, ...googleModels, ...anthropicModels, ...cohereModels };
|
||||
|
|
|
|||
|
|
@ -124,12 +124,29 @@ describe('getModelMaxTokens', () => {
|
|||
'claude-1-100k',
|
||||
'claude-instant-1',
|
||||
'claude-instant-1-100k',
|
||||
'claude-3-haiku',
|
||||
'claude-3-sonnet',
|
||||
'claude-3-opus',
|
||||
'claude-3-5-sonnet',
|
||||
];
|
||||
|
||||
const claudeMaxTokens = maxTokensMap[EModelEndpoint.anthropic]['claude-'];
|
||||
const claude21MaxTokens = maxTokensMap[EModelEndpoint.anthropic]['claude-2.1'];
|
||||
const maxTokens = {
|
||||
'claude-': maxTokensMap[EModelEndpoint.anthropic]['claude-'],
|
||||
'claude-2.1': maxTokensMap[EModelEndpoint.anthropic]['claude-2.1'],
|
||||
'claude-3': maxTokensMap[EModelEndpoint.anthropic]['claude-3-sonnet'],
|
||||
};
|
||||
|
||||
models.forEach((model) => {
|
||||
const expectedTokens = model === 'claude-2.1' ? claude21MaxTokens : claudeMaxTokens;
|
||||
let expectedTokens;
|
||||
|
||||
if (model === 'claude-2.1') {
|
||||
expectedTokens = maxTokens['claude-2.1'];
|
||||
} else if (model.startsWith('claude-3')) {
|
||||
expectedTokens = maxTokens['claude-3'];
|
||||
} else {
|
||||
expectedTokens = maxTokens['claude-'];
|
||||
}
|
||||
|
||||
expect(getModelMaxTokens(model, EModelEndpoint.anthropic)).toEqual(expectedTokens);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
2
package-lock.json
generated
2
package-lock.json
generated
|
|
@ -29348,7 +29348,7 @@
|
|||
},
|
||||
"packages/data-provider": {
|
||||
"name": "librechat-data-provider",
|
||||
"version": "0.6.9",
|
||||
"version": "0.7.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "librechat-data-provider",
|
||||
"version": "0.6.9",
|
||||
"version": "0.7.0",
|
||||
"description": "data services for librechat apps",
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/index.es.js",
|
||||
|
|
|
|||
|
|
@ -473,6 +473,7 @@ export const defaultModels = {
|
|||
'code-bison-32k',
|
||||
],
|
||||
[EModelEndpoint.anthropic]: [
|
||||
'claude-3-5-sonnet-20240620',
|
||||
'claude-3-opus-20240229',
|
||||
'claude-3-sonnet-20240229',
|
||||
'claude-3-haiku-20240307',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue