🐛 fix: fix claude 3.5+ models context max output (#6984)

This commit is contained in:
Arvin Xu
2025-03-16 03:21:34 +08:00
committed by GitHub
parent fe7e63120a
commit da342dd9a6
2 changed files with 6 additions and 4 deletions
@@ -123,21 +123,21 @@ describe('LobeAnthropicAI', () => {
{ content: 'You are an awesome greeter', role: 'system' },
{ content: 'Hello', role: 'user' },
],
model: 'claude-3-haiku-20240307',
model: 'claude-3-7-sonnet-20250219',
temperature: 0,
});
// Assert
expect(instance['client'].messages.create).toHaveBeenCalledWith(
{
max_tokens: 4096,
max_tokens: 8192,
messages: [
{
content: [{ cache_control: { type: 'ephemeral' }, text: 'Hello', type: 'text' }],
role: 'user',
},
],
model: 'claude-3-haiku-20240307',
model: 'claude-3-7-sonnet-20250219',
stream: true,
system: [
{
+3 -1
View File
@@ -25,6 +25,8 @@ export interface AnthropicModelCard {
id: string;
}
const modelsWithSmallContextWindow = new Set(['claude-3-opus-20240229', 'claude-3-haiku-20240307']);
const DEFAULT_BASE_URL = 'https://api.anthropic.com';
interface AnthropicAIParams extends ClientOptions {
@@ -132,7 +134,7 @@ export class LobeAnthropicAI implements LobeRuntimeAI {
return {
// claude 3 series model hax max output token of 4096, 3.x series has 8192
// https://docs.anthropic.com/en/docs/about-claude/models/all-models#:~:text=200K-,Max%20output,-Normal%3A
max_tokens: max_tokens ?? (model.startsWith('claude-3-') ? 4096 : 8192),
max_tokens: max_tokens ?? (modelsWithSmallContextWindow.has(model) ? 4096 : 8192),
messages: postMessages,
model,
system: systemPrompts,