Reuse conversation cache when streaming edits (#30245)
Release Notes: - Improved latency when the agent applies edits.
This commit is contained in:
parent
032022e37b
commit
9f6809a28d
50 changed files with 847 additions and 21557 deletions
|
@ -20,8 +20,8 @@ use language_model::{
|
|||
AuthenticateError, LanguageModel, LanguageModelCompletionError, LanguageModelCompletionEvent,
|
||||
LanguageModelId, LanguageModelName, LanguageModelProvider, LanguageModelProviderId,
|
||||
LanguageModelProviderName, LanguageModelProviderState, LanguageModelRequest,
|
||||
LanguageModelRequestMessage, LanguageModelToolUse, MessageContent, RateLimiter, Role,
|
||||
StopReason,
|
||||
LanguageModelRequestMessage, LanguageModelToolChoice, LanguageModelToolUse, MessageContent,
|
||||
RateLimiter, Role, StopReason,
|
||||
};
|
||||
use settings::SettingsStore;
|
||||
use std::time::Duration;
|
||||
|
@ -197,6 +197,14 @@ impl LanguageModel for CopilotChatLanguageModel {
|
|||
}
|
||||
}
|
||||
|
||||
fn supports_tool_choice(&self, choice: LanguageModelToolChoice) -> bool {
|
||||
match choice {
|
||||
LanguageModelToolChoice::Auto
|
||||
| LanguageModelToolChoice::Any
|
||||
| LanguageModelToolChoice::None => self.supports_tools(),
|
||||
}
|
||||
}
|
||||
|
||||
fn telemetry_id(&self) -> String {
|
||||
format!("copilot_chat/{}", self.model.id())
|
||||
}
|
||||
|
@ -541,7 +549,11 @@ impl CopilotChatLanguageModel {
|
|||
model,
|
||||
messages,
|
||||
tools,
|
||||
tool_choice: None,
|
||||
tool_choice: request.tool_choice.map(|choice| match choice {
|
||||
LanguageModelToolChoice::Auto => copilot::copilot_chat::ToolChoice::Auto,
|
||||
LanguageModelToolChoice::Any => copilot::copilot_chat::ToolChoice::Any,
|
||||
LanguageModelToolChoice::None => copilot::copilot_chat::ToolChoice::None,
|
||||
}),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue