Unverified Commit fd8e055f authored by Guillaume Calmettes's avatar Guillaume Calmettes Committed by GitHub
Browse files

[BugFix]: properly catch templating error when preprocess input (#13976)


Signed-off-by: default avatarGuillaume Calmettes <gcalmettes@scaleway.com>
parent ab93f136
......@@ -7,6 +7,7 @@ from collections.abc import AsyncGenerator, AsyncIterator
from collections.abc import Sequence as GenericSequence
from typing import Callable, Final, Optional, Union
import jinja2
from fastapi import Request
from vllm.config import ModelConfig
......@@ -199,6 +200,15 @@ class OpenAIServingChat(OpenAIServing):
except ValueError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except TypeError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except RuntimeError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except jinja2.TemplateError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
request_id = "chatcmpl-" \
f"{self._base_request_id(raw_request, request.request_id)}"
......
......@@ -6,6 +6,7 @@ from collections.abc import AsyncGenerator, AsyncIterator
from collections.abc import Sequence as GenericSequence
from typing import Optional, Union, cast
import jinja2
from fastapi import Request
from vllm.config import ModelConfig
......@@ -114,6 +115,15 @@ class OpenAIServingCompletion(OpenAIServing):
except ValueError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except TypeError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except RuntimeError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except jinja2.TemplateError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
# Schedule the request and get the result generator.
generators: list[AsyncGenerator[RequestOutput, None]] = []
......
......@@ -142,6 +142,9 @@ class OpenAIServingEmbedding(OpenAIServing):
except ValueError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except TypeError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
# Schedule the request and get the result generator.
generators: list[AsyncGenerator[PoolingRequestOutput, None]] = []
......
......@@ -6,6 +6,7 @@ import time
from collections.abc import AsyncGenerator
from typing import Final, Literal, Optional, Union, cast
import jinja2
import numpy as np
from fastapi import Request
from typing_extensions import assert_never
......@@ -138,6 +139,12 @@ class OpenAIServingPooling(OpenAIServing):
except ValueError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except TypeError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except jinja2.TemplateError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
# Schedule the request and get the result generator.
generators: list[AsyncGenerator[PoolingRequestOutput, None]] = []
......
......@@ -2,6 +2,7 @@
from typing import Final, Optional, Union
import jinja2
from fastapi import Request
from vllm.config import ModelConfig
......@@ -91,6 +92,12 @@ class OpenAIServingTokenization(OpenAIServing):
except ValueError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except TypeError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
except jinja2.TemplateError as e:
logger.exception("Error in preprocessing prompt inputs")
return self.create_error_response(str(e))
input_ids: list[int] = []
for i, engine_prompt in enumerate(engine_prompts):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment