AI isn't a thing; it's a magnifier of a thing. And that thing is human creativity.
在AI领域,最火的使用Go开发的项目莫过于
Ollama项目
了,但近期有一个项目也吸引了Gopher眼球,它就是fabric。叫fabric的项目太多,这个fabric又是一个怎样的项目呢?这里我就为大家简单介绍一下。
danielmiessler/fabric
[1]
是一个旨在通过AI增强人类能力的开源框架。该项目由Daniel Miessler(号称Founder of Unsupervised Learning)于2024年1月创建,目前在GitHub上已获得20k+的star。最初该项目是用Python实现的,近期,fabric刚刚完成了从Python到Go的迁移。
自2023年以来,GenAI的出现带来了大量用于完成任务的AI应用。然而,如何将这些强大的AI功能无缝集成到我们的日常生活中,仍是一个挑战。换句话说。AI目前面临的不是能力问题,而是集成问题。fabric项目正是为了解决这一问题而诞生的,它的目标是让每个人都能精细地将AI应用到日常挑战中。
fabric提供了一系列"模式"(Patterns),这些模式实际上是经过精心设计的AI提示(prompts)。
通过这些模式,用户可以轻松地将AI应用于各种生活和工作场景,例如:
fabric的核心原理是将问题分解成单独的组件,然后逐一应用AI。
fabric项目采用了一种独特的提示方法,称为"Patterns"(模式)。这些模式与常见的AI提示有以下几个关键区别:
-
fabric使用Markdown(通常是一个system.md文件)来构建模式。这样做可以确保最大程度的可读性和可编辑性,并且帮助创建者更容易制作高质量的模式,同时便于其他人深入理解模式的功能,也有利于AI更好地理解和执行指令。
-
指令清晰且结构化。利用Markdown的结构来强调AI应该执行的操作及其顺序这种方法使得AI能更准确地理解和执行所需任务。
这种结构化又不失灵活的方法允许用户针对各种任务创建精确的AI指令,同时保持了足够的适应性以应对不同的使用场景。
迁移到Go实现后,fabric的安装和使用更加方便了。只要你的系统内安装了Go,就可以通过下面命令安装和设置fabric:
$go install github.com/danielmiessler/fabric@latest
$fabric --setup
注:fabric --setup会用来设置一些大模型的key。
fabric的基本用法也很简单:
-
-
使用特定模式:pbpaste | fabric --pattern
(该命令含义:读取剪贴板中的内容,然后使用fabric的"summarize"模式对这些内容进行摘要)
-
-
fabric是开放的,它允许你创建和使用自定义模式,创建自定义模式仅需在~/.config/fabric/patterns/目录下创建对应的xxx.md文件。
Daniel Miessler还提供了一些工具(app)供fabric集成使用,比如
yt
[2]
就是一个可以从油管视频提取脚本的工具,将yt与fabric一起使用,便可以实现对脚本信息中核心要点的提取:
$yt https://www.youtube.com/watch?v=lQVcbY52_gY | fabric --pattern extract_wisdom
综上,我们看到拥有20k star的fabric项目提供了一个灵活而强大的框架,让用户能够轻松地将AI集成到日常工作流程中。无论是使用预设模式还是创建自定义模式,fabric都为AI辅助人类创造力提供了广阔的可能性。
[1]
danielmiessler/fabric:
https://github.com/danielmiessler/fabric
[2]
yt:
https://github.com/danielmiessler/yt
[3]
Gopher部落知识星球:
https://public.zsxq.com/groups/51284458844544
[4]
链接地址:
https://m.do.co/c/bff6eed92687
- END -
推荐阅读:
6 个必须尝试的将代码转换为引人注目的图表的工具
Go 1.23新特性前瞻
Gopher的Rust第一课:第一个Rust程序
Go早期是如何在Google内部发展起来的
2024 Gopher Meetup 武汉站活动
go 中更加强大的 traces
「GoCN酷Go推荐」我用go写了魔兽世界登录器?