diff --git a/crates/agent_ui/src/mention_set.rs b/crates/agent_ui/src/mention_set.rs index 92a9751706debc03abcb819ceabc0dcb3a780e26..ef229e0bb53e91703d75c59a928e999ca6708fb7 100644 --- a/crates/agent_ui/src/mention_set.rs +++ b/crates/agent_ui/src/mention_set.rs @@ -297,14 +297,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")) @@ -672,7 +671,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())? @@ -681,7 +679,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(),