iflytek/astron-agent · error · ServiceException

ISE_EVALUATION_FAILED

ISE_EVALUATION_FAILED

Error message

{ISECodeEnums.ISE_EVALUATION_FAILED.message}: {message}

What it means

The ISE evaluation service wraps any engine-side failure into a ServiceException with code ISE_EVALUATION_FAILED. It is raised after the evaluation call completes but does not report success, carrying the underlying reason in the message.

Solutions

  1. Read the appended ': message' suffix to learn the engine's underlying reason
  2. Re-check audio format/duration and that the spoken audio matches the reference text
  3. Retry later if the upstream ISE service is degraded; check service quota/config
  4. Catch ServiceException and inspect the code ISE_EVALUATION_FAILED to return a user-friendly evaluation failure

Example fix

// before
data = evaluate(req)  # unhandled ServiceException
// after
from core.plugin.aitools.common.exceptions import ServiceException
try:
    data = evaluate(req)
except ServiceException as e:
    if e.code == ISECodeEnums.ISE_EVALUATION_FAILED.code:
        log.warning('ISE evaluation failed: %s', e.message)
        return None
Defensive patterns

Strategy: try-catch

Validate before calling

# precondition: audio and text validated upstream; engine failure cannot be pre-checked
assert audio_data and text, 'audio/text required before evaluation'

Try / catch

from core.plugin.aitools.common.exceptions import ServiceException
try:
    result = ise_evaluate(req)
except ServiceException as e:
    if e.code == ISECodeEnums.ISE_EVALUATION_FAILED.code:
        log.warning('ISE evaluation failed: %s', e.message)
        result = None

Prevention

When it happens

Trigger: The ISE engine returns a non-success result (bad audio content, unsupported text, engine-side error) during the /aitools/v1/ise evaluation flow.

Common situations: Corrupted or too-short audio; text/audio mismatch (audio doesn't contain the reference text); downstream XFYUN/ISE service outage or quota exhaustion.

Related errors


AI-assisted analysis of iflytek/astron-agent@5e758547a8 (2026-09-12). Data as JSON: /api/errors/1517677826862930. Report an issue: GitHub.

Appendix: source

Thrown at core/plugin/aitools/service/ise/ise_evaluate_service.py:92

    audio_bytes = base64.b64decode(body.audio_data)
    ise_client = ISEClient(
        credentials.app_id,
        credentials.api_key,
        credentials.api_secret,
    )
    success, message, result = await ise_client.evaluate_audio(
        audio_data=audio_bytes,
        text=body.text,
        language=body.language,
        category=body.category,
        group=body.group,
    )

    if success:
        data = {k: v for k, v in result.items() if k != "raw_xml"}
        return SuccessResponse(data=data, sid=request.state.sid)

    raise ServiceException(
        message=ISECodeEnums.ISE_EVALUATION_FAILED.message + ": " + message,
        code=ISECodeEnums.ISE_EVALUATION_FAILED.code,
    )

View on GitHub (pinned to 5e758547a8)