Set tool schema format for zed.dev language model (#27788)
Release Notes: - N/A
This commit is contained in:
parent
fc269dfaf9
commit
01a2c8eb01
2 changed files with 14 additions and 3 deletions
|
@ -14,7 +14,7 @@ use smol::lock::{RwLock, RwLockUpgradableReadGuard, RwLockWriteGuard};
|
||||||
use strum::EnumIter;
|
use strum::EnumIter;
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
|
|
||||||
use crate::LanguageModelAvailability;
|
use crate::{LanguageModelAvailability, LanguageModelToolSchemaFormat};
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, JsonSchema)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, JsonSchema)]
|
||||||
#[serde(tag = "provider", rename_all = "lowercase")]
|
#[serde(tag = "provider", rename_all = "lowercase")]
|
||||||
|
@ -113,6 +113,13 @@ impl CloudModel {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn tool_input_format(&self) -> LanguageModelToolSchemaFormat {
|
||||||
|
match self {
|
||||||
|
Self::Anthropic(_) | Self::OpenAi(_) => LanguageModelToolSchemaFormat::JsonSchema,
|
||||||
|
Self::Google(_) => LanguageModelToolSchemaFormat::JsonSchemaSubset,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Error, Debug)]
|
#[derive(Error, Debug)]
|
||||||
|
|
|
@ -15,8 +15,8 @@ use http_client::{AsyncBody, HttpClient, Method, Response, StatusCode};
|
||||||
use language_model::{
|
use language_model::{
|
||||||
AuthenticateError, CloudModel, LanguageModel, LanguageModelCacheConfiguration, LanguageModelId,
|
AuthenticateError, CloudModel, LanguageModel, LanguageModelCacheConfiguration, LanguageModelId,
|
||||||
LanguageModelName, LanguageModelProviderId, LanguageModelProviderName,
|
LanguageModelName, LanguageModelProviderId, LanguageModelProviderName,
|
||||||
LanguageModelProviderState, LanguageModelProviderTosView, LanguageModelRequest, RateLimiter,
|
LanguageModelProviderState, LanguageModelProviderTosView, LanguageModelRequest,
|
||||||
ZED_CLOUD_PROVIDER_ID,
|
LanguageModelToolSchemaFormat, RateLimiter, ZED_CLOUD_PROVIDER_ID,
|
||||||
};
|
};
|
||||||
use language_model::{
|
use language_model::{
|
||||||
LanguageModelAvailability, LanguageModelCompletionEvent, LanguageModelProvider, LlmApiToken,
|
LanguageModelAvailability, LanguageModelCompletionEvent, LanguageModelProvider, LlmApiToken,
|
||||||
|
@ -559,6 +559,10 @@ impl LanguageModel for CloudLanguageModel {
|
||||||
self.model.availability()
|
self.model.availability()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn tool_input_format(&self) -> LanguageModelToolSchemaFormat {
|
||||||
|
self.model.tool_input_format()
|
||||||
|
}
|
||||||
|
|
||||||
fn max_token_count(&self) -> usize {
|
fn max_token_count(&self) -> usize {
|
||||||
self.model.max_token_count()
|
self.model.max_token_count()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue