diff --git a/crates/agent_ui/src/mention_set.rs b/crates/agent_ui/src/mention_set.rs index ea4b82e3037393ef1c73ea5608d61b0f0e5de054..c3384096cf01aa09c1f770009bdae9e75b4888e0 100644 --- a/crates/agent_ui/src/mention_set.rs +++ b/crates/agent_ui/src/mention_set.rs @@ -292,14 +292,13 @@ impl MentionSet { return cx.spawn(async move |_, cx| { let image = task.await?; let image = image.update(cx, |image, _| image.image.clone())?; - let format = image.format; let image = cx .update(|cx| LanguageModelImage::from_image(image, cx))? .await; if let Some(image) = image { Ok(Mention::Image(MentionImage { data: image.source, - format, + format: LanguageModelImage::FORMAT, })) } else { Err(anyhow!("Failed to convert image")) @@ -631,7 +630,6 @@ pub(crate) fn paste_images_as_context( }; let task = cx .spawn(async move |cx| { - let format = image.format; let image = cx .update(|_, cx| LanguageModelImage::from_image(image, cx)) .map_err(|e| e.to_string())? @@ -640,7 +638,7 @@ pub(crate) fn paste_images_as_context( if let Some(image) = image { Ok(Mention::Image(MentionImage { data: image.source, - format, + format: LanguageModelImage::FORMAT, })) } else { Err("Failed to convert image".into()) diff --git a/crates/language_model/src/request.rs b/crates/language_model/src/request.rs index 96ed0907427c305211b1484e17ab61d434781ed6..e655e964e43847a776d4ba3f5e658b1ceb22a0d0 100644 --- a/crates/language_model/src/request.rs +++ b/crates/language_model/src/request.rs @@ -92,6 +92,9 @@ const DEFAULT_IMAGE_MAX_BYTES: usize = 5 * 1024 * 1024; const MAX_IMAGE_DOWNSCALE_PASSES: usize = 8; impl LanguageModelImage { + // All language model images are encoded as PNGs. + pub const FORMAT: ImageFormat = ImageFormat::Png; + pub fn empty() -> Self { Self { source: "".into(),