assistant: Fix issue when using inline assistant with Gemini models (#29407)

Closes #29020

Release Notes:

- assistant: Fix issue when using inline assistant with Gemini models
This commit is contained in:
Bennet Bo Fenner 2025-04-25 14:24:21 +02:00 committed by GitHub
parent c39adc5242
commit 93862838bd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 8 deletions

View file

@ -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 {

View file

@ -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 {