Browse Source

account for image projection in token count

Michael Yang 1 year ago
parent
commit
fb56988014
1 changed files with 4 additions and 0 deletions
  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)})
 
 		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