diff --git a/backend/src/Health.WebApi/Endpoints/ai_chat_endpoints.cs b/backend/src/Health.WebApi/Endpoints/ai_chat_endpoints.cs index 8959829..0f19f3a 100644 --- a/backend/src/Health.WebApi/Endpoints/ai_chat_endpoints.cs +++ b/backend/src/Health.WebApi/Endpoints/ai_chat_endpoints.cs @@ -242,6 +242,8 @@ public static class AiChatEndpoints var files = form.Files.GetFiles("images"); if (files == null || files.Count == 0) return Results.Ok(new { code = 40001, data = (object?)null, message = "请上传至少一张图片" }); + if (files.Count > 8) + return Results.Ok(new { code = 40001, data = (object?)null, message = "一次最多上传 8 张图片" }); var imageUrls = new List(); var uploadsDir = Path.Combine(Directory.GetCurrentDirectory(), "uploads"); @@ -270,9 +272,19 @@ public static class AiChatEndpoints } var prompt = """ - 识别图片中所有食物,用中文名称,只返回JSON: + 你是一个专业营养师。请仔细分析这些食物照片(可能是同一餐不同角度拍摄)。 + + 要求: + 1. 识别所有食物,用中文名称 + 2. 根据多角度照片综合判断份量,尽量精准 + 3. 估算每项的热量、蛋白质、碳水、脂肪(克) + + 只返回JSON: { - "foods": [{"name":"食物名","portion":"份量","calories":整数}] + "foods": [ + {"name":"食物名","portion":"份量描述","calories":整数,"proteinGrams":整数,"carbsGrams":整数,"fatGrams":整数} + ], + "totalCalories":整数 } """;