添加日志
This commit is contained in:
@@ -394,6 +394,10 @@ static esp_err_t image_generation_invoke_model(const image_generation_request_t
|
||||
char auth_header[192] = {0};
|
||||
snprintf(auth_header, sizeof(auth_header), "Bearer %s", api_key);
|
||||
|
||||
ESP_LOGI(TAG,
|
||||
"z-image request start, timeout_ms=%u",
|
||||
(unsigned)req->generation_timeout_ms);
|
||||
|
||||
esp_http_client_config_t config = {
|
||||
.url = CONFIG_TQ_Z_IMAGE_API_ENDPOINT,
|
||||
.method = HTTP_METHOD_POST,
|
||||
@@ -420,6 +424,10 @@ static esp_err_t image_generation_invoke_model(const image_generation_request_t
|
||||
err_len);
|
||||
cJSON_free(req_body);
|
||||
if (rc != ESP_OK) {
|
||||
ESP_LOGW(TAG,
|
||||
"z-image request failed, rc=0x%x, msg=%s",
|
||||
(unsigned)rc,
|
||||
(err != NULL && err[0] != '\0') ? err : "http request failed");
|
||||
bytes_buffer_free(&resp);
|
||||
return rc;
|
||||
}
|
||||
@@ -433,6 +441,10 @@ static esp_err_t image_generation_invoke_model(const image_generation_request_t
|
||||
|
||||
if (http_status < 200 || http_status >= 300) {
|
||||
extract_remote_error_message((const char *)resp.data, http_status, err, err_len);
|
||||
ESP_LOGW(TAG,
|
||||
"z-image http status=%d, msg=%s",
|
||||
http_status,
|
||||
(err != NULL && err[0] != '\0') ? err : "upstream request failed");
|
||||
bytes_buffer_free(&resp);
|
||||
return ESP_FAIL;
|
||||
}
|
||||
@@ -472,10 +484,20 @@ static esp_err_t image_generation_invoke_model(const image_generation_request_t
|
||||
} else {
|
||||
image_generation_fill_err(err, err_len, "generation response has no image url");
|
||||
}
|
||||
ESP_LOGW(TAG,
|
||||
"z-image response parse failed, msg=%s",
|
||||
(err != NULL && err[0] != '\0') ? err : "generation response has no image url");
|
||||
cJSON_Delete(root);
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG,
|
||||
"z-image response ready, request_id=%s, model_size=%ux%u, image_url_len=%u",
|
||||
out_result->request_id[0] != '\0' ? out_result->request_id : "-",
|
||||
(unsigned)out_result->width,
|
||||
(unsigned)out_result->height,
|
||||
(unsigned)strlen(out_result->image_url));
|
||||
|
||||
cJSON_Delete(root);
|
||||
return ESP_OK;
|
||||
}
|
||||
@@ -484,6 +506,8 @@ static esp_err_t image_generation_download_png(image_generation_result_t *out_re
|
||||
uint32_t timeout_ms,
|
||||
char *err,
|
||||
size_t err_len) {
|
||||
ESP_LOGI(TAG, "generated image download start, timeout_ms=%u", (unsigned)timeout_ms);
|
||||
|
||||
esp_http_client_config_t config = {
|
||||
.url = out_result->image_url,
|
||||
.method = HTTP_METHOD_GET,
|
||||
@@ -508,6 +532,10 @@ static esp_err_t image_generation_download_png(image_generation_result_t *out_re
|
||||
err,
|
||||
err_len);
|
||||
if (rc != ESP_OK) {
|
||||
ESP_LOGW(TAG,
|
||||
"generated image download failed, rc=0x%x, msg=%s",
|
||||
(unsigned)rc,
|
||||
(err != NULL && err[0] != '\0') ? err : "download failed");
|
||||
bytes_buffer_free(&resp);
|
||||
return rc;
|
||||
}
|
||||
@@ -520,6 +548,10 @@ static esp_err_t image_generation_download_png(image_generation_result_t *out_re
|
||||
return ESP_FAIL;
|
||||
}
|
||||
extract_remote_error_message((const char *)resp.data, http_status, err, err_len);
|
||||
ESP_LOGW(TAG,
|
||||
"generated image download http status=%d, msg=%s",
|
||||
http_status,
|
||||
(err != NULL && err[0] != '\0') ? err : "image download failed");
|
||||
bytes_buffer_free(&resp);
|
||||
return ESP_FAIL;
|
||||
}
|
||||
@@ -530,11 +562,13 @@ static esp_err_t image_generation_download_png(image_generation_result_t *out_re
|
||||
if (resp.len < sizeof(png_header) || memcmp(resp.data, png_header, sizeof(png_header)) != 0) {
|
||||
bytes_buffer_free(&resp);
|
||||
image_generation_fill_err(err, err_len, "downloaded image is not png");
|
||||
ESP_LOGW(TAG, "generated image download invalid png signature");
|
||||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
out_result->png = resp.data;
|
||||
out_result->png_len = resp.len;
|
||||
ESP_LOGI(TAG, "generated image download done, png_bytes=%u", (unsigned)out_result->png_len);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
@@ -573,19 +607,39 @@ esp_err_t image_generation_generate_png(const image_generation_request_t *req,
|
||||
actual.download_timeout_ms = CONFIG_TQ_Z_IMAGE_DOWNLOAD_TIMEOUT_MS;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "invoke z-image, prompt_len=%u", (unsigned)strlen(actual.prompt));
|
||||
ESP_LOGI(TAG,
|
||||
"image generate start, prompt_len=%u, size=%s, prompt_extend=%d, seed=%s, gen_timeout_ms=%u, fetch_timeout_ms=%u",
|
||||
(unsigned)strlen(actual.prompt),
|
||||
(actual.size != NULL && actual.size[0] != '\0') ? actual.size : "default",
|
||||
actual.prompt_extend,
|
||||
actual.has_seed ? "set" : "auto",
|
||||
(unsigned)actual.generation_timeout_ms,
|
||||
(unsigned)actual.download_timeout_ms);
|
||||
esp_err_t gen_rc = image_generation_invoke_model(&actual, out_result, err, err_len);
|
||||
if (gen_rc != ESP_OK) {
|
||||
ESP_LOGW(TAG,
|
||||
"image generate stage failed, rc=0x%x, msg=%s",
|
||||
(unsigned)gen_rc,
|
||||
(err != NULL && err[0] != '\0') ? err : "model invoke failed");
|
||||
image_generation_result_free(out_result);
|
||||
return gen_rc;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "download image from model output");
|
||||
ESP_LOGI(TAG, "image generate stage done, request_id=%s", out_result->request_id[0] != '\0' ? out_result->request_id : "-");
|
||||
esp_err_t dl_rc = image_generation_download_png(out_result, actual.download_timeout_ms, err, err_len);
|
||||
if (dl_rc != ESP_OK) {
|
||||
ESP_LOGW(TAG,
|
||||
"image download stage failed, rc=0x%x, msg=%s",
|
||||
(unsigned)dl_rc,
|
||||
(err != NULL && err[0] != '\0') ? err : "download failed");
|
||||
image_generation_result_free(out_result);
|
||||
return dl_rc;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG,
|
||||
"image generation pipeline done, request_id=%s, png_bytes=%u",
|
||||
out_result->request_id[0] != '\0' ? out_result->request_id : "-",
|
||||
(unsigned)out_result->png_len);
|
||||
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user