language_models: Remove Baseten provider (#64463)

Remove Baseten from the hosted language model provider protocol and
cloud model routing.

Release Notes:

- N/A
This commit is contained in:
Tom Houlé authored and GitHub committed 2026-09-21 17:57:36 +00:00
1 parent f2af4a2804
commit 329142ebfc
3 files changed
+11 -23

No files matched your search

@@ -91,7 +91,6 @@ impl FromStr for UsageLimit {
#[strum(serialize_all = "snake_case")]
pub enum LanguageModelProvider {
Anthropic,
Baseten,
OpenAi,
Google,
XAi,
@@ -5,10 +5,6 @@ pub const ANTHROPIC_PROVIDER_ID: LanguageModelProviderId =
pub const ANTHROPIC_PROVIDER_NAME: LanguageModelProviderName =
LanguageModelProviderName::new("Anthropic");
pub const BASETEN_PROVIDER_ID: LanguageModelProviderId = LanguageModelProviderId::new("baseten");
pub const BASETEN_PROVIDER_NAME: LanguageModelProviderName =
LanguageModelProviderName::new("Baseten");
pub const OPEN_AI_PROVIDER_ID: LanguageModelProviderId = LanguageModelProviderId::new("openai");
pub const OPEN_AI_PROVIDER_NAME: LanguageModelProviderName =
LanguageModelProviderName::new("OpenAI");
@@ -29,8 +25,6 @@ pub fn provider_name_for_id(provider_id: &LanguageModelProviderId) -> LanguageMo
OPEN_AI_PROVIDER_NAME
} else if provider_id == &ANTHROPIC_PROVIDER_ID {
ANTHROPIC_PROVIDER_NAME
} else if provider_id == &BASETEN_PROVIDER_ID {
BASETEN_PROVIDER_NAME
} else if provider_id == &GOOGLE_PROVIDER_ID {
GOOGLE_PROVIDER_NAME
} else if provider_id == &X_AI_PROVIDER_ID {
@@ -19,13 +19,13 @@ use http_client::{
AsyncBody, HttpClient, HttpClientWithUrl, HttpRequestExt, Method, Response, StatusCode,
};
use language_model::{
ANTHROPIC_PROVIDER_ID, ANTHROPIC_PROVIDER_NAME, BASETEN_PROVIDER_ID, BASETEN_PROVIDER_NAME,
CompactionResult, DisabledReason, GOOGLE_PROVIDER_ID, GOOGLE_PROVIDER_NAME, LanguageModel,
LanguageModelCompletionError, LanguageModelCompletionEvent, LanguageModelEffortLevel,
LanguageModelId, LanguageModelName, LanguageModelProviderId, LanguageModelProviderName,
LanguageModelRequest, LanguageModelToolChoice, OPEN_AI_PROVIDER_ID, OPEN_AI_PROVIDER_NAME,
ProviderErrorCategory, RateLimiter, X_AI_PROVIDER_ID, X_AI_PROVIDER_NAME,
ZED_CLOUD_PROVIDER_ID, ZED_CLOUD_PROVIDER_NAME,
ANTHROPIC_PROVIDER_ID, ANTHROPIC_PROVIDER_NAME, CompactionResult, DisabledReason,
GOOGLE_PROVIDER_ID, GOOGLE_PROVIDER_NAME, LanguageModel, LanguageModelCompletionError,
LanguageModelCompletionEvent, LanguageModelEffortLevel, LanguageModelId, LanguageModelName,
LanguageModelProviderId, LanguageModelProviderName, LanguageModelRequest,
LanguageModelToolChoice, OPEN_AI_PROVIDER_ID, OPEN_AI_PROVIDER_NAME, ProviderErrorCategory,
RateLimiter, X_AI_PROVIDER_ID, X_AI_PROVIDER_NAME, ZED_CLOUD_PROVIDER_ID,
ZED_CLOUD_PROVIDER_NAME,
};
use schemars::JsonSchema;
@@ -607,7 +607,6 @@ impl<TP: CloudLlmTokenProvider + 'static> LanguageModel for CloudLanguageModel<T
use cloud_llm_client::LanguageModelProvider::*;
match self.model.provider {
Anthropic => ANTHROPIC_PROVIDER_ID,
Baseten => BASETEN_PROVIDER_ID,
OpenAi => OPEN_AI_PROVIDER_ID,
Google => GOOGLE_PROVIDER_ID,
XAi => X_AI_PROVIDER_ID,
@@ -618,7 +617,6 @@ impl<TP: CloudLlmTokenProvider + 'static> LanguageModel for CloudLanguageModel<T
use cloud_llm_client::LanguageModelProvider::*;
match self.model.provider {
Anthropic => ANTHROPIC_PROVIDER_NAME,
Baseten => BASETEN_PROVIDER_NAME,
OpenAi => OPEN_AI_PROVIDER_NAME,
Google => GOOGLE_PROVIDER_NAME,
XAi => X_AI_PROVIDER_NAME,
@@ -726,8 +724,7 @@ impl<TP: CloudLlmTokenProvider + 'static> LanguageModel for CloudLanguageModel<T
// Unreachable while the `supports_explicit_compaction` guard
// above holds, but a provider mismatch should degrade to the
// same unsupported error rather than panic.
cloud_llm_client::LanguageModelProvider::Baseten
| cloud_llm_client::LanguageModelProvider::Google
cloud_llm_client::LanguageModelProvider::Google
| cloud_llm_client::LanguageModelProvider::XAi => async {
Err(LanguageModelCompletionError::Other(anyhow::anyhow!(
"this cloud model does not support explicit compaction"
@@ -765,7 +762,7 @@ impl<TP: CloudLlmTokenProvider + 'static> LanguageModel for CloudLanguageModel<T
fn supports_split_token_display(&self) -> bool {
use cloud_llm_client::LanguageModelProvider::*;
matches!(self.model.provider, Baseten | OpenAi | XAi)
matches!(self.model.provider, OpenAi | XAi)
}
fn telemetry_id(&self) -> String {
@@ -969,8 +966,7 @@ impl<TP: CloudLlmTokenProvider + 'static> LanguageModel for CloudLanguageModel<T
});
async move { Ok(future.await?.boxed()) }.boxed()
}
provider @ (cloud_llm_client::LanguageModelProvider::Baseten
| cloud_llm_client::LanguageModelProvider::XAi) => {
cloud_llm_client::LanguageModelProvider::XAi => {
let http_client = self.http_client.clone();
let token_provider = self.token_provider.clone();
let request = match into_open_ai(
@@ -1000,7 +996,7 @@ impl<TP: CloudLlmTokenProvider + 'static> LanguageModel for CloudLanguageModel<T
CompletionBody {
thread_id,
prompt_id,
provider,
provider: cloud_llm_client::LanguageModelProvider::XAi,
model: request.model.clone(),
provider_request: serde_json::to_value(&request).map_err(|error| {
LanguageModelCompletionError::SerializeRequest {
@@ -1288,7 +1284,6 @@ pub fn provider_name(
) -> LanguageModelProviderName {
match provider {
cloud_llm_client::LanguageModelProvider::Anthropic => ANTHROPIC_PROVIDER_NAME,
cloud_llm_client::LanguageModelProvider::Baseten => BASETEN_PROVIDER_NAME,
cloud_llm_client::LanguageModelProvider::OpenAi => OPEN_AI_PROVIDER_NAME,
cloud_llm_client::LanguageModelProvider::Google => GOOGLE_PROVIDER_NAME,
cloud_llm_client::LanguageModelProvider::XAi => X_AI_PROVIDER_NAME,