|
|
@@ -30,7 +30,7 @@ MENU_GENERATE_TEMPLATE = """请为{participant_count}人生成{date}的一日三
|
|
|
{constraints_text}
|
|
|
|
|
|
请返回 JSON 格式:
|
|
|
-{{"meals": [{{"type": "breakfast", "name": "早餐", "dishes": [{{"name": "菜品名", "ingredients": [{{"name": "食材", "grams": 100}}], "cooking_method": "烹饪方法", "nutrition": {{"calories": 200, "protein": 10, "carbs": 30, "fat": 5}}, "notes": "备注"}}]}}]}}
|
|
|
+{{"meals": [{{"type": "breakfast", "name": "早餐", "dishes": [{{"name": "菜品名", "ingredients": [{{"name": "食材", "grams": 100}}], "cooking_method": "做法一句话", "nutrition": {{"calories": 200}}}]}}]}}
|
|
|
|
|
|
要求:
|
|
|
1. 早/午/晚各至少1-2道菜
|
|
|
@@ -140,11 +140,14 @@ async def generate_menu(req: MenuGenerateRequest):
|
|
|
constraints_text=constraints_text,
|
|
|
)
|
|
|
|
|
|
+ # max_tokens=1200:menu/generate 完整输出约 800-1200 token(已去掉 protein/carbs/fat/notes),
|
|
|
+ # 避免 LLM 写满 3000+ token 导致 60s+ 超时;实测 1000 token ≈ 17s,1200 兜底安全
|
|
|
llm = ChatOpenAI(
|
|
|
model=settings.llm_model,
|
|
|
api_key=settings.llm_api_key,
|
|
|
base_url=settings.llm_base_url,
|
|
|
temperature=0.7,
|
|
|
+ max_tokens=1200,
|
|
|
)
|
|
|
|
|
|
response = llm.invoke([
|