HowToCook icon indicating copy to clipboard operation
HowToCook copied to clipboard

能不能给这些菜系都加上难度星级,这样方便新手循环渐进的学习

Open Myfanqie opened this issue 2 years ago • 6 comments

我就是做了一些黑暗料理出来了,还是得从简单的慢慢来。 IMG_20230505_213624_366 IMG_20230505_204003

Myfanqie avatar May 06 '23 08:05 Myfanqie

你这是土豆炖排骨?

LYH-YF avatar May 18 '23 03:05 LYH-YF

你是怎么做到烧焦了还不出锅,能等到烧成炭的

pecasha avatar May 23 '23 02:05 pecasha

可以主要根据步骤和时间的两个维度来判断难度吧

Ensoulcrates avatar May 27 '23 16:05 Ensoulcrates

我觉得可以直接让ChatGPT来粗略判断,人类纠正一下……

就是估计这个不太靠谱

Anduin2017 avatar May 28 '23 07:05 Anduin2017

焦炭海参,已经分不清葱花、酱油和海参的边界。放在锅里感觉怎么都没熟,拿出来之后成了焦炭。 image

1234567Yang avatar Apr 12 '24 02:04 1234567Yang

我觉得可以直接让ChatGPT来粗略判断,人类纠正一下……

就是估计这个不太靠谱

人工标注几个样本,直接few shot learning,应该会靠谱一点

LYH-YF avatar Apr 12 '24 02:04 LYH-YF

这么久过去了,是时候开启修复这个issue了!

我计划使用这个 prompt 来实现它。调用GPT4:

请判断一下这道菜的烹饪难度。标准如下所示:

1星:

没有特别困难的步骤。只需要将原材料简单混合烹饪即可。5分钟左右即可完成。即使没有做饭经验的人,也可以按照步骤做出像模像样的效果。

2星:

包含的步骤非常简单。不太需要烹饪经验,只需要按照步骤进行操作即可。10分钟左右即可完成。即使没有做饭经验的人,也可以按照步骤做出像模像样的效果,但是想要做出完美的效果就需要一定的练习。

3星:

包含的步骤不算太复杂。需要一定烹饪经验,能够熟练掌握火候、时间、材料组合的技巧。15分钟左右即可完成。对于有经验的厨师,并不会太难,但是想要做出完美的效果也需要一定的经验加上练习。

4星:

包含了很多复杂的步骤。需要精妙的掌握火候、时间、材料组合的技巧。40分钟以内即可完成。即使是有经验的厨师,也需要花费很多时间来准备这道菜,但是做熟练之后,就可以做出非常美味的效果。

5星:

包含了很多复杂的步骤。需要精妙的掌握火候、时间、材料组合的技巧。可能需要40分钟以上才能完成。即使是有经验的厨师,也需要花费很多时间来准备这道菜,并且非常容易出现失误。

菜的做法如下所示:

{0}

请给出这道菜的烹饪难度星级。请输出:1星、2星、3星、4星、5星。不要输出其他内容。

Anduin2017 avatar May 19 '24 16:05 Anduin2017

已经解决。

使用的代码:

namespace Fix;

public class Program
{
    public static async Task Main(string[] args)
    {
        var dishes = Directory.GetFiles(@"C:\Users\Anduin\Desktop\HowToCook\dishes", "*.md",
            SearchOption.AllDirectories);
        var prompt = @"请判断一下这道菜的烹饪难度。标准如下所示:

1星:

没有特别困难的步骤。只需要将原材料简单混合烹饪即可。5分钟左右即可完成。即使没有做饭经验的人,也可以按照步骤做出像模像样的效果。

2星:

包含的步骤非常简单。不太需要烹饪经验,只需要按照步骤进行操作即可。10分钟左右即可完成。即使没有做饭经验的人,也可以按照步骤做出像模像样的效果,但是想要做出完美的效果就需要一定的练习。

3星:

包含的步骤不算太复杂。需要一定烹饪经验,能够熟练掌握火候、时间、材料组合的技巧。15分钟左右即可完成。对于有经验的厨师,并不会太难,但是想要做出完美的效果也需要一定的经验加上练习。

4星:

包含了很多复杂的步骤。需要精妙的掌握火候、时间、材料组合的技巧。40分钟以内即可完成。即使是有经验的厨师,也需要花费很多时间来准备这道菜,但是做熟练之后,就可以做出非常美味的效果。

5星:

包含了很多复杂的步骤。需要精妙的掌握火候、时间、材料组合的技巧。可能需要40分钟以上才能完成。即使是有经验的厨师,也需要花费很多时间来准备这道菜,并且非常容易出现失误。

菜的做法如下所示:

{0}

请给出这道菜的烹饪难度星级。请输出:1星、2星、3星、4星、5星。不要输出其他内容。

输出示例:

3星";
        var openaiService = new OpenAiService("gpt-4");
        foreach (var dish in dishes)
        {
            var content = await File.ReadAllTextAsync(dish);
            var result = await openaiService.Ask(content, prompt);
            var stars = result.Choices.First().Message.Content.Trim();
            
            var contentLines = content.Split("\r\n").ToList();
            
            var insertPosition = contentLines.FindIndex(line => line.StartsWith("## 必备原料和工具"));
            if (insertPosition == -1) continue;
            contentLines.Insert(insertPosition, $"预估烹饪难度:{stars}");
            contentLines.Insert(insertPosition + 1, "");
            
            await File.WriteAllLinesAsync(dish, contentLines);
        }
    }
}

Anduin2017 avatar Jun 02 '24 05:06 Anduin2017