LLMs之Prompt:Fabric的简介、安装和使用方法、案例应用之详细攻略
目录
[一键安装 (One-Line Install - Recommended):](#一键安装 (One-Line Install - Recommended):)
[手动二进制下载 (Manual Binary Downloads):](#手动二进制下载 (Manual Binary Downloads):)
[使用包管理器 (Using Package Managers):](#使用包管理器 (Using Package Managers):)
[从源代码安装 (From Source):](#从源代码安装 (From Source):)
[Docker 安装 (Docker):](#Docker 安装 (Docker):)
[环境变量设置 (Environment Variables):](#环境变量设置 (Environment Variables):)
[首次设置 (Setup):](#首次设置 (Setup):)
[升级 (Upgrading):](#升级 (Upgrading):)
[Shell 自动补全 (Shell Completions):](#Shell 自动补全 (Shell Completions):)
[查看帮助 (Help):](#查看帮助 (Help):)
[调试级别 (Debug Levels):](#调试级别 (Debug Levels):)
[扩展 (Extensions):](#扩展 (Extensions):)
[REST API 服务器 (REST API Server):](#REST API 服务器 (REST API Server):)
[按模式模型映射 (Per-Pattern Model Mapping):](#按模式模型映射 (Per-Pattern Model Mapping):)
[为所有模式添加别名 (Add Aliases for All Patterns):](#为所有模式添加别名 (Add Aliases for All Patterns):)
[使用别名将输出保存为Markdown (Save Files in Markdown Using Aliases):](#使用别名将输出保存为Markdown (Save Files in Markdown Using Aliases):)
[1、运行模式 (Running Patterns):](#1、运行模式 (Running Patterns):)
[2、直接使用Patterns (Just Use the Patterns):](#2、直接使用Patterns (Just Use the Patterns):)
[3、创建自定义模式 (Custom Patterns):](#3、创建自定义模式 (Custom Patterns):)
[4、辅助应用 (Helper Apps):](#4、辅助应用 (Helper Apps):)
[5、Web界面 (Web Interface):](#5、Web界面 (Web Interface):)
Fabric的简介
Fabric 是一个开源框架,旨在通过人工智能增强人类能力。它提供了一个模块化系统,用于解决特定问题,并使用一套众包的AI提示(称为"Patterns"),这些提示可以在任何地方使用。该项目的核心理念是,AI的真正问题不在于其能力,而在于其"整合"问题------即如何将AI功能无缝融入我们的日常生活和工作中。
Fabric 通过创建和组织AI的基本单元------即提示本身------来解决这一问题。它将提示按实际任务进行组织,允许用户在一个地方创建、收集和组织他们最重要的AI解决方案,以便在他们喜欢的工具中使用,或者直接通过命令行界面使用Fabric本身。
GitHub地址 :https://github.com/danielmiessler/Fabric
1、特点
- 开源框架 (Open-Source Framework): Fabric 是一个开源项目,致力于通过AI增强人类能力。
- 模块化系统 (Modular System): 提供模块化设计,用于解决特定问题。
- 众包AI提示 (Crowdsourced AI Prompts): 核心是其"Patterns"------一套众包的AI提示,可在任何地方使用。
- 解决AI整合问题 (Addresses AI Integration Problem): 旨在解决AI功能难以融入日常生活的挑战,而非AI能力问题。
- 模式组织 (Pattern Organization): 将提示按实际任务进行组织,便于创建、收集和管理AI解决方案。
- 多平台可用(Cross-Platform Availability): 可在命令行界面使用,也支持Web界面。
- 快速发展与更新(Rapid Development and Updates): 项目更新频繁,不断增加新功能和能力。
Fabric的安装和使用方法
1、安装
Fabric 的安装方式多样,推荐使用一键安装或包管理器。
一键安装 (One-Line Install - Recommended):
Unix/Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.sh |
Windows PowerShell:
powershell
iwr -useb https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.ps1 | iex
更多自定义安装选项和故障排除,请参阅 scripts/installer/README.md。
手动二进制下载 (Manual Binary Downloads):
可从 https://github.com/danielmiessler/fabric/releases/latest 下载最新发布版本的二进制文件及其SHA256哈希。
使用包管理器 (Using Package Managers):
注意: 使用Homebrew或Arch Linux包管理器安装时,Fabric会被命名为 fabric-ai。建议在shell启动文件中添加 alias fabric='fabric-ai'。
macOS (Homebrew):
bash
brew install fabric-ai
Arch Linux (AUR):
bash
yay -S fabric-ai
Windows (Winget):
bash
winget install danielmiessler.Fabric
从源代码安装 (From Source):
确保已安装Go语言环境。
运行以下命令:
go install github.com/danielmiessler/fabric/cmd/fabric@latest
Docker 安装 (Docker):
使用最新镜像:
docker run --rm -it kayvan/fabric:latest --version
使用特定版本 (GHCR):
docker run --rm -it ghcr.io/ksylvan/fabric:v1.4.305 --version
首次运行设置:
mkdir -p $HOME/.fabric-config
docker run --rm -it -v $HOME/.fabric-config:/root/.config/fabric kayvan/fabric:latest --setup
使用Fabric运行模式:
docker run --rm -it -v $HOME/.fabric-config:/root/.config/fabric kayvan/fabric:latest -p summarize
运行REST API服务器:
docker run --rm -it -p 8080:8080 -v $HOME/.fabric-config:/root/.config/fabric kayvan/fabric:latest --serve
镜像可在Docker Hub (kayvan/fabric) 和GHCR (ksylvan/fabric) 获取。
环境变量设置 (Environment Variables):
根据您的操作系统(Intel Mac/Linux 或 Apple Silicon Mac),在 ~/.bashrc 或 ~/.zshrc 中设置Go相关的 GOROOT、GOPATH 和 PATH 环境变量。
首次设置 (Setup):
安装完成后,运行 fabric --setup 来设置目录和密钥。
升级 (Upgrading):
只需再次运行安装时使用的 go install github.com/danielmiessler/fabric/cmd/fabric@latest 命令即可获取最新版本。
Shell 自动补全 (Shell Completions):
快速安装 (无需克隆):
curl -fsSL https://raw.githubusercontent.com/danielmiessler/Fabric/refs/heads/main/completions/setup-completions.sh | sh
Zsh 补全: 复制 _fabric 文件到 ~/.zsh/completions/ 并配置 fpath。
Bash 补全: 源文件 fabric.bash 到 ~/.bashrc 或复制到系统范围的 bash_completion.d 目录。
Fish 补全: 复制 fabric.fish 文件到 ~/.config/fish/completions/。
2、使用方法
安装并设置完成后,可以通过命令行使用Fabric。
查看帮助 (Help):
fabric -h
这将显示所有可用的选项,包括:
-p, --pattern: 选择一个模式。
-v, --variable: 为模式变量赋值。
-C, --context: 选择一个上下文。
--session: 选择一个会话。
-a, --attachment: 附件路径或URL。
-S, --setup: 运行Fabric的可重新配置部分的设置。
-t, --temperature: 设置温度。
-s, --stream: 启用流式输出。
-l, --listpatterns: 列出所有模式。
-L, --listmodels: 列出所有可用模型。
-U, --updatepatterns: 更新模式。
-c, --copy: 复制到剪贴板。
-m, --model: 选择模型。
-V, --vendor: 指定所选模型的供应商。
-o, --output: 输出到文件。
-y, --youtube: YouTube视频或播放列表URL,用于获取转录、评论等。
--transcript, --transcript-with-timestamps, --comments, --metadata: YouTube相关选项。
-g, --language: 指定聊天语言代码。
-u, --scrape_url: 使用Jina AI抓取网站URL到Markdown。
--serve: 启动Fabric REST API服务器。
--search: 启用Web搜索工具。
--image-file, --image-size, --image-quality, --image-compression, --image-background: 图像生成相关选项。
--voice, --list-gemini-voices: TTS语音相关选项。
--notification: 发送桌面通知。
--thinking: 设置推理/思维级别。
--debug: 设置调试级别 (0: 关闭, 1: 基本, 2: 详细, 3: 跟踪)。
调试级别 (Debug Levels):
使用 --debug 标志控制运行时日志:
0: 关闭 (默认)
1: 基本调试信息
2: 详细调试
3: 跟踪级别
扩展 (Extensions):
Fabric 支持在模式文件中调用扩展。扩展仅在模式文件内部工作,不支持直接通过标准输入调用。
REST API 服务器 (REST API Server):
通过 fabric --serve 启动内置的REST API服务器。
提供端点用于聊天完成、模式管理、上下文和会话管理、模型和供应商列表、YouTube转录提取以及配置管理。
按模式模型映射 (Per-Pattern Model Mapping):
可以使用环境变量为单个模式配置特定模型,例如 FABRIC_MODEL_PATTERN_NAME=vendor|model。
为所有模式添加别名 (Add Aliases for All Patterns):
在 .zshrc 或 .bashrc 文件中添加脚本,为每个模式创建别名,例如 summarize 代替 fabric --pattern summarize。
可以设置 FABRIC_ALIAS_PREFIX 环境变量来为所有别名添加前缀。
还提供了 yt 别名函数,用于方便地获取YouTube视频转录。
使用别名将输出保存为Markdown (Save Files in Markdown Using Aliases):
通过修改别名脚本,可以将模式的输出保存到指定的Markdown笔记库(如Obsidian),文件名格式为 YYYY-MM-DD-my_article_title.md。
Fabric的案例应用
Fabric 的核心应用在于其"Patterns",即预定义的AI提示,以及如何通过命令行工具和辅助应用来利用它们。
1、运行模式 (Running Patterns):
从标准输入运行 summarize 模式:
pbpaste | fabric --pattern summarize
(pbpaste 用于macOS,Windows/Linux有替代方案如 Get-Clipboard 或 xclip)
运行 analyze_claims 模式并启用流式输出:
pbpaste | fabric --stream --pattern analyze_claims
从YouTube视频中提取智慧 (extract_wisdom) 模式并流式输出:
fabric -y "https://youtube.com/watch?v=uXs-zPc63kM" --stream --pattern extract_wisdom
在网站上运行 analyze_claims 模式: Fabric 会使用Jina AI抓取URL并转换为Markdown。
fabric -u https://github.com/danielmiessler/fabric/ -p analyze_claims
2、直接使用Patterns (Just Use the Patterns):
Fabric项目中的 /patterns 目录包含了大量有用的AI提示。用户可以直接浏览这些模式,并在任何AI应用(如ChatGPT或其他应用/网站)中使用它们,即使不使用Fabric的命令行工具。
3、创建自定义模式 (Custom Patterns):
用户可以创建自己的私有模式,这些模式不会被Fabric的内置模式更新所覆盖。
设置自定义模式目录: 运行 fabric --setup,选择"Custom Patterns"选项并指定目录路径(例如 ~/my-custom-patterns)。
创建自定义模式文件: 例如,创建一个名为 my-analyzer 的模式:
mkdir -p ~/my-custom-patterns/my-analyzer
echo "You are an expert analyzer of ..." > ~/my-custom-patterns/my-analyzer/system.md
使用自定义模式:
fabric --pattern my-analyzer "analyze this text"
工作原理:
优先级系统: 自定义模式优先于同名的内置模式。
无缝集成: 自定义模式会显示在 fabric --listpatterns 中。
更新安全: 不受 fabric --updatepatterns 影响。
默认私有: 除非明确共享,否则自定义模式保持私有。
4、辅助应用 (Helper Apps):
to_pdf: 将LaTeX文件转换为PDF。
安装: go install github.com/danielmiessler/fabric/cmd/to_pdf@latest
使用示例 (结合 write_latex 模式):
bash
echo "ai security primer" | fabric --pattern write_latex | to_pdf
这将创建一个名为 output.pdf 的PDF文件。
code_helper: 生成代码目录的JSON表示,可用于AI模型创建新功能或编辑代码。
安装: go install github.com/danielmiessler/fabric/cmd/code_helper@latest
配合 create_coding_feature 模式使用。
5、Web界面 (Web Interface):
Fabric 包含一个内置的Web界面,提供GUI替代命令行界面。