Skip to content

Commit c907784

Browse files
authored
Merge pull request #150 from aws/revert-135-evannliu/model-selection
Revert "feat: model selection for chat"
2 parents 90476ed + 2791177 commit c907784

File tree

15 files changed

+7
-455
lines changed

15 files changed

+7
-455
lines changed

crates/chat-cli/src/api_client/clients/client.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ impl Client {
7878
telemetry_event: TelemetryEvent,
7979
user_context: UserContext,
8080
telemetry_enabled: bool,
81-
model_id: Option<String>,
8281
) -> Result<(), ApiClientError> {
8382
match &self.inner {
8483
inner::Inner::Codewhisperer(client) => {
@@ -91,7 +90,6 @@ impl Client {
9190
false => OptOutPreference::OptOut,
9291
})
9392
.set_profile_arn(self.profile.as_ref().map(|p| p.arn.clone()))
94-
.set_model_id(model_id)
9593
.send()
9694
.await;
9795
Ok(())
@@ -161,7 +159,6 @@ mod tests {
161159
.build()
162160
.unwrap(),
163161
false,
164-
Some("model".to_owned()),
165162
)
166163
.await
167164
.unwrap();

crates/chat-cli/src/api_client/clients/streaming_client.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ impl StreamingClient {
139139

140140
match &self.inner {
141141
inner::Inner::Codewhisperer(client) => {
142-
let model_id_opt: Option<String> = user_input_message.model_id.clone();
143142
let conversation_state = amzn_codewhisperer_streaming_client::types::ConversationState::builder()
144143
.set_conversation_id(conversation_id)
145144
.current_message(
@@ -171,22 +170,10 @@ impl StreamingClient {
171170
&& err.meta().message() == Some("Input is too long."))
172171
});
173172

174-
let is_model_unavailable = model_id_opt.is_some()
175-
&& e.raw_response().is_some_and(|resp| resp.status().as_u16() == 500)
176-
&& e.as_service_error().is_some_and(|err| {
177-
err.meta().message()
178-
== Some("Encountered unexpectedly high load when processing the request, please try again.")
179-
});
180173
if is_quota_breach {
181174
Err(ApiClientError::QuotaBreach("quota has reached its limit"))
182175
} else if is_context_window_overflow {
183176
Err(ApiClientError::ContextWindowOverflow)
184-
} else if is_model_unavailable {
185-
let request_id = e
186-
.as_service_error()
187-
.and_then(|err| err.meta().request_id())
188-
.map(|s| s.to_string());
189-
Err(ApiClientError::ModelOverloadedError(request_id))
190177
} else {
191178
Err(e.into())
192179
}
@@ -304,7 +291,6 @@ mod tests {
304291
content: "Hello".into(),
305292
user_input_message_context: None,
306293
user_intent: None,
307-
model_id: Some("model".to_owned()),
308294
},
309295
history: None,
310296
})
@@ -331,15 +317,13 @@ mod tests {
331317
content: "How about rustc?".into(),
332318
user_input_message_context: None,
333319
user_intent: None,
334-
model_id: Some("model".to_owned()),
335320
},
336321
history: Some(vec![
337322
ChatMessage::UserInputMessage(UserInputMessage {
338323
images: None,
339324
content: "What language is the linux kernel written in, and who wrote it?".into(),
340325
user_input_message_context: None,
341326
user_intent: None,
342-
model_id: None,
343327
}),
344328
ChatMessage::AssistantResponseMessage(AssistantResponseMessage {
345329
content: "It is written in C by Linus Torvalds.".into(),

crates/chat-cli/src/api_client/error.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,6 @@ pub enum ApiClientError {
6565

6666
#[error(transparent)]
6767
AuthError(#[from] AuthError),
68-
69-
#[error(
70-
"The model you've selected is temporarily unavailable. Please use '/model' to select a different model and try again."
71-
)]
72-
ModelOverloadedError(Option<String>),
7368
}
7469

7570
#[cfg(test)]

crates/chat-cli/src/api_client/model.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,6 @@ pub struct UserInputMessage {
859859
pub user_input_message_context: Option<UserInputMessageContext>,
860860
pub user_intent: Option<UserIntent>,
861861
pub images: Option<Vec<ImageBlock>>,
862-
pub model_id: Option<String>,
863862
}
864863

865864
impl From<UserInputMessage> for amzn_codewhisperer_streaming_client::types::UserInputMessage {
@@ -869,7 +868,6 @@ impl From<UserInputMessage> for amzn_codewhisperer_streaming_client::types::User
869868
.set_images(value.images.map(|images| images.into_iter().map(Into::into).collect()))
870869
.set_user_input_message_context(value.user_input_message_context.map(Into::into))
871870
.set_user_intent(value.user_intent.map(Into::into))
872-
.set_model_id(value.model_id)
873871
.origin(amzn_codewhisperer_streaming_client::types::Origin::Cli)
874872
.build()
875873
.expect("Failed to build UserInputMessage")
@@ -883,7 +881,6 @@ impl From<UserInputMessage> for amzn_qdeveloper_streaming_client::types::UserInp
883881
.set_images(value.images.map(|images| images.into_iter().map(Into::into).collect()))
884882
.set_user_input_message_context(value.user_input_message_context.map(Into::into))
885883
.set_user_intent(value.user_intent.map(Into::into))
886-
.set_model_id(value.model_id)
887884
.origin(amzn_qdeveloper_streaming_client::types::Origin::Cli)
888885
.build()
889886
.expect("Failed to build UserInputMessage")
@@ -979,7 +976,6 @@ mod tests {
979976
})]),
980977
}),
981978
user_intent: Some(UserIntent::ApplyCommonBestPractices),
982-
model_id: Some("model id".to_string()),
983979
};
984980

