Pārlūkot izejas kodu

Merge pull request #4674 from leo4life2/main

support gpt-4o
fred-bf 1 gadu atpakaļ
vecāks
revīzija
9faab960f6
2 mainītis faili ar 12 papildinājumiem un 7 dzēšanām
  1. 5 1
      app/constant.ts
  2. 7 6
      app/utils.ts

+ 5 - 1
app/constant.ts

@@ -127,6 +127,8 @@ export const KnowledgeCutOffDate: Record<string, string> = {
   "gpt-4-turbo": "2023-12",
   "gpt-4-turbo-2024-04-09": "2023-12",
   "gpt-4-turbo-preview": "2023-12",
+  "gpt-4o": "2023-10",
+  "gpt-4o-2024-05-13": "2023-10",
   "gpt-4-vision-preview": "2023-04",
   // After improvements,
   // it's now easier to add "KnowledgeCutOffDate" instead of stupid hardcoding it, as was done previously.
@@ -144,8 +146,10 @@ const openaiModels = [
   "gpt-4-32k-0613",
   "gpt-4-turbo",
   "gpt-4-turbo-preview",
+  "gpt-4o",
+  "gpt-4o-2024-05-13",
   "gpt-4-vision-preview",
-  "gpt-4-turbo-2024-04-09",
+  "gpt-4-turbo-2024-04-09"
 ];
 
 const googleModels = [

+ 7 - 6
app/utils.ts

@@ -290,16 +290,17 @@ export function getMessageImages(message: RequestMessage): string[] {
 }
 
 export function isVisionModel(model: string) {
-  
-  // Note: This is a better way using the TypeScript feature instead of `&&` or `||` (ts v5.5.0-dev.20240314 I've been using)
-
   const visionKeywords = [
     "vision",
     "claude-3",
     "gemini-1.5-pro",
+    "gpt-4-turbo",
+    "gpt-4o",
   ];
+  const isGpt4TurboPreview = model === "gpt-4-turbo-preview";
 
-  const isGpt4Turbo = model.includes("gpt-4-turbo") && !model.includes("preview");
-
-  return visionKeywords.some((keyword) => model.includes(keyword)) || isGpt4Turbo;
+  return (
+    visionKeywords.some((keyword) => model.includes(keyword)) &&
+    !isGpt4TurboPreview
+  );
 }