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