Fix regression that caused Anthropic custom models to error (#15329)

/cc: @bennetbo 

Release Notes:

- N/A

Co-authored-by: Nathan <nathan@zed.dev>
This commit is contained in:
Antonio Scandurra 2024-07-27 14:45:18 +02:00 committed by GitHub
parent 4bd935b409
commit 70e895a8c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 4 additions and 14 deletions

View file

@ -100,21 +100,13 @@ impl From<Role> for String {
#[derive(Debug, Serialize)] #[derive(Debug, Serialize)]
pub struct Request { pub struct Request {
#[serde(serialize_with = "serialize_request_model")] pub model: String,
pub model: Model,
pub messages: Vec<RequestMessage>, pub messages: Vec<RequestMessage>,
pub stream: bool, pub stream: bool,
pub system: String, pub system: String,
pub max_tokens: u32, pub max_tokens: u32,
} }
fn serialize_request_model<S>(model: &Model, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(&model.id())
}
#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq)]
pub struct RequestMessage { pub struct RequestMessage {
pub role: Role, pub role: Role,

View file

@ -4697,8 +4697,6 @@ async fn complete_with_anthropic(
session: UserSession, session: UserSession,
api_key: Arc<str>, api_key: Arc<str>,
) -> Result<()> { ) -> Result<()> {
let model = anthropic::Model::from_id(&request.model)?;
let mut system_message = String::new(); let mut system_message = String::new();
let messages = request let messages = request
.messages .messages
@ -4734,7 +4732,7 @@ async fn complete_with_anthropic(
anthropic::ANTHROPIC_API_URL, anthropic::ANTHROPIC_API_URL,
&api_key, &api_key,
anthropic::Request { anthropic::Request {
model, model: request.model,
messages, messages,
stream: true, stream: true,
system: system_message, system: system_message,

View file

@ -27,7 +27,7 @@ pub struct LanguageModelCompletionProvider {
const MAX_CONCURRENT_COMPLETION_REQUESTS: usize = 4; const MAX_CONCURRENT_COMPLETION_REQUESTS: usize = 4;
pub struct LanguageModelCompletionResponse { pub struct LanguageModelCompletionResponse {
pub inner: BoxStream<'static, Result<String>>, inner: BoxStream<'static, Result<String>>,
_lock: SemaphoreGuardArc, _lock: SemaphoreGuardArc,
} }

View file

@ -174,7 +174,7 @@ impl AnthropicModel {
} }
Request { Request {
model: self.model.clone(), model: self.model.id().to_string(),
messages: request messages: request
.messages .messages
.iter() .iter()