diff --git a/crates/assistant_context_editor/src/context.rs b/crates/assistant_context_editor/src/context.rs index 398a6659e1..3c8548022e 100644 --- a/crates/assistant_context_editor/src/context.rs +++ b/crates/assistant_context_editor/src/context.rs @@ -2611,7 +2611,9 @@ impl AssistantContext { .map(MessageContent::Text), ); - completion_request.messages.push(request_message); + if !request_message.contents_empty() { + completion_request.messages.push(request_message); + } } if let RequestType::SuggestEdits = request_type { diff --git a/crates/language_models/src/provider/google.rs b/crates/language_models/src/provider/google.rs index c5035f0827..1b25eade5a 100644 --- a/crates/language_models/src/provider/google.rs +++ b/crates/language_models/src/provider/google.rs @@ -442,13 +442,20 @@ pub fn into_google( contents: request .messages .into_iter() - .map(|message| google_ai::Content { - parts: map_content(message.content), - role: match message.role { - Role::User => google_ai::Role::User, - Role::Assistant => google_ai::Role::Model, - Role::System => google_ai::Role::User, // Google AI doesn't have a system role - }, + .filter_map(|message| { + let parts = map_content(message.content); + if parts.is_empty() { + None + } else { + Some(google_ai::Content { + parts, + role: match message.role { + Role::User => google_ai::Role::User, + Role::Assistant => google_ai::Role::Model, + Role::System => google_ai::Role::User, // Google AI doesn't have a system role + }, + }) + } }) .collect(), generation_config: Some(google_ai::GenerationConfig {