Add new models

This commit is contained in:
Saoud Rizwan
2024-08-11 02:32:54 -04:00
parent f54774b943
commit 3c082e753b
3 changed files with 159 additions and 22 deletions

View File

@@ -25,9 +25,9 @@ export interface ModelInfo {
export type ApiModelId = AnthropicModelId | OpenRouterModelId | BedrockModelId
// Anthropic
// https://docs.anthropic.com/en/docs/about-claude/models
export type AnthropicModelId = keyof typeof anthropicModels
export const anthropicDefaultModelId: AnthropicModelId = "claude-3-5-sonnet-20240620"
// https://docs.anthropic.com/en/docs/about-claude/models
export const anthropicModels = {
"claude-3-5-sonnet-20240620": {
maxTokens: 8192,
@@ -44,30 +44,19 @@ export const anthropicModels = {
"claude-3-sonnet-20240229": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 2.5,
outputPrice: 12.5,
inputPrice: 3.0,
outputPrice: 15.0,
},
"claude-3-haiku-20240307": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 2.5,
outputPrice: 12.5,
inputPrice: 0.25,
outputPrice: 1.25,
},
} as const satisfies Record<string, ModelInfo>
// OpenRouter
export type OpenRouterModelId = keyof typeof openRouterModels
export const openRouterDefaultModelId: OpenRouterModelId = "anthropic/claude-3.5-sonnet:beta"
export const openRouterModels = {
"anthropic/claude-3.5-sonnet:beta": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 3.0,
outputPrice: 15.0,
},
} as const satisfies Record<string, ModelInfo>
} as const satisfies Record<string, ModelInfo> // as const assertion makes the object deeply readonly
// AWS Bedrock
// https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html
export type BedrockModelId = keyof typeof bedrockModels
export const bedrockDefaultModelId: BedrockModelId = "anthropic.claude-3-5-sonnet-20240620-v1:0"
export const bedrockModels = {
@@ -77,4 +66,143 @@ export const bedrockModels = {
inputPrice: 3.0,
outputPrice: 15.0,
},
} as const satisfies Record<string, ModelInfo> // as const assertion makes the object deeply readonly (just declaring it as const makes it mutable)
"anthropic.claude-3-opus-20240229-v1:0": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 15.0,
outputPrice: 75.0,
},
"anthropic.claude-3-sonnet-20240229-v1:0": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 3.0,
outputPrice: 15.0,
},
"anthropic.claude-3-haiku-20240307-v1:0": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 0.25,
outputPrice: 1.25,
},
} as const satisfies Record<string, ModelInfo>
// OpenRouter
// https://openrouter.ai/models?order=newest&supported_parameters=tools
export type OpenRouterModelId = keyof typeof openRouterModels
export const openRouterDefaultModelId: OpenRouterModelId = "anthropic/claude-3.5-sonnet"
export const openRouterModels = {
"anthropic/claude-3.5-sonnet": {
maxTokens: 8192,
supportsImages: true,
inputPrice: 3.0,
outputPrice: 15.0,
},
"anthropic/claude-3-opus": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 15,
outputPrice: 75,
},
"anthropic/claude-3-sonnet": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 3,
outputPrice: 15,
},
"anthropic/claude-3-haiku": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 0.25,
outputPrice: 1.25,
},
"openai/gpt-4o-2024-08-06": {
maxTokens: 16384,
supportsImages: true,
inputPrice: 2.5,
outputPrice: 10,
},
"openai/gpt-4o-mini-2024-07-18": {
maxTokens: 16384,
supportsImages: true,
inputPrice: 0.15,
outputPrice: 0.6,
},
"openai/gpt-4-turbo": {
maxTokens: 4096,
supportsImages: true,
inputPrice: 10,
outputPrice: 30,
},
"meta-llama/llama-3.1-405b-instruct": {
maxTokens: 2048,
supportsImages: false,
inputPrice: 2.7,
outputPrice: 2.7,
},
"meta-llama/llama-3.1-70b-instruct": {
maxTokens: 2048,
supportsImages: false,
inputPrice: 0.52,
outputPrice: 0.75,
},
"meta-llama/llama-3.1-8b-instruct": {
maxTokens: 2048,
supportsImages: false,
inputPrice: 0.06,
outputPrice: 0.06,
},
"google/gemini-pro-1.5": {
maxTokens: 8192,
supportsImages: true,
inputPrice: 2.5,
outputPrice: 7.5,
},
"google/gemini-flash-1.5": {
maxTokens: 8192,
supportsImages: true,
inputPrice: 0.25,
outputPrice: 0.75,
},
"deepseek/deepseek-coder": {
maxTokens: 4096,
supportsImages: false,
inputPrice: 0.14,
outputPrice: 0.28,
},
"mistralai/mistral-large": {
maxTokens: 8192,
supportsImages: false,
inputPrice: 3,
outputPrice: 9,
},
"mistralai/mistral-medium": {
maxTokens: 4096,
supportsImages: false,
inputPrice: 2.7,
outputPrice: 8.1,
},
"mistralai/mistral-small": {
maxTokens: 4096,
supportsImages: false,
inputPrice: 2,
outputPrice: 6,
},
"mistralai/mistral-7b-instruct-v0.1": {
maxTokens: 4096,
supportsImages: false,
inputPrice: 0.06,
outputPrice: 0.06,
},
"cohere/command-r-plus": {
maxTokens: 4000,
supportsImages: false,
inputPrice: 3,
outputPrice: 15,
},
"cohere/command-r": {
maxTokens: 4000,
supportsImages: false,
inputPrice: 0.5,
outputPrice: 1.5,
},
} as const satisfies Record<string, ModelInfo>