| export class TokenLimits { |
| maxTokens: number |
| requestTokens: number |
| responseTokens: number |
| knowledgeCutOff: string |
|
|
| constructor(model = 'llama-3.1-8b-instant') { |
| this.knowledgeCutOff = '2023-12-01' |
|
|
| |
| this.maxTokens = 128000 |
| this.responseTokens = 16000 |
|
|
| if (model.includes('kimi-k2')) { |
| this.maxTokens = 256000 |
| this.responseTokens = 16000 |
| } else if (model.includes('qwen') || model.includes('llama-4')) { |
| this.maxTokens = 128000 |
| this.responseTokens = 16000 |
| } else if (model.includes('gpt-oss-120b')) { |
| this.maxTokens = 128000 |
| this.responseTokens = 16000 |
| } else if (model.includes('3.2-11b')) { |
| this.maxTokens = 128000 |
| this.responseTokens = 16000 |
| } else if ( |
| model.includes('llama3') || |
| model.includes('llama-3') || |
| model.includes('groq') || |
| model.includes('mixtral') |
| ) { |
| this.maxTokens = 128000 |
| this.responseTokens = 16000 |
| } else { |
| this.maxTokens = 128000 |
| this.responseTokens = 4000 |
| } |
|
|
| |
| this.requestTokens = this.maxTokens - this.responseTokens - 500 |
| } |
|
|
| string(): string { |
| return `max_tokens=${this.maxTokens}, request_tokens=${this.requestTokens}, response_tokens=${this.responseTokens}` |
| } |
| } |
|
|