chatbot-ui/types/llms.ts

82 lines
2.3 KiB
TypeScript

import { ModelProvider } from "."
export type LLMID =
| OpenAILLMID
| GoogleLLMID
| AnthropicLLMID
| MistralLLMID
| GroqLLMID
| PerplexityLLMID
// OpenAI Models (UPDATED 5/13/24)
export type OpenAILLMID =
| "gpt-4o" // GPT-4o
| "gpt-4-turbo-preview" // GPT-4 Turbo
| "gpt-4-vision-preview" // GPT-4 Vision
| "gpt-4" // GPT-4
| "gpt-3.5-turbo" // Updated GPT-3.5 Turbo
// Google Models
export type GoogleLLMID =
| "gemini-pro" // Gemini Pro
| "gemini-pro-vision" // Gemini Pro Vision
| "gemini-1.5-pro-latest" // Gemini 1.5 Pro
| "gemini-1.5-flash" // Gemini 1.5 Flash
// Anthropic Models
export type AnthropicLLMID =
| "claude-2.1" // Claude 2
| "claude-instant-1.2" // Claude Instant
| "claude-3-haiku-20240307" // Claude 3 Haiku
| "claude-3-sonnet-20240229" // Claude 3 Sonnet
| "claude-3-opus-20240229" // Claude 3 Opus
| "claude-3-5-sonnet-20240620" // Claude 3.5 Sonnet
// Mistral Models
export type MistralLLMID =
| "mistral-tiny" // Mistral Tiny
| "mistral-small-latest" // Mistral Small
| "mistral-medium-latest" // Mistral Medium
| "mistral-large-latest" // Mistral Large
export type GroqLLMID =
| "llama3-8b-8192" // LLaMA3-8b
| "llama3-70b-8192" // LLaMA3-70b
| "mixtral-8x7b-32768" // Mixtral-8x7b
| "gemma-7b-it" // Gemma-7b IT
// Perplexity Models (UPDATED 1/31/24)
export type PerplexityLLMID =
| "pplx-7b-online" // Perplexity Online 7B
| "pplx-70b-online" // Perplexity Online 70B
| "pplx-7b-chat" // Perplexity Chat 7B
| "pplx-70b-chat" // Perplexity Chat 70B
| "mixtral-8x7b-instruct" // Mixtral 8x7B Instruct
| "mistral-7b-instruct" // Mistral 7B Instruct
| "llama-2-70b-chat" // Llama2 70B Chat
| "codellama-34b-instruct" // CodeLlama 34B Instruct
| "codellama-70b-instruct" // CodeLlama 70B Instruct
| "sonar-small-chat" // Sonar Small Chat
| "sonar-small-online" // Sonar Small Online
| "sonar-medium-chat" // Sonar Medium Chat
| "sonar-medium-online" // Sonar Medium Online
export interface LLM {
modelId: LLMID
modelName: string
provider: ModelProvider
hostedId: string
platformLink: string
imageInput: boolean
pricing?: {
currency: string
unit: string
inputCost: number
outputCost?: number
}
}
export interface OpenRouterLLM extends LLM {
maxContext: number
}