大模型应用

fabric

作者头像
项目作者danielmiessler

fabric is an open-source framework for augmenting humans using AI. It provides a modular framework for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.

fabric 预览图

fabric 介绍

了解项目的详细信息和使用方法

什么以及为什么

自从 2023 年初生成式 AI 出现以来,我们见证了大量 AI 应用程序帮助完成各种任务。虽然 AI 很强大,但将其融入我们的生活并非易事

换句话说,AI 面临的不是能力问题,而是整合问题。

Fabric 正是为了解决这一问题而创建,旨在帮助每个人将 AI 细化应用于日常挑战。

哲学

AI 不是某种事物,而是一种放大器。它放大的是人类的创造力

我们相信,技术的目的是帮助人类繁荣,因此当我们谈论 AI 时,我们首先关注的是人类面临的问题。

将问题分解为组件

我们的方法是将问题分解为多个独立的部分(见下方),然后逐一应用 AI 解决这些部分。以下是一些例子。

augmented_challenges

过多的提示词

提示词在这个过程中很有用,但 2023 年我面临的最大挑战——今天依然如此——是大量的 AI 提示词。我们都有一些有用的提示词,但很难发现新的、判断其好坏,以及管理我们喜欢的不同版本

Fabric 的主要功能之一就是帮助人们收集和整合提示词,我们称之为Patterns(模式),并将其应用到生活的各个方面。

Fabric 包含各种生活和工作活动的 Patterns,例如:

  • 提取 YouTube 视频和播客中最有趣的部分
  • 根据一个想法,用你的风格写一篇文章
  • 总结晦涩的学术论文
  • 为一篇写作创建完美匹配的 AI 艺术提示词
  • 评估内容质量,决定是否值得阅读/观看
  • 总结冗长无聊的内容
  • 为你解释代码
  • 将糟糕的文档转化为可用的文档
  • 根据任何内容输入创建社交媒体帖子
  • 以及无数其他的功能……

安装

要安装 Fabric,请确保已安装 Go,然后运行以下命令。

bash
1# 直接从仓库安装 Fabric 2go install github.com/danielmiessler/fabric@latest 3 4# 运行设置以配置你的目录和密钥 5fabric --setup

环境变量

如果一切正常,那就万事大吉了,但你可能需要在 ~/.bashrc~/.zshrc 文件中设置一些环境变量。以下是可以添加的内容示例:

bash
1# Golang 环境变量 2export GOROOT=/usr/local/go 3export GOPATH=$HOME/go 4export PATH=$GOPATH/bin:$GOROOT/bin:$HOME/.local/bin:$PATH:

迁移

如果你安装了 Legacy(Python)版本并想迁移到 Go 版本,以下是操作步骤。基本上有两个步骤:1)卸载 Python 版本,2)安装 Go 版本。

bash
1# 卸载 Legacy Fabric 2pipx uninstall fabric 3 4# 清除旧有的 Fabric 别名 5(检查你的 .bashrc, .zshrc 等文件) 6# 安装 Go 版本 7go install github.com/danielmiessler/fabric@latest 8# 运行新版本的设置。这很重要,因为一些配置已经更改 9fabric --setup

然后根据上面的环境变量设置部分进行配置。

升级

Go 的优点是非常容易升级。只需运行与安装相同的命令,你将始终获得最新版本。

bash
1go install github.com/danielmiessler/fabric@latest

使用方法

一旦一切设置完成,以下是使用方法:

bash
1fabric -h
bash
1usage: fabric -h 2Usage: 3 fabric [OPTIONS] 4 5应用选项: 6 -p, --pattern= 选择一个模式 7 -v, --variable= 为模式变量设置值,例如 -v=$name:John -v=$age:30 8 -C, --context= 选择一个上下文 9 --session= 选择一个会话 10 -S, --setup 运行设置 11 --setup-skip-update-patterns 在设置时跳过更新模式 12 -t, --temperature= 设置温度(默认:0.7) 13 -T, --topp= 设置 top P(默认:0.9) 14 -s, --stream 实时输出 15 -P, --presencepenalty= 设置出现惩罚(默认:0.0) 16 -F, --frequencypenalty= 设置频率惩罚(默认:0.0) 17 -l, --listpatterns 列出 18 19所有模式 20 -L, --listmodels 列出所有可用模型 21 -x, --listcontexts 列出所有上下文 22 -X, --listsessions 列出所有会话 23 -U, --updatepatterns 更新模式 24 -c, --copy 复制到剪贴板 25 -m, --model= 选择模型 26 -o, --output= 输出到文件 27 -n, --latest= 列出最新的模式数量(默认:0) 28 -d, --changeDefaultModel 更改默认模式 29 -y, --youtube= 提供 YouTube 视频链接,提取其转录和评论并发送至聊天 30 --transcript 从 YouTube 视频中提取转录并发送至聊天 31 --comments 从 YouTube 视频中提取评论并发送至聊天 32 --dry-run 显示将发送给模型的内容,但不实际发送 33 34帮助选项: 35 -h, --help 显示此帮助信息

