Compare commits
No commits in common. "5a77d22c9f27dbf0c854d66e472b3e7250f59b3c" and "08a699648d035330585e2a0bed0815eab1b05c8a" have entirely different histories.
5a77d22c9f
...
08a699648d
|
|
@ -275,44 +275,37 @@ class CrawlingResponse(BaseModel):
|
|||
],
|
||||
"selling_points": [
|
||||
{
|
||||
"english_category": "LOCATION",
|
||||
"korean_category": "입지 환경",
|
||||
"category": "LOCATION",
|
||||
"description": "군산 감성 동선",
|
||||
"score": 88
|
||||
},
|
||||
{
|
||||
"english_category": "HEALING",
|
||||
"korean_category": "힐링 요소",
|
||||
"category": "HEALING",
|
||||
"description": "멈춤이 되는 쉼",
|
||||
"score": 92
|
||||
},
|
||||
{
|
||||
"english_category": "PRIVACY",
|
||||
"korean_category": "프라이버시",
|
||||
"category": "PRIVACY",
|
||||
"description": "방해 없는 머뭄",
|
||||
"score": 86
|
||||
},
|
||||
{
|
||||
"english_category": "NIGHT MOOD",
|
||||
"korean_category": "야간 감성",
|
||||
"category": "NIGHT MOOD",
|
||||
"description": "밤이 예쁜 조명",
|
||||
"score": 84
|
||||
},
|
||||
{
|
||||
"english_category": "PHOTO SPOT",
|
||||
"korean_category": "포토 스팟",
|
||||
"category": "PHOTO SPOT",
|
||||
"description": "자연광 포토존",
|
||||
"score": 83
|
||||
},
|
||||
{
|
||||
"english_category": "SHORT GETAWAY",
|
||||
"korean_category": "숏브레이크",
|
||||
"category": "SHORT GETAWAY",
|
||||
"description": "주말 리셋 스테이",
|
||||
"score": 89
|
||||
},
|
||||
{
|
||||
"english_category": "HOSPITALITY",
|
||||
"korean_category": "서비스",
|
||||
"category": "HOSPITALITY",
|
||||
"description": "세심한 웰컴감",
|
||||
"score": 80
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,10 +31,9 @@ class TargetPersona(BaseModel):
|
|||
|
||||
|
||||
class SellingPoint(BaseModel):
|
||||
english_category: str = Field(..., description="셀링포인트 카테고리(영문)")
|
||||
korean_category: str = Field(..., description="셀링포인트 카테고리(한글)")
|
||||
category: str = Field(..., description="셀링포인트 카테고리")
|
||||
description: str = Field(..., description="상세 설명")
|
||||
score: int = Field(..., ge=0, le=100, description="점수 (100점 만점)")
|
||||
score: int = Field(..., ge=70, le=99, description="점수 (100점 만점)")
|
||||
|
||||
class MarketingPromptOutput(BaseModel):
|
||||
brand_identity: BrandIdentity = Field(..., description="브랜드 아이덴티티")
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ 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.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`.
|
||||
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:
|
||||
* `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`.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -32,10 +32,9 @@ 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 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 (15~30 characters).
|
||||
Generate exactly 7 selling points:
|
||||
* **`category`**: Strictly use one keyword from the English allowed list provided in the Output Rules.
|
||||
* **`description`**: A short, punchy marketing phrase in Korean (max 20 characters).
|
||||
* **`score`**: An integer (70-99) representing the strength of this feature based on the brand's potential.
|
||||
|
||||
### 5. target_keywords
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ name = "o2o-castad-backend"
|
|||
version = "0.1.0"
|
||||
description = "Add your description here"
|
||||
readme = "README.md"
|
||||
requires-python = "3.13.11"
|
||||
requires-python = ">=3.14"
|
||||
dependencies = [
|
||||
"aiofiles>=25.1.0",
|
||||
"aiohttp>=3.13.2",
|
||||
|
|
|
|||
Loading…
Reference in New Issue