Ultima attività 1755074564

anduin's Avatar anduin ha revisionato questo gist 1755074564. Vai alla revisione

1 file changed, 103 insertions

program.cs(file creato)

@@ -0,0 +1,103 @@
1 + using Aiursoft.GptClient;
2 + using Aiursoft.GptClient.Services;
3 + using Microsoft.Extensions.DependencyInjection;
4 + using Microsoft.Extensions.Logging;
5 +
6 + namespace Test
7 + {
8 + public abstract class Program
9 + {
10 + private static readonly string PromptGetIdea =
11 + """
12 + 夏日的农家院里,一只芦花鸡突然扑棱着翅膀冲向墙角,尖喙如闪电般啄起一条扭动的蚂蟥。蚂蟥在鸡嘴里挣扎蜷曲,转眼就被囫囵吞下。
13 +
14 + 围观的小孩瞪大眼睛,这吸血的蚂蟥进了鸡肚子,不得把鸡肠子钻个窟窿?
15 +
16 + 这可不是奶奶瞎说,蚂蟥钻人体的案例确实存在,曾有位老汉咳血多日,最后在医院里从气管里夹出活水蛭;南方地区也报告过游泳时水蛭钻入人体黏膜的病例;湖北甚至有人被寄生数月,虚弱得干不了重活。
17 +
18 + 这些吸血的蚂蟥在鼻腔、咽部这些潮湿的黏膜部位寄生,靠吸食血液能活个把月。
19 +
20 + 那么,鸡吃百虫,连毒虫都不在话下,那鸡如果生吞了吸血水蛭,会不会把鸡肚子钻破?人类为什么没有这么强大的消化道呢?
21 +
22 + 明明IPv6取之不尽,但为啥运营商却不愿给你“固定地址”?
23 +
24 + IPv6作为下一代互联网协议,其地址空间达到了惊人的2^128个,号称"可以为地球上每一粒沙子分配一个IP地址"。
25 +
26 + 然而,许多用户发现,尽管IPv6地址资源如此丰富,大多数互联网服务提供商(ISP)仍然不愿意为用户分配固定的IPv6地址。这是为什么呢?
27 +
28 + 看《西游记》连续剧的时候就有很多的疑问,没有细想,觉得大概作者考虑不周的漏洞。多了解一下后,很多看似漏洞的地方也许是有它的道理,甚至是作者故意安排的。
29 +
30 + 读到孙悟空拜师学艺,因为向师兄们炫耀七十二变,把自己变成一棵松树,被菩提师祖赶走了。似乎并不是什么严重的错误,不至于此吧?经过一番查询,各种说法都有,还有说菩提师祖就是如来佛变得,要把猴子变成工具猴。
31 +
32 + 这里抛开种种神仙斗法,阴谋论和算计,为什么孙悟空变棵松树,师傅就要赶他走?
33 +
34 + 你有没有注意过,当夜幕降临,草原上的狮子蜷缩在树荫下,河边的鳄鱼半埋在泥水里,它们睡觉的姿势几乎都是“贴地而卧”?
35 +
36 + 而我们人类,却习惯在柔软的床上,仰面而眠,甚至还有枕头和被子的讲究。是什么让人类在睡眠时,选择了与绝大多数动物截然不同的姿态?是生理的巧合,还是亿万年进化的秘密?今晚,就让我们翻开这个习惯背后的神秘篇章,一探人类“仰睡”的真正原因。
37 +
38 + 为什么大部分动物是趴着睡,而人却通常仰着睡?
39 +
40 + 你有没有注意过,每次坐飞机,总有一条铁律:登机口一到时间,甚至还没起飞,闸门就“啪”地关上,晚几分钟就再也进不去了。
41 +
42 + 而坐火车呢?哪怕你慢悠悠地走到站台,列车马上就要出发,工作人员似乎总会给你留几分钟,甚至整列车都等你上车。为什么同样是交通工具,规则却大相径庭?这背后,到底隐藏着怎样你意想不到的逻辑和秘密?今天,我们就来揭开这道看似简单却耐人寻味的谜题。
43 +
44 + 为什么大部分动物是趴着睡,而人却通常仰着睡?
45 +
46 + 上面这几个问题,都非常有趣,对吧?
47 +
48 + 还有什么这种,生活中非常巧妙的矛盾,大家好像都习以为常,但一时半会儿又说不出来所以然,又都知道的论题,只是刚好过去没有仔细思考过。想一个让人对话题非常吸引,又好奇答案,还能结合例如西游记这种集体文化和社会现象就更好了。
49 +
50 + 现在你来扮演以为生活观察家,发散思维,充分想象,只需要想一个这样有趣的话题就可以了。现在给出你想到的这个话题。
51 + """;
52 +
53 + private static readonly string PromptGetIntroduction =
54 + """
55 + {0}
56 +
57 + 这个问题非常有趣,我觉得让你帮助我写成一篇小作文。
58 +
59 + 但还别立刻开始。我想先写个有趣的引言。引言的作用是讨论题目,引出读者好奇,吸引读者阅读。
60 +
61 + 模仿公众号的口吻,写一则有趣的引言。不要直接回答问题本身!而是作为一个文章的开头,让读者对答案非常好奇。
62 + """;
63 +
64 + private static readonly string PromptGetFullArticle =
65 + """
66 + {0}
67 +
68 + 现在,深度调查一下这个问题,将你的调查结果,模仿微信公众号的口吻,写一篇完整的小作文吧!
69 + """;
70 +
71 + public static async Task Main()
72 + {
73 + #region prepare
74 + var apiKey = "";
75 + var endpoint = "http://localhost:11434/api/chat";
76 + var model = "qwen3:30b-a3b-thinking-2507-q8_0";
77 + var services = new ServiceCollection();
78 + services.AddHttpClient();
79 + services.AddLogging(logging => { logging.SetMinimumLevel(LogLevel.Warning); });
80 + services.AddGptClient();
81 + var serviceProvider = services.BuildServiceProvider();
82 + var chatClient = serviceProvider.GetRequiredService<ChatClient>();
83 + async Task<string> GetAnswer(string[] prompts)
84 + {
85 + return (await chatClient.AskString(
86 + modelType: model,
87 + completionApiUrl: endpoint,
88 + token: apiKey,
89 + content: prompts,
90 + CancellationToken.None)).GetAnswerPart();
91 + }
92 + #endregion
93 +
94 + for (int i = 0; i < 1000; i++)
95 + {
96 + var idea = await GetAnswer([PromptGetIdea]);
97 + var introduction = await GetAnswer([string.Format(PromptGetIntroduction, idea)]);
98 + var fullArticle = await GetAnswer([string.Format(PromptGetFullArticle, introduction)]);
99 + await File.WriteAllTextAsync($"article{i}.md", fullArticle);
100 + }
101 + }
102 + }
103 + }
Più nuovi Più vecchi