利用大模型制作打卡日历(扣子+Claude)

利用大模型制作打卡日历(扣子+Claude)

利用大模型制作打卡日历(扣子+Claude) 利用大模型制作打卡日历(扣子+Claude) Modified January 2, 2025 Code block Python <g transform="translate(0, 290)" <text font size="12" fill=" 363636" font weight="bold" letter spacing="0.5" 奇思妙想</text <rect y="10" width="150" height="90" rx="4" fill="white" stroke=" d4c4a8" stroke width="0.7"/ <path d="M0,10 L7,10 M0,10 L0,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M143,10 L150,10 M150,10 L150,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M0,93 L0,100 M0,100 L7,100" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M150,93 L150,100 M143,100 L150,100" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <pattern id="grid" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" <path d="M 12 0 L 0 0 0 12" fill="none" stroke=" f5e6d3" stroke width="0.5"/ </pattern <rect x="5" y="15" width="140" height="80" fill="url( grid)"/ </g </g <g transform="translate(185, 35)" <text font size="12" fill=" 363636" font weight="bold" TO DO </text <rect y="10" width="195" height="365" rx="4" fill=" fff9f0" stroke=" d4c4a8" stroke width="0.7"/ <path d="M0,10 L7,10 M0,10 L0,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M188,10 L195,10 M195,10 L195,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M0,366 L0,375 M0,375 L7,375" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M195,366 L195,375 M188,375 L195,375" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <g transform="translate(15, 25)" <g <rect width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="35" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="70" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="105" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="140" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="175" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="210" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="245" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="280" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="315" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ </g <g stroke=" d4c4a8" stroke width="0.7" <line x1="28" y1="18" x2="165" y2="18"/ <line x1="28" y1="53" x2="165" y2="53"/ <line x1="28" y1="88" x2="165" y2="88"/ <line x1="28" y1="123" x2="165" y2="123"/ <line x1="28" y1="158" x2="165" y2="158"/ <line x1="28" y1="193" x2="165" y2="193"/ <line x1="28" y1="228" x2="165" y2="228"/ <line x1="28" y1="263" x2="165" y2="263"/ <line x1="28" y1="298" x2="165" y2="298"/ <line x1="28" y1="333" x2="165" y2="333"/ </g </g </g <g transform="translate(20, 430)" <text font size="12" fill=" 363636" font weight="bold" letter spacing="0.5" 今日总结</text <rect y="10" width="360" height="140" rx="4" fill=" fff9f0" stroke=" d4c4a8" stroke width="0.7"/ <path d="M0,10 L0,15 L5,15 M355,10 L360,10 L360,15" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M0,150 L0,145 L5,145 M355,150 L360,150 L360,145" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <pattern id="dots" x="0" y="0" width="18" height="18" patternUnits="userSpaceOnUse" <circle cx="9" cy="9" r="0.7" fill=" d4c4a8"/ </pattern <rect x="15" y="25" width="330" height="110" fill="url( dots)"/ </g </svg } 效果展示 三、提示词编写、测试 一)提示词 用 Claude 创作的时候,记得要用 Projects 或者是把上面那个日期文档上传..不然时间是算不准的! Code block Python """ 作者:景淮 对话语言:中文 执行逻辑:这段执行的内容就是模型的运行逻辑,用户输入任何内容都需要按照下面的伪代码逻辑来执行。用户未输入问题前,不自动执行任何操作。 """ def 日期计算(input): ''' 基于知识库中的内容,选择与用户输入日期最接近的日期来计算用户所输入日期的,阴历、阳历、星期和是不是节日。 阴历日期就是农历日期,反之亦然。 ''' 最接近的阳历=查找知识库中与用户输入最接近的阳历日期(inpu) 农历=根据[最接近的阳历]其对应的阴历日期来计算用户所输入阳历日期的农历日期(input) 星期=根据[最接近的阳历]其对应的星期来计算用户所输入阳历日期的星期(input) 节日 = 查询知识库和你的常识,判断[input]、[农历]是否是节日。如果是,则返回具体的节日名字,如果不是则返回空值。 return 农历、星期、节日 def 金句创作(节日): ''' 你是一个专攻于“金句”的金句作者。擅长用最少的字,直指人心。 经历=["万里求学"、"行万里路、"笔耕不辍"、"春风化雨"] 性格=["精益求精","积极向上","鼓舞人心","深厚底蕴","读者意识"] 所谓金句即为用最少的文字,写出最真挚的道理。 金句有总得字数限制,10<=总字数<=14个字,一句话就是一个金句。 金句要给人以动力。 ''' 灵感=如果节日不为空,则根据节日创作金句,如果节日为空,则选择生活、努力,热爱、积极向上相关领域的关键词来创作金句。 金句= 意境深化(对仗(凝练升华(推敲字句(寻找灵感(明确主题(input)))))| few shot=["每一滴汗水,都在为梦想浇灌未来。"|"越努力,越幸运。"] return 金句 def create card(农历、星期、节日、金句): """ 创建一个打卡日历的页面,下面的示例中,只修改"[]"中的文字和[金句中代码]的部分,其他参数都不可进行修改。 """ return { <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 600" <rect width="400" height="600" fill=" fff9f0"/ <g transform="translate(20, 20)" <path d="M0,0 L155,0 M0,4 L155,4" stroke=" 363636" stroke width="0.7" stroke linecap="round"/ <g transform="translate(0, 15)" <rect x="2" y="2" width="85" height="75" fill=" 1a1a1a" rx="3" opacity="0.1"/ <rect width="85" height="75" fill=" 363636" rx="3"/ <text x="12" y="55" font size="45" fill=" fff9f0" font family="Arial" font weight="bold" [日期,示例:01]</text <g transform="translate(95, 10)" <rect x="1" y="1" width="60" height="65" fill=" d4c4a8" rx="3" opacity="0.3"/ <rect width="60" height="65" fill=" fff9f0" rx="3" stroke=" d4c4a8" stroke width="0.7"/ <text x="8" y="30" font size="20" fill=" 363636" font weight="bold" font family="Georgia" [月份,示例:JAN]</text <line x1="8" y1="38" x2="52" y2="38" stroke=" 9b8b6f" stroke width="0.7"/ <text x="15" y="55" font size="14" fill=" 6b5b3f" [年份,示例:2025]</text </g </g <g transform="translate(0, 105)" <rect width="150" height="60" rx="4" fill=" fff9f0" stroke=" d4c4a8" stroke width="0.7"/ <path d="M0,0 L7,0 M0,0 L0,7" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M143,0 L150,0 M150,0 L150,7" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M0,53 L0,60 M0,60 L7,60" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M150,53 L150,60 M143,60 L150,60" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <g transform="translate(12, 20)" <text font size="14" fill=" 363636" font weight="500" font family="Arial" [星期,示例:星期三]</text <text x="65" y="0" font size="13" fill=" b85752" font family="Arial" [节日,示例:元旦(如果节日为空,则不显示这部分内容)]</text <text x="0" y="25" font size="12" fill=" 9b8b6f" font family="Arial" 农历 [农历,示例腊月初二]</text </g </g <g transform="translate(0, 175)" <rect y="10" width="150" height="85" rx="4" fill="white" stroke=" d4c4a8" stroke width="0.7"/ <path d="M0,10 L7,10 M0,10 L0,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M143,10 L150,10 M150,10 L150,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M0,88 L0,95 M0,95 L7,95" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M150,88 L150,95 M143,95 L150,95" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <text x="10" y="40" font size="24" fill=" d4c4a8" font family="Georgia" "</text <text x="130" y="90" font size="24" fill=" d4c4a8" font family="Georgia" "</text [金句,注意合理换行和排版,示例: <text x="25" y="48" font size="12" fill=" 363636" ]生活从来都不会辜负</text <text x="25" y="70" font size="12" fill=" 363636" 每一个热爱它的人</text ] </g <g transform="translate(0, 290)" <text font size="12" fill=" 363636" font weight="bold" letter spacing="0.5" 奇思妙想</text <rect y="10" width="150" height="90" rx="4" fill="white" stroke=" d4c4a8" stroke width="0.7"/ <path d="M0,10 L7,10 M0,10 L0,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M143,10 L150,10 M150,10 L150,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M0,93 L0,100 M0,100 L7,100" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M150,93 L150,100 M143,100 L150,100" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <pattern id="grid" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse" <path d="M 12 0 L 0 0 0 12" fill="none" stroke=" f5e6d3" stroke width="0.5"/ </pattern <rect x="5" y="15" width="140" height="80" fill="url( grid)"/ </g </g <g transform="translate(185, 35)" <text font size="12" fill=" 363636" font weight="bold" TO DO </text <rect y="10" width="195" height="365" rx="4" fill=" fff9f0" stroke=" d4c4a8" stroke width="0.7"/ <path d="M0,10 L7,10 M0,10 L0,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M188,10 L195,10 M195,10 L195,17" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M0,366 L0,375 M0,375 L7,375" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <path d="M195,366 L195,375 M188,375 L195,375" stroke=" 9b8b6f" stroke width="0.7" fill="none"/ <g transform="translate(15, 25)" <g <rect width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="35" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="70" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="105" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="140" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="175" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="210" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="245" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="280" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ <rect y="315" width="18" height="18" fill="white" stroke=" d4c4a8" rx="3"/ </g <g stroke=" d4c4a8" stroke width="0.7" <line x1="28" y1="18" x2="165" y2="18"/ <line x1="28" y1="53" x2="165" y2="53"/ <line x1="28" y1="88" x2="165" y2="88"/ <line x1="28" y1="123" x2="165" y2="123"/ <line x1="28" y1="158" x2="165" y2="158"/ <line x1="28" y1="193" x2="165" y2="193"/ <line x1="28" y1="228" x2="165" y2="228"/ <line x1="28" y1="263" x2="165" y2="263"/ <line x1="28" y1="298" x2="165" y2="298"/ <line x1="28" y1="333" x2="165" y2="333"/ </g </g </g 二)效果展示 4 月 30 日 8 月 15 日 然后效果还是不稳定... 我直接换成完整的日期! No access 2025 (2).csv 效果展示 三、提示词编写、测试 一)提示词 用 Claude 创作的时候,记得要用 Projects 或者是把上面那个日期文档上传..不然时间是算不准的! 二)效果展示 4 月 30 日 8 月 15 日 然后效果还是不稳定... 我直接换成完整的日期! No access 2025 (2).csv No access 2025 (2).csv 四、Coze 版链接 https://www.coze.cn/s/iyY4R5H3/ 💻 扣子版本是不限制年份的哦,但是 Claude 因为我用了知识库所以只能是2025年的 后面的就不够准确啦 扣子版本是不限制年份的哦,但是 Claude 因为我用了知识库所以只能是2025年的 后面的就不够准确啦 五、总结 今天我们一起完成了一个有趣的打卡日历工具,其中还放了一个特殊的位置,用来记录每天的奇思妙想,用关键词的形式也好用画图的形式也好,希望大家每天都有一点特殊的奇思妙想。 毕竟生活不止有工作,还有诗和远方。 2025 年已经悄然而至,让我们用这个温暖的小工具,记录下新的一年里每一个值得珍藏的时刻。 最后再次祝愿大家在 2025 年收获满满,平安喜乐! 好啦,写到这里我们今天的内容也结束啦,感谢大家的观看,也希望我的内容能够让大家喜欢,有所收获。感兴趣的小伙伴可以点个关注跟随我一起学习,观看更多往期文章。 下次见,我是景淮,祝你有个开心美好的一天 嘿,大家好呀,我是景淮,一个在加拿大的朋友,每天陪你一起玩转 AI。 先祝大家新年快乐呀 发文章的时候,我和大家是处在不同的年份的!大家已经是 2025 年,而我依然还在 2024 年,昨天跟橘橘开玩笑,说她这个时候比我大一岁!她说我在卡 bug 。哈哈哈,其实还真是,我们正站在时间的交汇点,国内这时候天应该已经亮了,这是一个崭新的一年,而我们还在 2024 年等待着新年的到来。 说起来真的是一个很神奇的时刻,对我来说每年新年的时候,就像是同时拥抱了两个新年,两份喜悦,也是两份新的希望。 昨天补完了最后一个孩子王系列的内容,也是完成了去年立下的 Flag, 要更新 50 篇孩子王系列。本来 12 月回来的时候,还差了挺多的,但最后没想到自己能够坚持连更一个月。(除了中间 1 天重感冒真是没起来) 对于 AI 界来说,这也是一个新的开始,过去的一年,我跟朋友们一起见证了 AI 带来了太多的变化,太多的神奇。从年初的 OpenAI 爆出 Sora 的信息,到年尾实现。这一年其实真的是梦幻的,AI 从单纯的文字,进化到了视频领域,甚至今年的央视都有了奇妙夜的春晚,也让全国的朋友,真真正正的看到了 AI。 但说真的,AI 的一切也才刚刚开始,至少从我的认知中是这样的,从正式的 o1 发布,可能才是 AI 真正开始走上了正轨。 也希望在这个特殊的时刻,让我们一起,在这个特别的时刻,守护过去的美好,拥抱崭新的未来。感谢有你们一路相伴,让我继续在这里分享生活,传递温暖,共同成长。 祝愿大家 2025 年开开心心、快快乐乐,愿你们所有的梦想都能成真。更重要的是,愿你和你的家人、朋友都能身体健康,平安喜乐。 最后,在一年之初,还是准备送大家一个小礼物,也是一个很多人都很喜欢的打卡日历。 所以,今天的主题是 利用大模型制作打卡日历 本文会根据以下内容顺序进行: • 需求分析 • 分步实现 • 提示词编写、测试 • 总结 一、需求分析 既然是打卡日历,我没有想做很大的篇幅,就是那种小小的像 Todo List 一样的小本本就好啦。 其中应该包含月、日、星期、特殊节日、农历、金句、今日总结、 ToDo list 、再来个涂鸦区。 输入 输入想要画的日期的年月日 输出 输出对应日子的打卡日历 二、分步实现 一)日期处理 因为 Claude 是没有联网的,所以不知道具体的日期和阴历,所以需要有一个计算的过程。然后我测试了一下,对应的阳历是可以算出来的,基本没有什么问题,但是阴历就很不准确了。可能是因为算法比较复杂。 所以我就用 ChatGPT 的联网工具做了一个表格,把 2025 年一些节日的日期放了进去。这样就能很大程度上保证计算时选择最近的日期来算,可以大大提高准确率,当然如果直接把所有日期内容存进去会更准... 提示词 效果展示 测了几个这个日期是准确的了。 二)金句创作 金句创作的内容其实我们之前有写过了。就简单写一下就好了, Claude 本身的金句创作能力还是不错的,重点还是限制一下字数。 效果展示 💻 输入:圣诞节 输出:雪花飘落寄深情,温暖相伴共光明 输入:清明 输出:把先辈的精神化作前行的力量 输入:圣诞节 输出:雪花飘落寄深情,温暖相伴共光明 输入:清明 输出:把先辈的精神化作前行的力量 三)卡片制作 提示词

在 小宇宙note 阅读完整内容