diff --git a/Cargo.lock b/Cargo.lock index 773d8bb..b5e7643 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -184,9 +184,9 @@ checksum = "4288f83726785267c6f2ef073a3d83dc3f9b81464e9f99898240cced85fce35a" [[package]] name = "async-openai" -version = "0.40.3" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "278af84d3d19995d440ea7b401a4b121c780c8d37f5eb6e883d987c17b523aa4" +checksum = "3ec57a13b36ba76764870363a9182d8bc9fb49538dc5a948dd2e5224fe65ce40" dependencies = [ "async-openai-macros", "base64 0.22.1", diff --git a/Cargo.toml b/Cargo.toml index 54597cc..6d240a5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ path = "src/lib.rs" [dependencies] anthropic = { git = "https://github.com/etkecc/anthropic-rs.git", branch = "fix-content-block-image" } anyhow = "1.0.*" -async-openai = { version = "0.40.0", features = ["audio", "chat-completion", "image", "responses"] } +async-openai = { version = "0.41.0", features = ["audio", "chat-completion", "image", "responses"] } base64 = "0.22.*" chrono = { version = "0.4.*", default-features = false, features = ["std", "now"] } # We'd rather not depend on this, but we cannot use the ruma-events EventContent macro without it. diff --git a/src/agent/provider/openai/controller.rs b/src/agent/provider/openai/controller.rs index 1ce1eca..2877780 100644 --- a/src/agent/provider/openai/controller.rs +++ b/src/agent/provider/openai/controller.rs @@ -271,6 +271,7 @@ impl ControllerTrait for Controller { ImageModel::GptImage1 => ImageModel::GptImage1Mini, ImageModel::GptImage1dot5 => ImageModel::GptImage1Mini, ImageModel::GptImage1Mini => ImageModel::GptImage1Mini, + ImageModel::GptImage2 => ImageModel::GptImage1Mini, ImageModel::Other(_) => ImageModel::DallE2, } } else { @@ -310,7 +311,7 @@ impl ControllerTrait for Controller { let size = if params.smallest_size_possible { Some(get_sticker_size(&model)) } else { - image_generation_config.size + image_generation_config.size.clone() }; let response_format = match model.clone() { @@ -321,6 +322,7 @@ impl ControllerTrait for Controller { ImageModel::GptImage1 => None, ImageModel::GptImage1Mini => None, ImageModel::GptImage1dot5 => None, + ImageModel::GptImage2 => None, ImageModel::Other(_) => Some(ImageResponseFormat::B64Json), }; @@ -430,6 +432,7 @@ impl ControllerTrait for Controller { ImageModel::GptImage1 => None, ImageModel::GptImage1Mini => None, ImageModel::GptImage1dot5 => None, + ImageModel::GptImage2 => None, ImageModel::Other(_) => Some(ImageResponseFormat::B64Json), }; @@ -647,6 +650,7 @@ fn get_sticker_size(model: &ImageModel) -> async_openai::types::images::ImageSiz ImageModel::GptImage1 => ImageSize::S1024x1024, ImageModel::GptImage1Mini => ImageSize::S1024x1024, ImageModel::GptImage1dot5 => ImageSize::S1024x1024, + ImageModel::GptImage2 => ImageSize::S1024x1024, ImageModel::Other(_) => ImageSize::S1024x1024, } }