31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
from pydantic import BaseModel, create_model, Field
|
|
from typing import List, Optional
|
|
from functools import lru_cache
|
|
|
|
# Input 정의
|
|
|
|
class SubtitlePromptInput(BaseModel):
|
|
marketing_intelligence : str = Field(..., description="마케팅 인텔리전스 정보")
|
|
pitching_tag_list_string : str = Field(..., description="필요한 피칭 레이블 리스트 stringify")
|
|
customer_name : str = Field(..., description = "마케팅 대상 사업체 이름")
|
|
detail_region_info : str = Field(..., description = "마케팅 대상 지역 상세")
|
|
|
|
#subtillecars :
|
|
# Output 정의
|
|
class PitchingOutput(BaseModel):
|
|
pitching_tag: str = Field(..., description="피칭 레이블")
|
|
pitching_data: str = Field(..., description = "피칭 내용물")
|
|
|
|
class SubtitlePromptOutput(BaseModel):
|
|
pitching_results: List[PitchingOutput] = Field(..., description = "피칭 리스트")
|
|
|
|
@classmethod
|
|
@lru_cache()
|
|
def __class_getitem__(cls, n: int):
|
|
return create_model(
|
|
cls.__name__,
|
|
pitching_results=(
|
|
List[PitchingOutput],
|
|
Field(..., min_length=n, max_length=n, description="피칭 리스트")
|
|
),
|
|
) |