fix(wp7-02): use GPT image edit route for references
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m53s
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m53s
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"config_set_version": 2,
|
"config_set_version": 3,
|
||||||
"gateway_account_ref": "oneapi-intelligrow-test",
|
"gateway_account_ref": "oneapi-intelligrow-test",
|
||||||
"models": [
|
"models": [
|
||||||
{
|
{
|
||||||
@@ -23,13 +23,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"config_version": 1,
|
"config_version": 2,
|
||||||
"gateway_account_ref": "oneapi-intelligrow-test",
|
"gateway_account_ref": "oneapi-intelligrow-test",
|
||||||
"model_id": "gpt-image-2",
|
"model_id": "gpt-image-2",
|
||||||
"route_profile": {
|
"route_profile": {
|
||||||
"endpoint": "https://oneapi.intelligrow.cn/v1/images/generations",
|
"endpoint": "https://oneapi.intelligrow.cn/v1/images/generations",
|
||||||
"mode": "sync",
|
"mode": "sync",
|
||||||
"protocol_version": "openai-images-v1"
|
"protocol_version": "openai-images-v1",
|
||||||
|
"reference_endpoint": "https://oneapi.intelligrow.cn/v1/images/edits"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ function assertModelConfig(modelConfig) {
|
|||||||
|| !["gemini-native-v1", "openai-images-v1"].includes(profile.protocol_version)) {
|
|| !["gemini-native-v1", "openai-images-v1"].includes(profile.protocol_version)) {
|
||||||
throw new Error("WP7_02_ROUTE_PROFILE_INVALID");
|
throw new Error("WP7_02_ROUTE_PROFILE_INVALID");
|
||||||
}
|
}
|
||||||
|
if (profile.protocol_version === "openai-images-v1"
|
||||||
|
&& (profile.reference_endpoint !== "https://oneapi.intelligrow.cn/v1/images/edits")) {
|
||||||
|
throw new Error("WP7_02_REFERENCE_ROUTE_PROFILE_INVALID");
|
||||||
|
}
|
||||||
return modelConfig;
|
return modelConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +91,15 @@ export function buildProviderRequest({ modelConfig, prompt, ratio, reference })
|
|||||||
response_format: "b64_json",
|
response_format: "b64_json",
|
||||||
size: gptImageRequestSizeForRatio(ratio),
|
size: gptImageRequestSizeForRatio(ratio),
|
||||||
};
|
};
|
||||||
if (reference) body.image = `data:${reference.mime_type};base64,${reference.bytes.toString("base64")}`;
|
if (reference) {
|
||||||
|
const form = new FormData();
|
||||||
|
form.append("model", config.model_id);
|
||||||
|
form.append("prompt", prompt);
|
||||||
|
form.append("response_format", "b64_json");
|
||||||
|
form.append("size", gptImageRequestSizeForRatio(ratio));
|
||||||
|
form.append("image[]", new Blob([reference.bytes], { type: reference.mime_type }), "reference.png");
|
||||||
|
return { body: form, headers: {}, method: "POST", url: config.route_profile.reference_endpoint };
|
||||||
|
}
|
||||||
return { body, headers, method: "POST", url: config.route_profile.endpoint };
|
return { body, headers, method: "POST", url: config.route_profile.endpoint };
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -253,7 +265,7 @@ export async function executeProviderRequest({ fetchImpl = fetch, modelConfig, p
|
|||||||
const startedAt = performance.now();
|
const startedAt = performance.now();
|
||||||
try {
|
try {
|
||||||
const response = await fetchImpl(request.url, {
|
const response = await fetchImpl(request.url, {
|
||||||
body: JSON.stringify(request.body),
|
body: request.body instanceof FormData ? request.body : JSON.stringify(request.body),
|
||||||
headers: { ...request.headers, authorization: `Bearer ${token}` },
|
headers: { ...request.headers, authorization: `Bearer ${token}` },
|
||||||
method: request.method,
|
method: request.method,
|
||||||
signal: controller.signal,
|
signal: controller.signal,
|
||||||
|
|||||||
@@ -38,12 +38,13 @@ const models = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
config_version: 1,
|
config_version: 2,
|
||||||
model_id: "gpt-image-2",
|
model_id: "gpt-image-2",
|
||||||
route_profile: {
|
route_profile: {
|
||||||
endpoint: "https://oneapi.intelligrow.cn/v1/images/generations",
|
endpoint: "https://oneapi.intelligrow.cn/v1/images/generations",
|
||||||
mode: "sync",
|
mode: "sync",
|
||||||
protocol_version: "openai-images-v1",
|
protocol_version: "openai-images-v1",
|
||||||
|
reference_endpoint: "https://oneapi.intelligrow.cn/v1/images/edits",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user