修正 nanobanana 端点空模型的回落值
nanobanana_generate_content_url 空模型回落到 nanobanana 模型 新增空模型路径的单元测试
This commit is contained in:
@@ -286,11 +286,13 @@ pub fn nanobanana_generate_content_url(settings: &ImageProviderSettings, model:
|
||||
.base_url
|
||||
.trim_end_matches("/v1")
|
||||
.trim_end_matches('/');
|
||||
format!(
|
||||
"{}/v1beta/models/{}:generateContent",
|
||||
base_url,
|
||||
normalize_image_model(model)
|
||||
)
|
||||
// 中文注释:nanobanana endpoint 只服务 Gemini 模型,空模型字符串应回落到
|
||||
// nanobanana 模型,而不是 normalize_image_model 默认的 GPT 生成模型。
|
||||
let model = match model.trim() {
|
||||
"" => NANOBANANA_2_MODEL,
|
||||
value => value,
|
||||
};
|
||||
format!("{}/v1beta/models/{}:generateContent", base_url, model)
|
||||
}
|
||||
|
||||
pub(crate) fn build_image_edit_request_log_params(
|
||||
|
||||
@@ -211,6 +211,22 @@ fn nanobanana_generate_content_url_uses_model_path() {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn nanobanana_generate_content_url_blank_model_falls_back_to_nanobanana_model() {
|
||||
let settings = ImageProviderSettings {
|
||||
provider: ImageProvider::VectorEngine,
|
||||
base_url: "https://vector.example".to_string(),
|
||||
api_key: "test-key".to_string(),
|
||||
request_timeout_ms: 1_000,
|
||||
request_deadline: None,
|
||||
};
|
||||
|
||||
assert_eq!(
|
||||
nanobanana_generate_content_url(&settings, " "),
|
||||
"https://vector.example/v1beta/models/gemini-3.1-flash-image-preview:generateContent"
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn image_edit_retries_send_timeout_once_and_succeeds() {
|
||||
let listener = TcpListener::bind("127.0.0.1:0")
|
||||
|
||||
Reference in New Issue
Block a user