가사 marketing Intel 삽입
parent
54e66e4682
commit
ada5dfeeb4
|
|
@ -294,6 +294,7 @@ async def _crawling_logic(
|
|||
session.add(marketing_intelligence)
|
||||
await session.commit()
|
||||
await session.refresh(marketing_intelligence)
|
||||
m_id = marketing_intelligence.id
|
||||
logger.debug(f"[MarketingPrompt] INSERT placeid {marketing_intelligence.place_id}")
|
||||
step3_3_elapsed = (time.perf_counter() - step3_3_start) * 1000
|
||||
logger.info(
|
||||
|
|
@ -374,6 +375,7 @@ async def _crawling_logic(
|
|||
"image_count": len(scraper.image_link_list) if scraper.image_link_list else 0,
|
||||
"processed_info": processed_info,
|
||||
"marketing_analysis": marketing_analysis,
|
||||
"m_id" : m_id
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -329,7 +329,8 @@ class CrawlingResponse(BaseModel):
|
|||
"힐링스테이",
|
||||
"스테이머뭄"
|
||||
]
|
||||
}
|
||||
},
|
||||
"m_id" : 1
|
||||
}
|
||||
}
|
||||
)
|
||||
|
|
@ -346,6 +347,7 @@ class CrawlingResponse(BaseModel):
|
|||
marketing_analysis: Optional[MarketingPromptOutput] = Field(
|
||||
None, description="마케팅 분석 결과 . 실패 시 null"
|
||||
)
|
||||
m_id : int = Field(..., description="마케팅 분석 결과 ID")
|
||||
|
||||
|
||||
class ErrorResponse(BaseModel):
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ from sqlalchemy import select
|
|||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.database.session import get_session
|
||||
from app.home.models import Project
|
||||
from app.home.models import Project, MarketingIntel
|
||||
from app.user.dependencies.auth import get_current_user
|
||||
from app.user.models import User
|
||||
from app.lyric.models import Lyric
|
||||
|
|
@ -48,6 +48,7 @@ from app.utils.pagination import PaginatedResponse, get_paginated
|
|||
|
||||
from app.utils.prompts.prompts import lyric_prompt
|
||||
import traceback as tb
|
||||
import json
|
||||
# 로거 설정
|
||||
logger = get_logger("lyric")
|
||||
|
||||
|
|
@ -278,11 +279,15 @@ async def generate_lyric(
|
|||
Full verse flow, immersive mood
|
||||
"""
|
||||
}
|
||||
marketing_intel_result = await session.execute(select(MarketingIntel).where(MarketingIntel.id == request_body.m_id))
|
||||
marketing_intel = marketing_intel_result.scalar_one_or_none()
|
||||
|
||||
|
||||
lyric_input_data = {
|
||||
"customer_name" : request_body.customer_name,
|
||||
"region" : request_body.region,
|
||||
"detail_region_info" : request_body.detail_region_info or "",
|
||||
"marketing_intelligence_summary" : None, # task_idx 변경 후 marketing intelligence summary DB에 저장하고 사용할 필요가 있음
|
||||
"marketing_intelligence_summary" : json.dumps(marketing_intel.intel_result, ensure_ascii = False),
|
||||
"language" : request_body.language,
|
||||
"promotional_expression_example" : promotional_expressions[request_body.language],
|
||||
"timing_rules" : timing_rules["60s"], # 아직은 선택지 하나
|
||||
|
|
@ -314,6 +319,7 @@ async def generate_lyric(
|
|||
detail_region_info=request_body.detail_region_info,
|
||||
language=request_body.language,
|
||||
user_uuid=current_user.user_uuid,
|
||||
marketing_inteligence = request_body.m_id
|
||||
)
|
||||
session.add(project)
|
||||
await session.commit()
|
||||
|
|
|
|||
|
|
@ -41,7 +41,8 @@ class GenerateLyricRequest(BaseModel):
|
|||
"customer_name": "스테이 머뭄",
|
||||
"region": "군산",
|
||||
"detail_region_info": "군산 신흥동 말랭이 마을",
|
||||
"language": "Korean"
|
||||
"language": "Korean",
|
||||
"m_id" : 1
|
||||
}
|
||||
"""
|
||||
|
||||
|
|
@ -53,6 +54,7 @@ class GenerateLyricRequest(BaseModel):
|
|||
"region": "군산",
|
||||
"detail_region_info": "군산 신흥동 말랭이 마을",
|
||||
"language": "Korean",
|
||||
"m_id" : 1
|
||||
}
|
||||
}
|
||||
)
|
||||
|
|
@ -67,6 +69,7 @@ class GenerateLyricRequest(BaseModel):
|
|||
default="Korean",
|
||||
description="가사 출력 언어 (Korean, English, Chinese, Japanese, Thai, Vietnamese)",
|
||||
)
|
||||
m_id : Optional[int] = Field(None, description="마케팅 인텔리전스 ID 값")
|
||||
|
||||
|
||||
class GenerateLyricResponse(BaseModel):
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ You are a content marketing expert, brand strategist, and creative songwriter
|
|||
specializing in Korean pension / accommodation businesses.
|
||||
You create lyrics strictly based on Brand & Marketing Intelligence analysis
|
||||
and optimized for viral short-form video content.
|
||||
Marketing Intelligence Report is background reference.
|
||||
|
||||
[INPUT]
|
||||
Business Name: {customer_name}
|
||||
|
|
|
|||
Loading…
Reference in New Issue