mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-12-24 13:28:13 +08:00
[BugFix] fix mm_positions type error (#5182)
* fix mm_positions type error * update code * update code * update code --------- Co-authored-by: Jiang-Jia-Jun <163579578+Jiang-Jia-Jun@users.noreply.github.com>
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import time
|
||||
import traceback
|
||||
from dataclasses import asdict, dataclass, fields
|
||||
from enum import Enum
|
||||
from typing import Any, Dict, Generic, Optional, Union
|
||||
@@ -24,7 +25,6 @@ from typing import Any, Dict, Generic, Optional, Union
|
||||
import numpy as np
|
||||
from typing_extensions import TypeVar
|
||||
|
||||
from fastdeploy import envs
|
||||
from fastdeploy.engine.pooling_params import PoolingParams
|
||||
from fastdeploy.engine.sampling_params import SamplingParams
|
||||
from fastdeploy.entrypoints.openai.protocol import ToolCall
|
||||
@@ -190,6 +190,22 @@ class Request:
|
||||
pooling_params = PoolingParams.from_dict(d["pooling_params"])
|
||||
else:
|
||||
sampling_params = SamplingParams.from_dict(d)
|
||||
if (
|
||||
isinstance(d.get("multimodal_inputs"), dict)
|
||||
and isinstance(d["multimodal_inputs"].get("mm_positions"), list)
|
||||
and len(d["multimodal_inputs"]["mm_positions"]) > 0
|
||||
):
|
||||
# if mm_positions is not of type ImagePosition, convert to ImagePosition
|
||||
try:
|
||||
for i, mm_pos in enumerate(d["multimodal_inputs"]["mm_positions"]):
|
||||
d["multimodal_inputs"]["mm_positions"][i] = (
|
||||
ImagePosition(**mm_pos) if not isinstance(mm_pos, ImagePosition) else mm_pos
|
||||
)
|
||||
except Exception as e:
|
||||
data_processor_logger.error(
|
||||
f"Convert mm_positions to ImagePosition error: {e}, {str(traceback.format_exc())}"
|
||||
)
|
||||
|
||||
return cls(
|
||||
request_id=d["request_id"],
|
||||
prompt=d.get("prompt"),
|
||||
|
||||
Reference in New Issue
Block a user