language_models: Pass up mode from the LanguageModelRequest (#29552)

This PR makes it so we pass up the `mode` from the
`LanguageModelRequest` when interacting with the Zed provider instead of
passing a hard-coded value.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2025-04-28 13:38:55 -04:00 committed by GitHub
parent abb48b7711
commit cd86905ebe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -35,7 +35,7 @@ use strum::IntoEnumIterator;
use thiserror::Error; use thiserror::Error;
use ui::{TintColor, prelude::*}; use ui::{TintColor, prelude::*};
use zed_llm_client::{ use zed_llm_client::{
CURRENT_PLAN_HEADER_NAME, CompletionBody, CompletionMode, CountTokensBody, CountTokensResponse, CURRENT_PLAN_HEADER_NAME, CompletionBody, CountTokensBody, CountTokensResponse,
EXPIRED_LLM_TOKEN_HEADER_NAME, MAX_LLM_MONTHLY_SPEND_REACHED_HEADER_NAME, EXPIRED_LLM_TOKEN_HEADER_NAME, MAX_LLM_MONTHLY_SPEND_REACHED_HEADER_NAME,
MODEL_REQUESTS_RESOURCE_HEADER_VALUE, SUBSCRIPTION_LIMIT_RESOURCE_HEADER_NAME, MODEL_REQUESTS_RESOURCE_HEADER_VALUE, SUBSCRIPTION_LIMIT_RESOURCE_HEADER_NAME,
}; };
@ -769,6 +769,7 @@ impl LanguageModel for CloudLanguageModel {
> { > {
let thread_id = request.thread_id.clone(); let thread_id = request.thread_id.clone();
let prompt_id = request.prompt_id.clone(); let prompt_id = request.prompt_id.clone();
let mode = request.mode;
match &self.model { match &self.model {
CloudModel::Anthropic(model) => { CloudModel::Anthropic(model) => {
let request = into_anthropic( let request = into_anthropic(
@ -787,7 +788,7 @@ impl LanguageModel for CloudLanguageModel {
CompletionBody { CompletionBody {
thread_id, thread_id,
prompt_id, prompt_id,
mode: Some(CompletionMode::Max), mode,
provider: zed_llm_client::LanguageModelProvider::Anthropic, provider: zed_llm_client::LanguageModelProvider::Anthropic,
model: request.model.clone(), model: request.model.clone(),
provider_request: serde_json::to_value(&request)?, provider_request: serde_json::to_value(&request)?,
@ -834,7 +835,7 @@ impl LanguageModel for CloudLanguageModel {
CompletionBody { CompletionBody {
thread_id, thread_id,
prompt_id, prompt_id,
mode: Some(CompletionMode::Max), mode,
provider: zed_llm_client::LanguageModelProvider::OpenAi, provider: zed_llm_client::LanguageModelProvider::OpenAi,
model: request.model.clone(), model: request.model.clone(),
provider_request: serde_json::to_value(&request)?, provider_request: serde_json::to_value(&request)?,
@ -865,7 +866,7 @@ impl LanguageModel for CloudLanguageModel {
CompletionBody { CompletionBody {
thread_id, thread_id,
prompt_id, prompt_id,
mode: Some(CompletionMode::Max), mode,
provider: zed_llm_client::LanguageModelProvider::Google, provider: zed_llm_client::LanguageModelProvider::Google,
model: request.model.clone(), model: request.model.clone(),
provider_request: serde_json::to_value(&request)?, provider_request: serde_json::to_value(&request)?,