浏览代码

account for image projection in token count

Michael Yang 1 年之前
父节点
当前提交
fb56988014
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      server/routes.go

+ 4 - 0
server/routes.go

@@ -1273,6 +1273,10 @@ func trimmedPrompt(ctx context.Context, chat *ChatHistory, model *Model) (string
 		promptsToAdd = append(promptsToAdd, promptInfo{vars: chat.Prompts[i], tokenLen: len(encodedTokens)})
 		promptsToAdd = append(promptsToAdd, promptInfo{vars: chat.Prompts[i], tokenLen: len(encodedTokens)})
 
 
 		images = append(images, chat.Prompts[i].Images...)
 		images = append(images, chat.Prompts[i].Images...)
+
+		// clip has a projection dimension of 768
+		// TODO: use kv['clip.vision.projection_dim'] from projection instead
+		totalTokenLength += 768 * len(chat.Prompts[i].Images)
 	}
 	}
 
 
 	// ensure the system prompt is included, if not already
 	// ensure the system prompt is included, if not already