Merge pull request #24373 from Chesars/fix/zhipu-finish-reason-mapping

fix: map Zhipu GLM non-standard finish_reason values
This commit is contained in:
Cesar Garcia 2026-03-22 18:42:04 -03:00 committed by GitHub
commit de91bbb9ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 0 deletions

View File

@ -89,6 +89,9 @@ _FINISH_REASON_MAP: dict[str, OpenAIChatCompletionFinishReason] = {
"IMAGE_PROHIBITED_CONTENT": "content_filter",
"TOO_MANY_TOOL_CALLS": "stop",
"MALFORMED_RESPONSE": "stop",
# Zhipu GLM
"network_error": "stop",
"sensitive": "content_filter",
# Bedrock
"guardrail_intervened": "content_filter",
# OpenAI passthrough

View File

@ -126,6 +126,14 @@ class TestMapFinishReasonBedrock:
assert map_finish_reason("guardrail_intervened") == "content_filter"
class TestMapFinishReasonZhipu:
def test_network_error(self):
assert map_finish_reason("network_error") == "stop"
def test_sensitive(self):
assert map_finish_reason("sensitive") == "content_filter"
class TestMapFinishReasonOpenAIPassthrough:
@pytest.mark.parametrize(
"reason", ["stop", "length", "tool_calls", "function_call", "content_filter"]