我们对提示词的看法

Fabric 的Patterns与大多数提示词不同。

  • 首先,我们使用 Markdown 来确保最大程度的可读性和可编辑性。这不仅帮助创建者创建高质量的模式,也帮助任何想深入理解其功能的人。重要的是,这也包括你发送给 AI 的内容!

以下是一个 Fabric 模式的示例。

bash
1https://github.com/danielmiessler/fabric/blob/main/patterns/extract_wisdom/system.md
pattern-example
  • 其次,我们在指令中非常清晰,并使用 Markdown 结构来强调我们希望 AI 做什么,按什么顺序进行。

  • 最后,我们几乎只使用提示词的系统部分。在一年多的深入研究中,我们发现这样做更有效。如果情况改变,或者有数据表明其他方式更好,我们会做出调整。

示例

现在来看一些可以用 Fabric 完成的事情。

  1. 基于 stdin 输入,运行 summarize 模式。在此情况下,输入为一篇文章的正文。
bash
1pbpaste | fabric --pattern summarize
  1. 使用 --stream 选项运行 analyze_claims 模式,以获取即时和实时结果。
bash
1pbpaste | fabric --stream --pattern analyze_claims
  1. 使用 --stream 选项运行 extract_wisdom 模式,从任意 YouTube 视频中获取即时和实时的智慧提取结果(类似于最初的介绍视频)。
bash
1yt --transcript https://youtube.com/watch?v=uXs-zPc63kM | fabric --stream --pattern extract_wisdom
  1. 创建模式 - 你必须创建一个 .md 文件并保存到 ~/.config/fabric/patterns/[yourpatternname]

只需使用模式

fabric-patterns-screenshot

如果你不打算做什么复杂的事情,只是想要很多优秀的提示词,你可以浏览 /patterns 目录并开始探索!

我们希望,即使你不使用 Fabric 的其他功能,单是这些 Patterns 也能让这个项目对你有用。

你可以在任何 AI 应用程序中使用这些 Patterns,无论是 ChatGPT 还是其他应用程序或网站。我们的计划和预测是,人们很快会分享比我们发布的更多、更好的模式。

群众的智慧力量无穷。

自定义模式

你也可以使用 Fabric 创建你自己的自定义模式——但不与他人分享。这完全没问题!

只需在 ~/.config/custompatterns/(或其他位置)中创建一个目录,并将 .md 文件放入其中。

当你准备好使用时,将它们复制到:

~/.config/fabric/patterns/

然后你可以像使用其他模式一样使用它们,但除非你明确提交它们作为 Pull Requests,否则它们不会公开。因此,请放心,它们对你是私有的。

此功能适用于所有 OpenAI 和 Ollama 模型,但不适用于 Claude。你可以使用 -m 标志指定你的模型。

辅助应用程序

Fabric 还使用一些核心的辅助应用程序(工具)来帮助你更轻松地集成到各种工作流中。以下是一些例子:

yt 是一个辅助命令,它从 YouTube 视频中提取转录内容。你可以这样使用它:

bash
1yt https://www.youtube.com/watch?v=lQVcbY52_gY

这将返回视频的转录内容,你可以将其管道传输到 Fabric 中,例如:

bash
1yt https://www.youtube.com/watch?v=lQVcbY52_gY | fabric --pattern extract_wisdom

yt 安装

要安装 yt,请使用与安装 Fabric 相同的方式,只需更改仓库名称。

bash
1go install github.com/danielmiessler/yt@latest

确保将你的 YOUTUBE_API_KEY 添加到 ~/.config/fabric/.env 文件中。

Meta

[!注意] 特别感谢以下人员的启发和贡献!

  • Jonathan Dunn 是项目的 MVP 开发者,包括带头开发新的 Go 版本和 GUI!此外,他还是一名全职医生!
  • Caleb Sima 让我最终决定将此项目公开。
  • Eugen EislerFrederick Ros 对 Go 版本的宝贵贡献。
  • Joel Parish 为项目的 Github 目录结构提供了非常有用的建议。
  • Joseph Thacker 提出了 -c 上下文标志的想法,该标志在 ./config/fabric/ 目录中为所有 Pattern 查询添加预创建的上下文。
  • Jason Haddix 提出了使用本地模型过滤内容再发送到云模型的 stitch(链式模式)的想法,例如使用 llama2 清理客户数据,然后将其发送到 gpt-4 进行分析。
  • Andre Guerra 协助简化了许多组件,使其更易于维护。
Stars
26.7k
Forks
2.8k
Watch
332
版本 Release v1.4.130
MIT License
更新于 2025年1月12日
ai, augmentation, flourishing, life, work
免责声明:本站大资源来自网络收集整理,小部分资源来自原创,如有侵权等,请联系处理。

相关项目

探索更多类似的开源项目