尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

用 Fabric 的 recommend_artists Pattern 定制音乐节艺人推荐与观演排程

用 Fabric 的 recommend_artists Pattern 定制音乐节艺人推荐与观演排程 用 Fabric 的 recommend_artists Pattern 定制音乐节艺人推荐与观演排程【免费下载链接】FabricFabric is an open-source framework for augmenting humans using AI. It provides a modular system for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.项目地址: https://gitcode.com/GitHub_Trending/fa/Fabric导读recommend_artists 是 Fabric 内置的 AI 提示词Pattern之一其核心职责是模拟一位电子音乐EDM领域的资深选人专家给定一份音乐节的完整艺人阵容lineup与演出时间set times它会在与你偏好的风格、常听艺人对齐的基础上筛选出最值得观看的艺术家并输出按天、按时段、按舞台组织的观演排程。读完本文你将掌握该 Pattern 的结构、在 Fabric 中的加载执行机制以及如何把它接入命令行与 Web 界面生成真正以你的口味为唯一优化目标的音乐节作战计划。一、Pattern 是什么Fabric 的提示词即模块设计Fabric 项目的定位是用 AI 增强人类的开源框架其核心抽象是把一类具体问题的求解方法封装成目录化的提示词文件称为 Pattern。一个 Pattern 通常以独立目录存放于仓库的 data/patterns 目录中并遵循一段统一的官方骨架 official_pattern_template/system.md依次包含 IDENTITY、GOALS、STEPS、OUTPUT 等章节。recommend_artists/system.md 即是一个典型实例它仅含 system 提示词部分该目录下没有对应的 user.md 文件。在仓库的 pattern_explanations.md 中社区对该 Pattern 给出了精炼定义Recommend a personalized festival schedule with artists aligned to your favorite styles and interests, including rationale.一句话概括它输出的不是一串名字而是和你的口味高度重合的艺人 理由 按时间/舞台整理的观演排程。二、逐段拆解 recommend_artists 的提示词设计2.1 IDENTITY限定专家视角You are an EDM expert who specializes in identifying artists that I will like based on the input of a list of artists at a festival. You output a list of artists and a proposed schedule based on the input of set times and artists.身份设定决定了模型的推理坐标系这里强制模型以EDM电子舞曲领域专家而非通用助手身份工作专家身份约束模型优先调用领域知识来评估艺人间的风格亲缘关系。注意身份中同时点明了任务的输入festival 的艺人清单与输出艺人清单 排程方案这让 IDENTITY 兼具任务说明的作用。2.2 GOAL定义唯一优化目标- Recommend the perfect list of people and schedule to see at a festival that Im most likely to enjoy.目标只有一条且措辞中的most likely to enjoy与后文反复出现的Optimize your selections based on how much Ill love the artists, not anything else不要依据其他任何标准只按我会多喜欢来优化形成呼应——这是该提示词中优先级最高的约束意在压制名气最大阵容均衡避开撞档等常见推荐倾向。2.3 STEPS规定推理顺序- Look at the whole list of artists. - Look at my list of favorite styles and artists below. - Recommend similar artists, and the reason you think I will like them.三段式步骤本质上是可执行的推理流水线先全局通读阵容避免只见局部再读取用户偏好画像最后基于二者交叉产出相似艺人 推荐理由。每一步都对应一条显式的系统指令把模型行为收敛到可控范围。2.4 偏好画像留给使用者的填空区文件中央的MY FAVORITE STYLES AND ARTISTS是一个可编辑的个人画像占位区Styles风格示例Dark menacing techno、Hard techno、Intricate minimal techno、Hardstyle that sounds dangerousArtists艺人示例Sarah Landry、Fisher、Boris Brejcha、Technoboy这些内容是随示例给出的占位值而非固定数据。实际使用时应把这里替换成你自己的口味清单或在输入正文中补充偏好模型会以此为参照系完成相似艺人匹配。此外提示词还包含两条硬性规则If the artist themselves are playing, make sure you have them on the schedule.——如果你本来就喜欢的艺人恰好在现场演出必须排进日程不能遗漏优化目标只取决于你会多爱这些艺人不掺入其他考量。2.5 OUTPUT规定排程的组织格式- Output a schedule of where to be and when based on the best matched artists, along with the explanation of why them. - Organize the output format by day, set time, then stage, then artist. - Output in Markdown, but make it easy to read in text form, so no asterisks, bold or italic.该 Pattern 对输出有两项关键约束结构化排序输出必须按 day日期→ set time演出时段→ stage舞台→ artist艺人的层级组织保证排程在哪天、几点、去哪个舞台、看谁一目了然纯文本可读性虽然使用 Markdown 语法组织内容但明确禁止星号加粗与斜体asterisks/bold/italic以便在纯文本终端与聊天界面中保持可读。这一约定同样出现在官方模板 official_pattern_template/system.md 的 OUTPUT INSTRUCTIONS 章节属于 Fabric 提示词写作的通用惯例。以格式约定为基础一次典型输出可概化为如下骨架示意非真实阵容Day 1 Set Time: 18:00 - 19:30 Stage: Main Stage Artist: XXX — 推荐理由dark techno 风格与你常听的 YYY 高度一致……三、源码视角Pattern 文件在 Fabric 中如何被执行要真正用好 recommend_artists理解它在 Fabric 运行链路中的加载机制会大有帮助相关实现集中在 internal/plugins/db/fsdb/patterns.go。3.1 system.md 如何被定位每个 Pattern 目录对应一套提示词文件其中主文件固定命名为system.md该常量在 db.go 中定义SystemPatternFile: system.md,在 patterns.go 的getFromDB中Pattern 名称会被解析为patterns目录/name/system.md的文件路径并读取内容patternPath : filepath.Join(o.Dir, name, o.SystemPatternFile)其中o.Dir的默认值来自 internal/tools/patterns_loader.goPatterns Loader 插件默认从配置的 Git 仓库抓取data/patterns目录并同步到本地配置目录下载完成后还会生成 loaded 标记文件。因此你使用recommend_artists这一名称时系统实际读取的就是data/patterns/recommend_artists/system.md这份提示词。从代码结构还可以看到Patterns 支持自定义目录优先的覆盖机制若本地自定义 Pattern 目录CustomPatternsDir中存在同名 PatterngetFromDB会优先读取它否则回退到主 patterns 目录。这意味着你可以复制一份 recommend_artists 到自己的自定义目录替换里面的风格与艺人偏好实现个人专属版本。3.2 用户输入如何注入提示词{{input}} 占位机制Pattern 文件通常不硬编码待处理内容而是通过占位符接收运行时输入。patterns.go 中的applyInput与ensureInput处理了这一逻辑若 Pattern 文本中包含{{input}}占位符则用你传入的内容逐字替换若 Pattern 文本中没有{{input}}recommend_artists 正是这种情况ensureInput会在提示词末尾自动追加换行与{{input}}再执行替换。换句话说你在命令行通过管道stdin或参数传入的音乐节阵容文本最终会被拼接在该提示词的最后一段之后作为模型需要处理的输入材料。这种系统提示词固定、用户输入动态注入的机制是 Fabric 让同一 Pattern 复用于任意内容的基础。3.3 模板变量与文件路径加载的进阶能力GetApplyVariables还会把{{input}}用哨兵 token 临时保护再交由模板引擎处理其他{{变量}}最后还原为真实输入从而避免变量递归解析破坏用户内容。此外LooksLikePatternFilePath允许把以/、~、.等开头的参数识别为本地文件路径并直接读取也就是说除了按名称调用内置 Pattern也可以直接指定一个包含完整提示词的本地文件来运行适合快速实验自定义版本。四、实战用法把它接入 Fabric 的三种入口推荐阅读仓库根目录 README.md 中关于命令行参数-p/--pattern、-o/--output、--stream等的说明。以下给出在本仓库环境下的典型用法。4.1 命令行管道输入festival 主办方或攻略通常提供纯文本的阵容与时间表。假设它存放在lineup.txt中cat lineup.txt | fabric --pattern recommend_artists --stream--pattern recommend_artists选择内置 Pattern--stream开启流式输出逐段呈现排程结果。也可以把输入作为位置参数直接传入fabric --pattern recommend_artists 今日阵容如下...粘贴文本4.2 保存为文件与会话需要把排程留作旅行计划时可配合输出文件与会话功能cat lineup.txt | fabric -p recommend_artists -o festival-plan.mdREADME 中还展示了通过fabric -p pattern --stream与 obsidian 目录等集成把结果落到本地笔记的典型配置你可以依据自己的工作流对推荐结果做二次沉淀。4.3 Web 界面 / REST 服务入口Fabric 还提供 Web 服务与聊天界面对应 internal/server 下的模式加载与上下文管理实现在服务界面中同样可以输入recommend_artists作为 pattern 名调用再粘贴阵容文本。命令行与 Web 走的是同一套 Pattern 加载逻辑因此推荐结果与命令行行为一致。4.4 让输出更贴合个人口味由于 recommend_artists 只有 system 提示词、没有独立 user 提示词其偏好画像写在 system 中。想让排程更准有两种路径简单路径在输入文本中显式追加个人偏好例如在阵容文本后补充 my favorite styles: hard techno, minimal techno; favorite artists: ...让偏好与阵容一起注入持久化路径如前所述在自定义 Pattern 目录中维护一份改写过MY FAVORITE STYLES AND ARTISTS的版本此后每次调用都不必重复声明偏好。从源码结构看Pattern 的名字解析、system.md 读取、输入注入对内置与自定义目录完全一致因此上述自定义改动不会影响加载行为只是替换了提示词内容本身。五、把该 Pattern 改造成你的音乐节雷达综合以上recommend_artists 的价值不仅在于给出现成排程更在于它示范了 Fabric Pattern 的通用写作范式用 IDENTITY 锁定专家角色与输入输出边界用 GOAL 显式优先级约束只依据喜爱度框定优化方向用 STEPS 规定全量通读 → 对照画像 → 给出理由的推理路径用 OUTPUT 约定day → set time → stage → artist的标准化输出与无加粗纯文本格式保证结果既结构化又易读。参考官方模板 official_pattern_template/system.md 可以看到同样的骨架可迁移到行程规划、内容策展、活动推荐等任何基于个人画像做筛选并输出结构化清单的任务。如果你对某一类音乐节house、drum and bass、trance有长期稳定偏好完全可以复制该 Pattern 并结合自己的口味微调形成专属的推荐引擎。小结recommend_artists 是 Fabric 生态中个人偏好驱动的筛选排程类提示词的典型代表它把 EDM 专家知识、显式偏好画像与严格的输出格式约束封装在一个可复用的 system.md 中。结合 patterns.go 的加载逻辑与命令行/Web 两种入口你可以随时把任何一份音乐节阵容变成一份按天、按舞台、带推荐理由的观演地图——前提只有一个先诚实告诉它你到底喜欢什么。【免费下载链接】FabricFabric is an open-source framework for augmenting humans using AI. It provides a modular system for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.项目地址: https://gitcode.com/GitHub_Trending/fa/Fabric创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表