From 524edd6e695cae2899e8a9dee7a8c4428629ca61 Mon Sep 17 00:00:00 2001
From: Sean Hatfield <seanhatfield5@gmail.com>
Date: Thu, 20 Jun 2024 10:13:53 -0700
Subject: [PATCH] [FEAT] Add support for Claude Sonnet 3.5 model (#1731)

add support for claude sonnet 3.5 model
---
 .../src/components/LLMSelection/AnthropicAiOptions/index.jsx   | 1 +
 frontend/src/hooks/useGetProvidersModels.js                    | 1 +
 server/utils/AiProviders/anthropic/index.js                    | 3 +++
 server/utils/helpers/updateENV.js                              | 1 +
 4 files changed, 6 insertions(+)

diff --git a/frontend/src/components/LLMSelection/AnthropicAiOptions/index.jsx b/frontend/src/components/LLMSelection/AnthropicAiOptions/index.jsx
index 9fe283ffe..ec72347ff 100644
--- a/frontend/src/components/LLMSelection/AnthropicAiOptions/index.jsx
+++ b/frontend/src/components/LLMSelection/AnthropicAiOptions/index.jsx
@@ -36,6 +36,7 @@ export default function AnthropicAiOptions({ settings }) {
                 "claude-3-haiku-20240307",
                 "claude-3-opus-20240229",
                 "claude-3-sonnet-20240229",
+                "claude-3-5-sonnet-20240620",
               ].map((model) => {
                 return (
                   <option key={model} value={model}>
diff --git a/frontend/src/hooks/useGetProvidersModels.js b/frontend/src/hooks/useGetProvidersModels.js
index e0a276993..5c8171b3c 100644
--- a/frontend/src/hooks/useGetProvidersModels.js
+++ b/frontend/src/hooks/useGetProvidersModels.js
@@ -23,6 +23,7 @@ const PROVIDER_DEFAULT_MODELS = {
     "claude-3-opus-20240229",
     "claude-3-sonnet-20240229",
     "claude-3-haiku-20240307",
+    "claude-3-5-sonnet-20240620",
   ],
   azure: [],
   lmstudio: [],
diff --git a/server/utils/AiProviders/anthropic/index.js b/server/utils/AiProviders/anthropic/index.js
index 215fa5fbb..4da56bf9a 100644
--- a/server/utils/AiProviders/anthropic/index.js
+++ b/server/utils/AiProviders/anthropic/index.js
@@ -46,6 +46,8 @@ class AnthropicLLM {
         return 200_000;
       case "claude-3-haiku-20240307":
         return 200_000;
+      case "claude-3-5-sonnet-20240620":
+        return 200_000;
       default:
         return 100_000; // assume a claude-instant-1.2 model
     }
@@ -59,6 +61,7 @@ class AnthropicLLM {
       "claude-3-opus-20240229",
       "claude-3-sonnet-20240229",
       "claude-3-haiku-20240307",
+      "claude-3-5-sonnet-20240620",
     ];
     return validModels.includes(modelName);
   }
diff --git a/server/utils/helpers/updateENV.js b/server/utils/helpers/updateENV.js
index 72d7a8c48..513641917 100644
--- a/server/utils/helpers/updateENV.js
+++ b/server/utils/helpers/updateENV.js
@@ -565,6 +565,7 @@ function validAnthropicModel(input = "") {
     "claude-3-opus-20240229",
     "claude-3-sonnet-20240229",
     "claude-3-haiku-20240307",
+    "claude-3-5-sonnet-20240620",
   ];
   return validModels.includes(input)
     ? null
-- 
GitLab