diff --git a/.gitea/workflows/develop_build_scheduled.yaml b/.gitea/workflows/develop_build_scheduled.yaml index 39da7c6..b5325fa 100644 --- a/.gitea/workflows/develop_build_scheduled.yaml +++ b/.gitea/workflows/develop_build_scheduled.yaml @@ -2,7 +2,7 @@ name: 定时 AiDA python develop 分支构建部署 on: # 使用 schedule 触发器,遵循标准的 Cron 格式 (分钟 小时-8 日期 月份 星期) schedule: - - cron: '32 9 * * *' + - cron: '30 9 * * *' jobs: scheduled_deploy: diff --git a/app/api/api_recommendation.py b/app/api/api_recommendation.py index 4084e46..477ab08 100644 --- a/app/api/api_recommendation.py +++ b/app/api/api_recommendation.py @@ -34,12 +34,14 @@ async def startup_event(): scheduler.start() logger.info("定时任务已启动") + def softmax(scores): max_score = max(scores) exp_scores = [math.exp(s - max_score) for s in scores] sum_exp = sum(exp_scores) return [s / sum_exp for s in exp_scores] + # def get_random_recommendations(category: str, num: int) -> List[str]: # """根据预加载热度向量推荐(冷启动)""" # try: @@ -92,6 +94,7 @@ async def get_recommendations(user_id: int, category: str, brand_id: int, brand_ ] """ try: + logger.info(f"user_id:{user_id}-----category:{category}-----brand_id:{brand_id}-----brand_scale:{brand_scale}-----num_recommendations:{num_recommendations}") start_time = time.time() cache_key = (user_id, category) # === 新增:用户存在性检查 === @@ -201,4 +204,4 @@ async def get_recommendations(user_id: int, category: str, brand_id: int, brand_ except Exception as e: logger.error(f"推荐失败: {str(e)}", exc_info=True) - raise HTTPException(status_code=500, detail=str(e)) \ No newline at end of file + raise HTTPException(status_code=500, detail=str(e)) diff --git a/app/schemas/design.py b/app/schemas/design.py index 98d0a29..3fb6de7 100644 --- a/app/schemas/design.py +++ b/app/schemas/design.py @@ -10,6 +10,7 @@ class DesignStreamModel(BaseModel): objects: list[dict] process_id: str requestId: str + callback_url: str class DesignProgressModel(BaseModel): diff --git a/app/service/design_fast/design_generate.py b/app/service/design_fast/design_generate.py index 7cf6f44..eb0b8f9 100644 --- a/app/service/design_fast/design_generate.py +++ b/app/service/design_fast/design_generate.py @@ -145,10 +145,11 @@ def design_generate(request_data): @RunTime def design_generate_v2(request_data): objects_data = request_data.dict()['objects'] + callback_url = request_data.callback_url request_id = request_data.requestId threads = [] - def process_object(step, object): + def process_object(step, object, callback_url): basic = object['basic'] items_response = { 'layers': [], @@ -211,12 +212,8 @@ def design_generate_v2(request_data): }) items_response['synthesis_url'] = synthesis_single(item_result['front_image'], item_result['back_image']) # 发送结果给java端 - url = JAVA_STREAM_API_URL - # xu_pei_test_url = "https://137f6b5c3490.ngrok-free.app/api/third/party/receiveDesignResults" - # tianxaing_test_url = "https://d7436c137fb9.ngrok-free.app/api/third/party/receiveDesignResults" + url = callback_url logger.info(f"java 回调 -> {url}") - # logger.info(f"xupei java 回调 -> {xu_pei_test_url}") - # logger.info(f"tianxiang java 回调 -> {tianxaing_test_url}") headers = { 'Accept': "*/*", @@ -231,17 +228,8 @@ def design_generate_v2(request_data): # 打印结果 logger.info(response.text) - # test_xp_response = post_request(xu_pei_test_url, json_data=items_response, headers=headers) - # test_response = post_request(tianxaing_test_url, json_data=items_response, headers=headers) - - # if test_response: - # 打印结果 - # logger.info(f"tianxiang test response : {test_response.text}") - # if test_xp_response: - # logger.info(f"xupei test response : {test_xp_response.text}") - for step, object in enumerate(objects_data): - t = threading.Thread(target=process_object, args=(step, object)) + t = threading.Thread(target=process_object, args=(step, object, callback_url)) threads.append(t) t.start()