Browse Source

fix: avoiding not operation for custom models (#4010)

fred-bf 1 year ago
parent
commit
9d5801fb5f
1 changed files with 11 additions and 7 deletions
  1. 11 7
      app/store/chat.ts

+ 11 - 7
app/store/chat.ts

@@ -92,14 +92,18 @@ function countMessages(msgs: ChatMessage[]) {
 }
 
 function fillTemplateWith(input: string, modelConfig: ModelConfig) {
-  const cutoff = KnowledgeCutOffDate[modelConfig.model] ?? KnowledgeCutOffDate.default;
+  const cutoff =
+    KnowledgeCutOffDate[modelConfig.model] ?? KnowledgeCutOffDate.default;
   // Find the model in the DEFAULT_MODELS array that matches the modelConfig.model
-  const modelInfo = DEFAULT_MODELS.find(m => m.name === modelConfig.model);
-  if (!modelInfo) {
-    throw new Error(`Model ${modelConfig.model} not found in DEFAULT_MODELS array.`);
+  const modelInfo = DEFAULT_MODELS.find((m) => m.name === modelConfig.model);
+
+  var serviceProvider = "OpenAI";
+  if (modelInfo) {
+    // TODO: auto detect the providerName from the modelConfig.model
+
+    // Directly use the providerName from the modelInfo
+    serviceProvider = modelInfo.provider.providerName;
   }
-  // Directly use the providerName from the modelInfo
-  const serviceProvider = modelInfo.provider.providerName;
 
   const vars = {
     ServiceProvider: serviceProvider,
@@ -119,7 +123,7 @@ function fillTemplateWith(input: string, modelConfig: ModelConfig) {
   }
 
   Object.entries(vars).forEach(([name, value]) => {
-    const regex = new RegExp(`{{${name}}}`, 'g');
+    const regex = new RegExp(`{{${name}}}`, "g");
     output = output.replace(regex, value.toString()); // Ensure value is a string
   });