mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-03 16:07:46 +08:00
fix: avoid usage payload json recursion overflow
This commit is contained in:
@@ -1409,7 +1409,6 @@ pub fn admin_usage_record_json(
|
|||||||
"provider": item.provider_name,
|
"provider": item.provider_name,
|
||||||
"model": item.model,
|
"model": item.model,
|
||||||
"target_model": item.target_model,
|
"target_model": item.target_model,
|
||||||
"response_model": item.provider_response_model(),
|
|
||||||
"input_tokens": item.input_tokens,
|
"input_tokens": item.input_tokens,
|
||||||
"effective_input_tokens": admin_usage_effective_input_tokens(item),
|
"effective_input_tokens": admin_usage_effective_input_tokens(item),
|
||||||
"output_tokens": item.output_tokens,
|
"output_tokens": item.output_tokens,
|
||||||
@@ -1447,6 +1446,11 @@ pub fn admin_usage_record_json(
|
|||||||
let object = payload
|
let object = payload
|
||||||
.as_object_mut()
|
.as_object_mut()
|
||||||
.expect("admin usage record payload should be an object");
|
.expect("admin usage record payload should be an object");
|
||||||
|
// 大型 json! 宏接近 Rust 的递归展开上限,响应模型在宏展开后补入即可避免编译失败。
|
||||||
|
object.insert(
|
||||||
|
"response_model".to_string(),
|
||||||
|
json!(item.provider_response_model()),
|
||||||
|
);
|
||||||
object.insert(
|
object.insert(
|
||||||
"end_to_end_time_ms".to_string(),
|
"end_to_end_time_ms".to_string(),
|
||||||
json!(admin_usage_metadata_u64(item, "end_to_end_time_ms")),
|
json!(admin_usage_metadata_u64(item, "end_to_end_time_ms")),
|
||||||
|
|||||||
Reference in New Issue
Block a user