Published on

18.2k 的 fabric,一款通过命令形式预定义 AI prompts 的超强辅助

Authors

介绍

从 AI 问世以来到现在,出现了各式各样的 AI 产品,但是要使用好它们却不是一件简单的事情,因为如今的 AI 大都是通过堆数据训练出来的,它们只能通过接收比较规范、清晰、结构化的 prompt 来给出比较准确的回答,如果输入给 AI 的问题比较模糊,那 AI 也只能输出一个充斥着幻觉的答案。

关于 prompts 之前三金输出过一些文章,有:

但是这些也只是在教大家怎么写出一个比较合理规范的 prompt 以及如何查找别人写好的 prompts。

今天给大家介绍的 fabric,是一款预定义了一系列 AI 提示的开源框架在 Github 上拥有 18.3k star,使用它我们可以通过快捷命令来让 AI 完成任务。

安装

在正式开始安装之前,我们要确保安装了 python 3.10+,否则 fabric 无法正常运行。

  • 创建存放 fabric 项目的目录
mkdir fabric
  • 从 Github 上克隆项目并进入项目
git clone https://github.com/danielmiessler/fabric.git
cd fabric
  • 如果电脑上没有安装 pipx,还需要先安装 pipx
# macOS
brew install pipx

# Linux
sudo apt install pipx

# windows
# 使用 WSL,并遵循 Linux 说明
  • 安装好 pipx 之后,就可以开始安装项目依赖了
pipx install .
  • 设置一些必要的配置
fabric --setup

这一步其实就是配置一些 AI 的 key 进去,比如 OpenAI、Google 和 YouTube 等。

  • 重启终端之后就可以开始使用啦~

使用

因为现在 OpenAI 封号挺严重的,三金尝试使用 OpenAI key 的时候已经调不通了,幸运的是 fabric 是支持 Ollama 的(同理,只要是本地大模型应该都是支持的),所以我启动了尘封已久的 Jan(详情请看18k star 的开源本地部署大模型利器-Jan,支持启动本地服务)。

还有 LM Studio 也可以,参考 没有网络限制!超简单本地部署 Llama3 的方法

然后打开终端并设置 OPENAI_BASE_URLDEFAULT_MODEL

export OPENAI_BASE_URL=http://127.0.0.1:1337/v1/
export DEFAULT_MODEL="qwen-7b"

如果在使用 fabric 命令时遇到 'NoneType' object has no attribute 'chat' 的问题,可以通过设置 OPENAI_API_KEYNULL 来解决:

vim ~/.config/fabric/.env

OPENAI_API_KEY="NULL"
CLAUDE_API_KEY="NULL"
GOOGLE_API_KEY="NULL"
# 对于代理地址和默认 model 也可以在这个配置文件中设置
OPENAI_BASE_URL=http://127.0.0.1:1337/v1/
DEFAULT_MODEL="qwen-7b"

保存并退出,然后使用 fabric 实验一下:

pbpaste | fabric -p create_summary --stream

解释一下:

  • -p 也就是 --pattern,即选择一个预定义的提示使用
  • create_summary:这个角色是一个内容总结专家,会输出 Markdown 格式的摘要
  • --stream:如果要实时查看结果,就需要用到这个选项

测试成功~

当我们未指定内容时,这个 prompt 会介绍当前大模型,现在我们找一个文件让它来整理总结一下文件里的内容:

pbpaste | fabric -t ~/Desktop/2022周末分享/JS\ 代码整洁之道.md -p summarize --stream

-t 就是指定要访问的文件

也可以顺利输出:

除此之外,fabric 还提供了一个 --gui 的命令,可以打开一个可视化窗口:

fabric --gui

左侧的下拉框是快捷指令,右侧下拉框是 model 类型:

通过这个窗口我们可以快速执行一些任务,比如:

其他的一些命令及提供的预定义提示词,大家可以访问 fabric 的 Github 地址来进行查看。

fabric 中好玩儿的东西还有很多,像内置的 yt 命令可以总结 YouTube 视频的内容、ts 命令可以转录音频文件,也可以自定义 prompt 等等,感兴趣的小伙伴快去试试吧~

关注本公众号,了解更多 AI 资讯

为了方便沟通交流,三金也建了一个 AI 交流群,欢迎感兴趣的小伙伴加入~