edit: api 변경 - 벡터이미지검색 -> 결과물에 parts 추가, 파츠검색 api 추가

This commit is contained in:
2025-11-27 15:27:22 +09:00
parent 12b12a95f5
commit 18b24dcafa
10 changed files with 384 additions and 145 deletions

View File

@@ -30,7 +30,7 @@ from main_rest.app.common.consts import (
DEFAULT_USER_ACCOUNT_PW
)
from main_rest.app.utils.date_utils import D
from custom_apps.FEATURE_VECTOR_SIMILARITY_FAISS.const import VectorSearchItem
class SWInfo(BaseModel):
"""
@@ -581,6 +581,11 @@ class VitModelType:
b16 = "b16"
l14 = "l14"
l14_336 = "l14_336"
class PartsType(str, Enum):
bridge = VectorSearchItem.bridge
hinge = VectorSearchItem.hinge
class ImageGenerateReq(BaseModel):
@@ -616,7 +621,7 @@ class VectorImageSearchVitReq(BaseModel):
searchNum : int = Field(4, description='검색결과 이미지 갯수', example=4)
class VectorImageSearchVitInputImgReq(BaseModel):
class VectorGlassesImageSearchVitInputImgReq(BaseModel):
"""
### [Request] vector image search vit - input image
"""
@@ -626,6 +631,14 @@ class VectorImageSearchVitInputImgReq(BaseModel):
searchNum : int = Field(4, description='검색결과 이미지 갯수', example=4)
class VectorPartsImageSearchVitInputImgReq(VectorGlassesImageSearchVitInputImgReq):
"""
### [Request] vector image search vit data - input image
"""
inputImage : str = Field(description='파츠이미지 이름', example='')
class VectorImageSearchVitDataReq(VectorImageSearchVitReq):
"""
### [Request] vector image search vit data
@@ -642,11 +655,17 @@ class VectorImageSearchVitReportReq(BaseModel):
indexType : str = Field(VitIndexType.l2, description='인덱스 타입', example=VitIndexType.l2)
class VectorImageResult(BaseModel):
class VectorGlassesImageResult(BaseModel):
image : str = Field("", description='이미지 데이터', example='')
percents: float = Field(0.0, description='percents 값', example='')
imageInfo : str = Field("", description='원본이미지 이름', example='')
parts: list = Field([], description='안경 파츠 정보', example=[])
class VectorPartsImageResult(BaseModel):
image : str = Field("", description='이미지 데이터', example='')
percents: float = Field(0.0, description='percents 값', example='')
imageInfo : str = Field("", description='원본이미지 이름', example='')
#===============================================================================
#===============================================================================
#===============================================================================
@@ -716,12 +735,12 @@ class BingCookieSetRes(ResponseBase):
return BingCookieSetRes
class VectorImageSerachDataRes(ResponseBase):
class VectorGlassesImageSerachDataRes(ResponseBase):
"""
### vector image data response
"""
queryImage : str = Field("", description='쿼리 이미지', example="")
vectorResult : List[VectorImageResult] = Field([], description='벡터 검색 결과', example=[])
vectorResult : List[VectorGlassesImageResult] = Field([], description='벡터 검색 결과', example=[])
@staticmethod
def set_error(error,vector_result=[],query_img=""):
@@ -739,4 +758,8 @@ class VectorImageSerachDataRes(ResponseBase):
ImageGenerateRes.vectorResult = vector_result
ImageGenerateRes.queryImage = query_img
return ImageGenerateRes
return ImageGenerateRes
class VectorPartsImageSerachDataRes(VectorGlassesImageSerachDataRes):
vectorResult : List[VectorPartsImageResult] = Field([], description='벡터 검색 결과', example=[])