From 2ac4b75d96e968cdf307fde2e9eaf0022c90713d Mon Sep 17 00:00:00 2001 From: Dohyun Lim Date: Fri, 23 Jan 2026 18:04:40 +0900 Subject: [PATCH] bug fix for url path --- app/home/api/routers/v1/home.py | 17 ++++++++ app/user/api/routers/v1/auth.py | 18 ++++++--- .../lyric_prompt.json | 0 .../lyric_prompt.txt | 0 .../marketing_prompt.json | 39 +++++++++++++++++-- .../marketing_prompt.txt | 0 .../marketing_prompt_20260116.txt | 0 .../marketing_prompt_20260119.json | 0 .../prompts.py | 0 .../summarize_prompt.json | 0 .../summarize_prompt.txt | 0 app/utils/prompts/marketing_prompt.json | 39 ++----------------- uv.lock | 2 +- 13 files changed, 70 insertions(+), 45 deletions(-) rename app/utils/{prompts-backup => prompts-back}/lyric_prompt.json (100%) rename app/utils/{prompts-backup => prompts-back}/lyric_prompt.txt (100%) rename app/utils/{prompts-backup => prompts-back}/marketing_prompt.json (54%) rename app/utils/{prompts-backup => prompts-back}/marketing_prompt.txt (100%) rename app/utils/{prompts-backup => prompts-back}/marketing_prompt_20260116.txt (100%) rename app/utils/{prompts => prompts-back}/marketing_prompt_20260119.json (100%) rename app/utils/{prompts-backup => prompts-back}/prompts.py (100%) rename app/utils/{prompts-backup => prompts-back}/summarize_prompt.json (100%) rename app/utils/{prompts-backup => prompts-back}/summarize_prompt.txt (100%) diff --git a/app/home/api/routers/v1/home.py b/app/home/api/routers/v1/home.py index e100329..489bf2d 100644 --- a/app/home/api/routers/v1/home.py +++ b/app/home/api/routers/v1/home.py @@ -216,6 +216,23 @@ async def crawling(request_body: CrawlingRequest): # marketing_analysis = MarketingAnalysis(**parsed) + logger.debug( + f"[crawling] structured_report 구조 확인:\n" + f"{'='*60}\n" + f"[report] type: {type(structured_report.get('report'))}\n" + f"{'-'*60}\n" + f"{structured_report.get('report')}\n" + f"{'='*60}\n" + f"[tags] type: {type(structured_report.get('tags'))}\n" + f"{'-'*60}\n" + f"{structured_report.get('tags')}\n" + f"{'='*60}\n" + f"[selling_points] type: {type(structured_report.get('selling_points'))}\n" + f"{'-'*60}\n" + f"{structured_report.get('selling_points')}\n" + f"{'='*60}" + ) + marketing_analysis = MarketingAnalysis( report=structured_report["report"], tags=structured_report["tags"], diff --git a/app/user/api/routers/v1/auth.py b/app/user/api/routers/v1/auth.py index 43f8268..f25c836 100644 --- a/app/user/api/routers/v1/auth.py +++ b/app/user/api/routers/v1/auth.py @@ -78,7 +78,9 @@ async def kakao_callback( if forwarded_for: ip_address = forwarded_for.split(",")[0].strip() - logger.debug(f"[ROUTER] 클라이언트 정보 - ip: {ip_address}, user_agent: {user_agent}") + logger.debug( + f"[ROUTER] 클라이언트 정보 - ip: {ip_address}, user_agent: {user_agent}" + ) result = await auth_service.kakao_login( code=code, @@ -89,11 +91,13 @@ async def kakao_callback( # 프론트엔드로 토큰과 함께 리다이렉트 redirect_url = ( - f"https://{prj_settings.PROJECT_DOMAIN}" + f"{prj_settings.PROJECT_DOMAIN}" f"?access_token={result.access_token}" f"&refresh_token={result.refresh_token}" ) - logger.info(f"[ROUTER] 카카오 콜백 완료, 프론트엔드로 리다이렉트 - redirect_url: {redirect_url[:50]}...") + logger.info( + f"[ROUTER] 카카오 콜백 완료, 프론트엔드로 리다이렉트 - redirect_url: {redirect_url[:50]}..." + ) return RedirectResponse(url=redirect_url, status_code=302) @@ -139,7 +143,9 @@ async def kakao_verify( if forwarded_for: ip_address = forwarded_for.split(",")[0].strip() - logger.debug(f"[ROUTER] 클라이언트 정보 - ip: {ip_address}, user_agent: {user_agent}") + logger.debug( + f"[ROUTER] 클라이언트 정보 - ip: {ip_address}, user_agent: {user_agent}" + ) result = await auth_service.kakao_login( code=body.code, @@ -148,7 +154,9 @@ async def kakao_verify( ip_address=ip_address, ) - logger.info(f"[ROUTER] 카카오 인가 코드 검증 완료 - user_id: {result.user.id}, is_new_user: {result.user.is_new_user}") + logger.info( + f"[ROUTER] 카카오 인가 코드 검증 완료 - user_id: {result.user.id}, is_new_user: {result.user.is_new_user}" + ) return result diff --git a/app/utils/prompts-backup/lyric_prompt.json b/app/utils/prompts-back/lyric_prompt.json similarity index 100% rename from app/utils/prompts-backup/lyric_prompt.json rename to app/utils/prompts-back/lyric_prompt.json diff --git a/app/utils/prompts-backup/lyric_prompt.txt b/app/utils/prompts-back/lyric_prompt.txt similarity index 100% rename from app/utils/prompts-backup/lyric_prompt.txt rename to app/utils/prompts-back/lyric_prompt.txt diff --git a/app/utils/prompts-backup/marketing_prompt.json b/app/utils/prompts-back/marketing_prompt.json similarity index 54% rename from app/utils/prompts-backup/marketing_prompt.json rename to app/utils/prompts-back/marketing_prompt.json index c84231a..d2f29b2 100644 --- a/app/utils/prompts-backup/marketing_prompt.json +++ b/app/utils/prompts-back/marketing_prompt.json @@ -1,5 +1,5 @@ { - "model": "gpt-5.2", + "model": "gpt-5-mini", "prompt_variables": [ "customer_name", "region", @@ -13,7 +13,36 @@ "type": "object", "properties": { "report": { - "type": "string" + "type": "object", + "properties": { + "summary": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "detail_title": { + "type": "string" + }, + "detail_description": { + "type": "string" + } + }, + "required": [ + "detail_title", + "detail_description" + ], + "additionalProperties": false + } + } + }, + "required": [ + "summary", + "details" + ], + "additionalProperties": false }, "selling_points": { "type": "array", @@ -43,12 +72,16 @@ "items": { "type": "string" } + }, + "contents_advise": { + "type": "string" } }, "required": [ "report", "selling_points", - "tags" + "tags", + "contents_advise" ], "additionalProperties": false }, diff --git a/app/utils/prompts-backup/marketing_prompt.txt b/app/utils/prompts-back/marketing_prompt.txt similarity index 100% rename from app/utils/prompts-backup/marketing_prompt.txt rename to app/utils/prompts-back/marketing_prompt.txt diff --git a/app/utils/prompts-backup/marketing_prompt_20260116.txt b/app/utils/prompts-back/marketing_prompt_20260116.txt similarity index 100% rename from app/utils/prompts-backup/marketing_prompt_20260116.txt rename to app/utils/prompts-back/marketing_prompt_20260116.txt diff --git a/app/utils/prompts/marketing_prompt_20260119.json b/app/utils/prompts-back/marketing_prompt_20260119.json similarity index 100% rename from app/utils/prompts/marketing_prompt_20260119.json rename to app/utils/prompts-back/marketing_prompt_20260119.json diff --git a/app/utils/prompts-backup/prompts.py b/app/utils/prompts-back/prompts.py similarity index 100% rename from app/utils/prompts-backup/prompts.py rename to app/utils/prompts-back/prompts.py diff --git a/app/utils/prompts-backup/summarize_prompt.json b/app/utils/prompts-back/summarize_prompt.json similarity index 100% rename from app/utils/prompts-backup/summarize_prompt.json rename to app/utils/prompts-back/summarize_prompt.json diff --git a/app/utils/prompts-backup/summarize_prompt.txt b/app/utils/prompts-back/summarize_prompt.txt similarity index 100% rename from app/utils/prompts-backup/summarize_prompt.txt rename to app/utils/prompts-back/summarize_prompt.txt diff --git a/app/utils/prompts/marketing_prompt.json b/app/utils/prompts/marketing_prompt.json index d2f29b2..c84231a 100644 --- a/app/utils/prompts/marketing_prompt.json +++ b/app/utils/prompts/marketing_prompt.json @@ -1,5 +1,5 @@ { - "model": "gpt-5-mini", + "model": "gpt-5.2", "prompt_variables": [ "customer_name", "region", @@ -13,36 +13,7 @@ "type": "object", "properties": { "report": { - "type": "object", - "properties": { - "summary": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "detail_title": { - "type": "string" - }, - "detail_description": { - "type": "string" - } - }, - "required": [ - "detail_title", - "detail_description" - ], - "additionalProperties": false - } - } - }, - "required": [ - "summary", - "details" - ], - "additionalProperties": false + "type": "string" }, "selling_points": { "type": "array", @@ -72,16 +43,12 @@ "items": { "type": "string" } - }, - "contents_advise": { - "type": "string" } }, "required": [ "report", "selling_points", - "tags", - "contents_advise" + "tags" ], "additionalProperties": false }, diff --git a/uv.lock b/uv.lock index d873113..6c9375a 100644 --- a/uv.lock +++ b/uv.lock @@ -913,7 +913,7 @@ requires-dist = [ { name = "python-multipart", specifier = ">=0.0.21" }, { name = "redis", specifier = ">=7.1.0" }, { name = "ruff", specifier = ">=0.14.9" }, - { name = "scalar-fastapi", specifier = "==1.6.1" }, + { name = "scalar-fastapi", specifier = ">=1.6.1" }, { name = "sqladmin", extras = ["full"], specifier = ">=0.22.0" }, { name = "sqlalchemy", extras = ["asyncio"], specifier = ">=2.0.45" }, { name = "uuid7", specifier = ">=0.1.0" },