diff --git a/web/public/Amazon.svg b/web/public/Amazon.svg
new file mode 100755
index 000000000..1d9deec75
--- /dev/null
+++ b/web/public/Amazon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/web/public/Meta.svg b/web/public/Meta.svg
new file mode 100755
index 000000000..11b683a4c
--- /dev/null
+++ b/web/public/Meta.svg
@@ -0,0 +1,9 @@
+
diff --git a/web/public/Mistral.svg b/web/public/Mistral.svg
new file mode 100755
index 000000000..0775fe7e0
--- /dev/null
+++ b/web/public/Mistral.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/web/src/app/admin/configuration/llm/interfaces.ts b/web/src/app/admin/configuration/llm/interfaces.ts
index b47fcc6ce..96ccd5ed1 100644
--- a/web/src/app/admin/configuration/llm/interfaces.ts
+++ b/web/src/app/admin/configuration/llm/interfaces.ts
@@ -1,8 +1,11 @@
import {
AnthropicIcon,
+ AmazonIcon,
AWSIcon,
AzureIcon,
CPUIcon,
+ MistralIcon,
+ MetaIcon,
OpenAIIcon,
GeminiIcon,
OpenSourceIcon,
@@ -72,12 +75,22 @@ export const getProviderIcon = (providerName: string, modelName?: string) => {
switch (providerName) {
case "openai":
// Special cases for openai based on modelName
+ if (modelName?.toLowerCase().includes("amazon")) {
+ return AmazonIcon;
+ }
+ if (modelName?.toLowerCase().includes("mistral")) {
+ return MistralIcon;
+ }
+ if (modelName?.toLowerCase().includes("llama")) {
+ return MetaIcon;
+ }
if (modelName?.toLowerCase().includes("gemini")) {
return GeminiIcon;
}
if (modelName?.toLowerCase().includes("claude")) {
return AnthropicIcon;
}
+
return OpenAIIcon; // Default for openai
case "anthropic":
return AnthropicIcon;
diff --git a/web/src/components/icons/icons.tsx b/web/src/components/icons/icons.tsx
index 44ec4ad25..e2a2e9f0d 100644
--- a/web/src/components/icons/icons.tsx
+++ b/web/src/components/icons/icons.tsx
@@ -39,7 +39,10 @@ import Image, { StaticImageData } from "next/image";
import jiraSVG from "../../../public/Jira.svg";
import confluenceSVG from "../../../public/Confluence.svg";
import openAISVG from "../../../public/Openai.svg";
+import amazonSVG from "../../../public/Amazon.svg";
import geminiSVG from "../../../public/Gemini.svg";
+import metaSVG from "../../../public/Meta.svg";
+import mistralSVG from "../../../public/Mistral.svg";
import openSourceIcon from "../../../public/OpenSource.png";
import litellmIcon from "../../../public/LiteLLM.jpg";
@@ -1104,6 +1107,21 @@ export const GeminiIcon = ({
className = defaultTailwindCSS,
}: IconProps) => ;
+export const AmazonIcon = ({
+ size = 16,
+ className = defaultTailwindCSS,
+}: IconProps) => ;
+
+export const MetaIcon = ({
+ size = 16,
+ className = defaultTailwindCSS,
+}: IconProps) => ;
+
+export const MistralIcon = ({
+ size = 16,
+ className = defaultTailwindCSS,
+}: IconProps) => ;
+
export const VoyageIcon = ({
size = 16,
className = defaultTailwindCSS,
diff --git a/web/src/lib/hooks.ts b/web/src/lib/hooks.ts
index 6c7592ea1..8ed2103aa 100644
--- a/web/src/lib/hooks.ts
+++ b/web/src/lib/hooks.ts
@@ -318,6 +318,15 @@ const MODEL_DISPLAY_NAMES: { [key: string]: string } = {
"gpt-3.5-turbo-16k-0613": "GPT 3.5 Turbo 16k (June 2023)",
"gpt-3.5-turbo-0301": "GPT 3.5 Turbo (March 2023)",
+ // Amazon models
+ "amazon.nova-micro@v1": "Amazon Nova Micro",
+ "amazon.nova-lite@v1": "Amazon Nova Lite",
+ "amazon.nova-pro@v1": "Amazon Nova Pro",
+
+ // Meta models
+ "llama-3.2-90b-vision-instruct": "Llama 3.2 90B",
+ "llama-3.2-11b-vision-instruct": "Llama 3.2 11B",
+
// Anthropic models
"claude-3-opus-20240229": "Claude 3 Opus",
"claude-3-sonnet-20240229": "Claude 3 Sonnet",
@@ -329,6 +338,9 @@ const MODEL_DISPLAY_NAMES: { [key: string]: string } = {
"claude-3-5-sonnet-20241022": "Claude 3.5 Sonnet (New)",
"claude-3-5-sonnet-v2@20241022": "Claude 3.5 Sonnet (New)",
"claude-3.5-sonnet-v2@20241022": "Claude 3.5 Sonnet (New)",
+ "claude-3-5-haiku-20241022": "Claude 3.5 Haiku",
+ "claude-3-5-haiku@20241022": "Claude 3.5 Haiku",
+ "claude-3.5-haiku@20241022": "Claude 3.5 Haiku",
// Google Models
"gemini-1.5-pro": "Gemini 1.5 Pro",
@@ -337,6 +349,11 @@ const MODEL_DISPLAY_NAMES: { [key: string]: string } = {
"gemini-1.5-flash-001": "Gemini 1.5 Flash",
"gemini-1.5-pro-002": "Gemini 1.5 Pro (v2)",
"gemini-1.5-flash-002": "Gemini 1.5 Flash (v2)",
+ "gemini-2.0-flash-exp": "Gemini 2.0 Flash (Experimental)",
+
+ // Mistral Models
+ "mistral-large-2411": "Mistral Large 24.11",
+ "mistral-large@2411": "Mistral Large 24.11",
// Bedrock models
"meta.llama3-1-70b-instruct-v1:0": "Llama 3.1 70B",
diff --git a/web/src/lib/llm/utils.ts b/web/src/lib/llm/utils.ts
index b200ba391..8e2ece1e8 100644
--- a/web/src/lib/llm/utils.ts
+++ b/web/src/lib/llm/utils.ts
@@ -74,6 +74,8 @@ const MODEL_NAMES_SUPPORTING_IMAGE_INPUT = [
"claude-3-opus-20240229",
"claude-3-sonnet-20240229",
"claude-3-haiku-20240307",
+ // custom claude names
+ "claude-3.5-sonnet-v2@20241022",
// claude names with AWS Bedrock Suffix
"claude-3-opus-20240229-v1:0",
"claude-3-sonnet-20240229-v1:0",
@@ -93,6 +95,13 @@ const MODEL_NAMES_SUPPORTING_IMAGE_INPUT = [
"gemini-1.5-flash-001",
"gemini-1.5-pro-002",
"gemini-1.5-flash-002",
+ "gemini-2.0-flash-exp",
+ // amazon models
+ "amazon.nova-lite@v1",
+ "amazon.nova-pro@v1",
+ // meta models
+ "llama-3.2-90b-vision-instruct",
+ "llama-3.2-11b-vision-instruct"
];
export function checkLLMSupportsImageInput(model: string) {