修正响应解析错误的 provider 归属
parse_json_payload 增加 ImageProvider 参数,ResponseParse 使用实际 provider 共享的 handle_image_response 解析失败时不再把 Tiantoken 响应记成 vector-engine
This commit is contained in:
@@ -1,19 +1,20 @@
|
||||
use serde_json::Value;
|
||||
|
||||
use crate::image_provider::{
|
||||
constants::VECTOR_ENGINE_PROVIDER,
|
||||
error::PlatformImageError,
|
||||
types::ImageProvider,
|
||||
util::{ParsedJsonPayload, truncate_raw},
|
||||
};
|
||||
|
||||
pub(super) fn parse_json_payload(
|
||||
raw_text: &str,
|
||||
failure_context: &str,
|
||||
provider: ImageProvider,
|
||||
) -> Result<ParsedJsonPayload, PlatformImageError> {
|
||||
serde_json::from_str::<Value>(raw_text)
|
||||
.map(|payload| ParsedJsonPayload { payload })
|
||||
.map_err(|error| PlatformImageError::ResponseParse {
|
||||
provider: VECTOR_ENGINE_PROVIDER,
|
||||
provider: provider.as_str(),
|
||||
message: format!("{failure_context}:解析响应失败:{error}"),
|
||||
raw_excerpt: truncate_raw(raw_text),
|
||||
audit: None,
|
||||
|
||||
@@ -66,7 +66,7 @@ pub(crate) async fn handle_image_response(
|
||||
});
|
||||
}
|
||||
|
||||
let response_json = match parse_json_payload(response_text, failure_context) {
|
||||
let response_json = match parse_json_payload(response_text, failure_context, provider) {
|
||||
Ok(response_json) => response_json,
|
||||
Err(error) => {
|
||||
let audit = build_failure_audit(
|
||||
|
||||
Reference in New Issue
Block a user