mirror of
https://github.com/katanemo/plano.git
synced 2026-06-17 15:25:17 +02:00
remove metadata
This commit is contained in:
parent
4c1e352bc9
commit
d0623b0438
4 changed files with 22 additions and 29 deletions
|
|
@ -32,12 +32,12 @@ pub async fn chat_completions(
|
|||
let chat_request_bytes = request.collect().await?.to_bytes();
|
||||
|
||||
let chat_request_parsed = serde_json::from_slice::<serde_json::Value>(&chat_request_bytes)
|
||||
.map_err(|err| {
|
||||
.inspect_err(|err| {
|
||||
warn!(
|
||||
"Failed to parse request body as JSON: {}",
|
||||
"Failed to parse request body as JSON: err: {}, str: {}",
|
||||
err,
|
||||
String::from_utf8_lossy(&chat_request_bytes)
|
||||
);
|
||||
err
|
||||
)
|
||||
})
|
||||
.unwrap_or_else(|_| {
|
||||
warn!(
|
||||
|
|
@ -55,40 +55,32 @@ pub async fn chat_completions(
|
|||
return Ok(bad_request);
|
||||
}
|
||||
|
||||
let chat_completion_request: ChatCompletionsRequest =
|
||||
serde_json::from_value(chat_request_parsed.clone()).unwrap();
|
||||
|
||||
// remove metadata from the request
|
||||
let mut chat_request_parsed = chat_request_parsed;
|
||||
if let Some(metadata) = chat_request_parsed.get_mut("metadata") {
|
||||
let mut chat_request_user_preferences_removed = chat_request_parsed;
|
||||
if let Some(metadata) = chat_request_user_preferences_removed.get_mut("metadata") {
|
||||
info!("Removing metadata from request");
|
||||
metadata.as_object_mut().map(|m| {
|
||||
if let Some(m) = metadata.as_object_mut() {
|
||||
m.remove("archgw_preference_config");
|
||||
info!("Removed archgw_preference_config from metadata");
|
||||
});
|
||||
}
|
||||
|
||||
// metadata.as_object_mut().map(|m| {
|
||||
// m.remove("archgw_preference_config");
|
||||
// info!("Removed archgw_preference_config from metadata");
|
||||
// });
|
||||
|
||||
// if metadata is empty, remove it
|
||||
if metadata.as_object().map_or(false, |m| m.is_empty()) {
|
||||
info!("Removing empty metadata from request");
|
||||
chat_request_parsed
|
||||
chat_request_user_preferences_removed
|
||||
.as_object_mut()
|
||||
.map(|m| m.remove("metadata"));
|
||||
}
|
||||
}
|
||||
|
||||
let chat_completion_request: ChatCompletionsRequest =
|
||||
match ChatCompletionsRequest::try_from(chat_request_bytes.as_ref()) {
|
||||
Ok(request) => request,
|
||||
Err(err) => {
|
||||
warn!(
|
||||
"arch-router request body string: {}",
|
||||
String::from_utf8_lossy(&chat_request_bytes)
|
||||
);
|
||||
let err_msg = format!("Failed to parse request body: {}", err);
|
||||
warn!("{}", err_msg);
|
||||
let mut bad_request = Response::new(full(err_msg));
|
||||
*bad_request.status_mut() = StatusCode::BAD_REQUEST;
|
||||
return Ok(bad_request);
|
||||
}
|
||||
};
|
||||
|
||||
trace!(
|
||||
"arch-router request body: {}",
|
||||
&serde_json::to_string(&chat_completion_request).unwrap()
|
||||
|
|
@ -153,7 +145,8 @@ pub async fn chat_completions(
|
|||
);
|
||||
}
|
||||
|
||||
let chat_request_parsed_bytes = serde_json::to_string(&chat_request_parsed).unwrap();
|
||||
let chat_request_parsed_bytes =
|
||||
serde_json::to_string(&chat_request_user_preferences_removed).unwrap();
|
||||
|
||||
// remove content-length header if it exists
|
||||
request_headers.remove(header::CONTENT_LENGTH);
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ impl RouterService {
|
|||
router_model_v1::MAX_TOKEN_LEN,
|
||||
));
|
||||
|
||||
let llm_provider_map: HashMap<String, LlmProvider> = providers
|
||||
let llm_provider_map: HashMap<String, LlmProvider> = providers
|
||||
.into_iter()
|
||||
.map(|provider| (provider.name.clone(), provider))
|
||||
.collect();
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
use hermesllm::providers::openai::types::{ModelDetail, ModelObject, Models};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_with::skip_serializing_none;
|
||||
use std::collections::HashMap;
|
||||
use std::fmt::Display;
|
||||
use serde_with::skip_serializing_none;
|
||||
|
||||
use crate::api::open_ai::{
|
||||
ChatCompletionTool, FunctionDefinition, FunctionParameter, FunctionParameters, ParameterType,
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ impl HttpContext for StreamContext {
|
|||
return Action::Continue;
|
||||
}
|
||||
|
||||
self.is_chat_completions_request = CHAT_COMPLETIONS_PATH.contains(&request_path.as_str());
|
||||
self.is_chat_completions_request = CHAT_COMPLETIONS_PATH.contains(request_path.as_str());
|
||||
|
||||
debug!(
|
||||
"on_http_request_headers S[{}] req_headers={:?}",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue