Merge remote-tracking branch 'pr-434/fix-provider-model-test-compat' into aether-rust-pioneer

This commit is contained in:
fawney19
2026-05-14 01:28:33 +08:00
29 changed files with 8478 additions and 2385 deletions

View File

@@ -1,5 +1,5 @@
use serde_json::Map;
use serde_json::Value;
use serde_json::{json, Map};
use crate::formats::context::FormatContext;
use crate::formats::openai::embedding::request::mapped_embedding_model;
@@ -24,7 +24,7 @@ pub fn to(request: &CanonicalRequest, ctx: &FormatContext) -> Option<Value> {
Value::Array(
items
.into_iter()
.map(|text| json!({"type": "text", "text": text}))
.map(|text| Value::String(text.to_string()))
.collect(),
),
);

View File

@@ -239,11 +239,11 @@ mod tests {
"openai:embedding",
"doubao:embedding",
&body,
&FormatContext::default().with_mapped_model("doubao-embedding-vision"),
&FormatContext::default().with_mapped_model("doubao-embedding-text-240515"),
)
.expect("doubao embedding conversion should succeed");
assert_eq!(doubao["model"], "doubao-embedding-vision");
assert_eq!(doubao["input"][0], json!({"type": "text", "text": "alpha"}));
assert_eq!(doubao["model"], "doubao-embedding-text-240515");
assert_eq!(doubao["input"], json!(["alpha", "beta"]));
assert!(doubao.get("messages").is_none());
}

View File

@@ -4758,10 +4758,13 @@ mod tests {
);
assert!(gemini.get("messages").is_none());
let doubao =
super::canonical_to_embedding_request(&canonical, "doubao-embedding-vision", "doubao")
.expect("doubao embedding request");
assert_eq!(doubao["input"][0], json!({"type": "text", "text": "alpha"}));
let doubao = super::canonical_to_embedding_request(
&canonical,
"doubao-embedding-text-240515",
"doubao",
)
.expect("doubao embedding request");
assert_eq!(doubao["input"], json!(["alpha", "beta"]));
assert!(doubao.get("messages").is_none());
}
@@ -4802,11 +4805,14 @@ mod tests {
assert_eq!(gemini["content"]["parts"][0]["text"], "alpha");
assert!(gemini.get("requests").is_none());
let doubao =
super::canonical_to_embedding_request(&single, "doubao-embedding-vision", "doubao")
.expect("doubao embedding request");
assert_eq!(doubao["model"], "doubao-embedding-vision");
assert_eq!(doubao["input"], json!([{"type": "text", "text": "alpha"}]));
let doubao = super::canonical_to_embedding_request(
&single,
"doubao-embedding-text-240515",
"doubao",
)
.expect("doubao embedding request");
assert_eq!(doubao["model"], "doubao-embedding-text-240515");
assert_eq!(doubao["input"], json!(["alpha"]));
assert_eq!(doubao["dimensions"], 1536);
}