diff --git a/src/BuiltinExtensions/ComfyUIBackend/ComfyUIWebAPI.cs b/src/BuiltinExtensions/ComfyUIBackend/ComfyUIWebAPI.cs index 7a61938c1..ec450c6f9 100644 --- a/src/BuiltinExtensions/ComfyUIBackend/ComfyUIWebAPI.cs +++ b/src/BuiltinExtensions/ComfyUIBackend/ComfyUIWebAPI.cs @@ -266,7 +266,7 @@ public static async Task ComfyInstallFeatures(Session session, string f }; /// API route to create a TensorRT model. - public static async Task DoTensorRTCreateWS(Session session, WebSocket ws, string model, string aspect, string aspectRange, int optBatch, int maxBatch) + public static async Task DoTensorRTCreateWS(Session session, WebSocket ws, string model, string aspect, string aspectRange, int optBatch, int maxBatch, int contextLen = 75) { if (ModelsAPI.TryGetRefusalForModel(session, model, out JObject refusal)) { @@ -336,7 +336,7 @@ public static async Task DoTensorRTCreateWS(Session session, WebSocket ["batch_size_opt"] = optBatch, ["height_opt"] = prefY, ["width_opt"] = prefX, - ["context_opt"] = 1, + ["context_opt"] = contextLen / 75, ["num_video_frames"] = 25 } }; @@ -360,8 +360,8 @@ public static async Task DoTensorRTCreateWS(Session session, WebSocket ["width_opt"] = prefX, ["width_max"] = Math.Clamp(maxX, 256, 4096), ["context_min"] = 1, - ["context_opt"] = 1, - ["context_max"] = 128, + ["context_opt"] = contextLen / 75, + ["context_max"] = Math.Max(contextLen / 75, 128), ["num_video_frames"] = 25 } }; diff --git a/src/Pages/_Generate/GenTabModals.cshtml b/src/Pages/_Generate/GenTabModals.cshtml index f87aa7fb0..ac3ee6a43 100644 --- a/src/Pages/_Generate/GenTabModals.cshtml +++ b/src/Pages/_Generate/GenTabModals.cshtml @@ -247,6 +247,7 @@
Preferred Batch Size:
Max Batch Size: +
CLIP Context Length (tokens):
diff --git a/src/wwwroot/js/genpage/gentab/models.js b/src/wwwroot/js/genpage/gentab/models.js index 4aa7428f6..11b6eafc3 100644 --- a/src/wwwroot/js/genpage/gentab/models.js +++ b/src/wwwroot/js/genpage/gentab/models.js @@ -1036,6 +1036,7 @@ function trt_modal_create() { let rangeSelect = getRequiredElementById('tensorrt_aspect_range'); let batchSize = getRequiredElementById('tensorrt_batch_size'); let maxBatch = getRequiredElementById('tensorrt_max_batch_size'); + let contextLen = getRequiredElementById('tensorrt_context'); let createButton = getRequiredElementById('trt_create_button'); let resultBox = getRequiredElementById('tensorrt_create_result_box'); let data = { @@ -1043,7 +1044,8 @@ function trt_modal_create() { 'aspect': aspectSelect.value, 'aspectRange': rangeSelect.value, 'optBatch': batchSize.value, - 'maxBatch': maxBatch.value + 'maxBatch': maxBatch.value, + 'contextLen': contextLen.value }; createButton.disabled = true; resultBox.innerText = 'Creating TensorRT engine, please wait...';