feat:1.通过请求数量区分刷新(num=1)和正常推荐(num>1)

This commit is contained in:
zcr
2025-12-17 11:19:46 +08:00
parent 3e70324261
commit 39f8b942cb
2 changed files with 46 additions and 29 deletions

1
.gitignore vendored
View File

@@ -7,3 +7,4 @@ data/
*.toml
.prod_env
google_application_credentials.json
*.bash

View File

@@ -56,7 +56,6 @@ class AgentRequestModel(BaseModel):
batch_sources: List[str]
callback_url: str
gender: str
is_first_request: bool
class LCAgent(ls.LitAPI):
@@ -120,8 +119,7 @@ class LCAgent(ls.LitAPI):
user_id=request.user_id,
gender=request.gender,
callback_url=request.callback_url,
outfit_ids=outfit_ids,
is_first_request=request.is_first_request
outfit_ids=outfit_ids
)
logger.info("--- Final Recommendation Results ---")
for i, path in enumerate(recommendation_results.get("successful_outfits", [])):
@@ -174,8 +172,7 @@ class LCAgent(ls.LitAPI):
user_id: str = "test",
gender: str = "male",
callback_url: str = None,
outfit_ids=None,
is_first_request=False
outfit_ids=None
):
"""
基于用户的对话历史和需求,推荐一套搭配。
@@ -190,13 +187,32 @@ class LCAgent(ls.LitAPI):
task_map = {}
stylist_agent_kwages = self.stylist_agent_kwages.copy()
if num_outfits == 1:
# 通过请求数量判断 num == 1 单个outfit刷新
stylist_agent_kwages['outfit_id'] = outfit_ids[0]
stylist_agent_kwages['stylist_name'] = stylist_name
stylist_agent_kwages['gender'] = gender
agent = AsyncStylistAgent(**stylist_agent_kwages)
task = agent.run_iterative_styling(
request_summary=request_summary,
occasions=occasions,
start_outfit=start_outfit,
batch_sources=batch_sources,
user_id=user_id,
callback_url=callback_url,
)
tasks.append(task)
task_map[task] = {"outfit_id": outfit_ids[0], "retries": 0}
elif num_outfits > 1:
# 通过请求数量判断 num > 1 四套搭配推荐 (1快 , num-1慢)
for i in range(num_outfits):
stylist_agent_kwages['outfit_id'] = outfit_ids[i]
stylist_agent_kwages['stylist_name'] = stylist_name
stylist_agent_kwages['gender'] = gender
agent = AsyncStylistAgent(**stylist_agent_kwages)
if is_first_request:
if i == 0:
# 第一套搭配使用快速方法 一次跑出所有单品
logger.info(f"fast request outfit_id is : {outfit_ids[i]}")
task = agent.run_quick_batch_styling(
request_summary=request_summary,
occasions=occasions,