985981
let codewhisper_input =
@@ -993,7 +989,6 @@ mod tests {
993989
content: "test content".to_string(),
994990
user_input_message_context: None,
995991
user_intent: None,
996-
model_id: Some("model id".to_string()),
997992
};
998993

999994
let codewhisper_minimal =

crates/chat-cli/src/cli/chat/cli.rs

Lines changed: 0 additions & 151 deletions
This file was deleted.

crates/chat-cli/src/cli/chat/command.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ pub enum Command {
5959
force: bool,
6060
},
6161
Mcp,
62-
Model,
6362
}
6463

6564
#[derive(Debug, Clone, PartialEq, Eq)]
@@ -840,7 +839,6 @@ impl Command {
840839
Self::Save { path, force }
841840
},
842841
"mcp" => Self::Mcp,
843-
"model" => Self::Model,
844842
unknown_command => {
845843
let looks_like_path = {
846844
let after_slash_command_str = parts[1..].join(" ");

crates/chat-cli/src/cli/chat/conversation_state.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,6 @@ pub struct ConversationState {
105105
latest_summary: Option<String>,
106106
#[serde(skip)]
107107
pub updates: Option<SharedWriter>,
108-
/// Model explicitly selected by the user in this conversation state via `/model`. (`None` ==
109-
/// auto)
110-
#[serde(default, skip_serializing_if = "Option::is_none")]
111-
pub current_model_id: Option<String>,
112108
}
113109

114110
impl ConversationState {
@@ -119,7 +115,6 @@ impl ConversationState {
119115
profile: Option<String>,
120116
updates: Option<SharedWriter>,
121117
tool_manager: ToolManager,
122-
current_model_id: Option<String>,
123118
) -> Self {
124119
// Initialize context manager
125120
let context_manager = match ContextManager::new(ctx, None).await {
@@ -162,7 +157,6 @@ impl ConversationState {
162157
context_message_length: None,
163158
latest_summary: None,
164159
updates,
165-
current_model_id,
166160
}
167161
}
168162

@@ -534,7 +528,6 @@ impl ConversationState {
534528
context_messages,
535529
dropped_context_files,
536530
tools: &self.tools,
537-
model_id: self.current_model_id.as_deref(),
538531
}
539532
}
540533

@@ -606,7 +599,6 @@ impl ConversationState {
606599
user_input_message_context: None,
607600
user_intent: None,
608601
images: None,
609-
model_id: self.current_model_id.clone(),
610602
};
611603

612604
// If the last message contains tool uses, then add cancelled tool results to the summary
@@ -838,7 +830,6 @@ pub struct BackendConversationStateImpl<'a, T, U> {
838830
pub context_messages: U,
839831
pub dropped_context_files: Vec<(String, String)>,
840832
pub tools: &'a HashMap<ToolOrigin, Vec<Tool>>,
841-
pub model_id: Option<&'a str>,
842833
}
843834

844835
impl
@@ -855,7 +846,6 @@ impl
855846
.cloned()
856847
.map(UserMessage::into_user_input_message)
857848
.ok_or(eyre::eyre!("next user message is not set"))?;
858-
user_input_message.model_id = self.model_id.map(str::to_string);
859849
if let Some(ctx) = user_input_message.user_input_message_context.as_mut() {
860850
ctx.tools = Some(self.tools.values().flatten().cloned().collect::<Vec<_>>());
861851
}
@@ -1069,7 +1059,6 @@ mod tests {
10691059
None,
10701060
None,
10711061
tool_manager,
1072-
None,
10731062
)
10741063
.await;
10751064

@@ -1100,7 +1089,6 @@ mod tests {
11001089
None,
11011090
None,
11021091
tool_manager.clone(),
1103-
None,
11041092
)
11051093
.await;
11061094
conversation_state.set_next_user_message("start".to_string()).await;
@@ -1132,7 +1120,6 @@ mod tests {
11321120
None,
11331121
None,
11341122
tool_manager.clone(),
1135-
None,
11361123
)
11371124
.await;
11381125
conversation_state.set_next_user_message("start".to_string()).await;
@@ -1178,7 +1165,6 @@ mod tests {
11781165
None,
11791166
None,
11801167
tool_manager,
1181-
None,
11821168
)
11831169
.await;
11841170

@@ -1249,7 +1235,6 @@ mod tests {
12491235
None,
12501236
Some(SharedWriter::stdout()),
12511237
tool_manager,
1252-
None,
12531238
)
12541239
.await;
12551240

0 commit comments

Comments
 (0)