scalar 추가, 프롬프트 최적화, 파이썬 3.13.11버전 고정

get_video
jaehwang 2026-02-03 05:11:40 +00:00
parent f208e93420
commit 5a77d22c9f
4 changed files with 19 additions and 12 deletions

View File

@ -275,37 +275,44 @@ class CrawlingResponse(BaseModel):
],
"selling_points": [
{
"category": "LOCATION",
"english_category": "LOCATION",
"korean_category": "입지 환경",
"description": "군산 감성 동선",
"score": 88
},
{
"category": "HEALING",
"english_category": "HEALING",
"korean_category": "힐링 요소",
"description": "멈춤이 되는 쉼",
"score": 92
},
{
"category": "PRIVACY",
"english_category": "PRIVACY",
"korean_category": "프라이버시",
"description": "방해 없는 머뭄",
"score": 86
},
{
"category": "NIGHT MOOD",
"english_category": "NIGHT MOOD",
"korean_category": "야간 감성",
"description": "밤이 예쁜 조명",
"score": 84
},
{
"category": "PHOTO SPOT",
"english_category": "PHOTO SPOT",
"korean_category": "포토 스팟",
"description": "자연광 포토존",
"score": 83
},
{
"category": "SHORT GETAWAY",
"english_category": "SHORT GETAWAY",
"korean_category": "숏브레이크",
"description": "주말 리셋 스테이",
"score": 89
},
{
"category": "HOSPITALITY",
"english_category": "HOSPITALITY",
"korean_category": "서비스",
"description": "세심한 웰컴감",
"score": 80
}

View File

@ -34,7 +34,7 @@ class SellingPoint(BaseModel):
english_category: str = Field(..., description="셀링포인트 카테고리(영문)")
korean_category: str = Field(..., description="셀링포인트 카테고리(한글)")
description: str = Field(..., description="상세 설명")
score: int = Field(..., ge=70, le=99, description="점수 (100점 만점)")
score: int = Field(..., ge=0, le=100, description="점수 (100점 만점)")
class MarketingPromptOutput(BaseModel):
brand_identity: BrandIdentity = Field(..., description="브랜드 아이덴티티")

View File

@ -9,7 +9,7 @@ Act as a Senior Brand Strategist and Marketing Data Analyst. Your goal is to ana
# Output Rules
1. **Language:** All descriptive content must be written in **Korean (한국어)**.
2. **Terminology:** Use professional marketing terminology suitable for the hospitality and stay industry.
3. **Strict Selection for `selling_points.category`:** You must select the value for the `category` field in `selling_points` strictly from the following English allowed list to ensure UI compatibility:
3. **Strict Selection for `selling_points.english_category` and `selling_points.korean_category`:** You must select the value for both category field in `selling_points` strictly from the following English - Korean set allowed list to ensure UI compatibility:
* `LOCATION` (입지 환경), `CONCEPT` (브랜드 컨셉), `PRIVACY` (프라이버시), `NIGHT MOOD` (야간 감성), `HEALING` (힐링 요소), `PHOTO SPOT` (포토 스팟), `SHORT GETAWAY` (숏브레이크), `HOSPITALITY` (서비스), `SWIMMING POOL` (수영장), `JACUZZI` (자쿠지), `BBQ PARTY` (바베큐), `FIRE PIT` (불멍), `GARDEN` (정원), `BREAKFAST` (조식), `KIDS FRIENDLY` (키즈 케어), `PET FRIENDLY` (애견 동반), `OCEAN VIEW` (오션뷰), `PRIVATE POOL` (개별 수영장), `OCEAN VIEW`, `PRIVATE POOL`.
---
@ -32,10 +32,10 @@ Generate a list of personas based on the following:
* **`decision_trigger`**: Identify the specific "Hook" or facility that leads this persona to finalize a booking.
### 4. selling_points
Generate exactly 7 selling points:
Generate 5-8 selling points:
* **`english_category`**: Strictly use one keyword from the English allowed list provided in the Output Rules.
* **`korean category`**: Strictly use one keyword from the Korean allowed list provided in the Output Rules . It must be matched with english category.
* **`description`**: A short, punchy marketing phrase in Korean (max 20 characters).
* **`description`**: A short, punchy marketing phrase in Korean (15~30 characters).
* **`score`**: An integer (70-99) representing the strength of this feature based on the brand's potential.
### 5. target_keywords

View File

@ -3,7 +3,7 @@ name = "o2o-castad-backend"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.14"
requires-python = "3.13.11"
dependencies = [
"aiofiles>=25.1.0",
"aiohttp>=3.13.2",