当前位置: 首页 > news >正文

继Ollama之后,Go在AI领域再下一城

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的迁移。

906a2d4b752ffc4b856a6602863758ba.png

自2023年以来,GenAI的出现带来了大量用于完成任务的AI应用。然而,如何将这些强大的AI功能无缝集成到我们的日常生活中,仍是一个挑战。换句话说。AI目前面临的不是能力问题,而是集成问题。fabric项目正是为了解决这一问题而诞生的,它的目标是让每个人都能精细地将AI应用到日常挑战中。

fabric提供了一系列"模式"(Patterns),这些模式实际上是经过精心设计的AI提示(prompts)。

0ad3f67b9a93ea72cf6d7d0625f9761b.png

通过这些模式,用户可以轻松地将AI应用于各种生活和工作场景,例如:

  • 提取YouTube视频和播客中最有趣的部分

  • 仅凭一个想法就能以自己的风格写出一篇文章

  • 总结晦涩的学术论文

  • 为一段文字创建完美匹配的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的基本用法也很简单:

  • 查看选项:fabric -h

  • 使用特定模式:pbpaste | fabric --pattern <pattern_name> (该命令含义:读取剪贴板中的内容,然后使用fabric的"summarize"模式对这些内容进行摘要)

  • 流式输出:添加 --stream 选项

  • 使用自定义模型:使用 -m选项指定模型

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辅助人类创造力提供了广阔的可能性。


Gopher部落知识星球[3]在2024年将继续致力于打造一个高品质的Go语言学习和交流平台。我们将继续提供优质的Go技术文章首发和阅读体验。同时,我们也会加强代码质量和最佳实践的分享,包括如何编写简洁、可读、可测试的Go代码。此外,我们还会加强星友之间的交流和互动。欢迎大家踊跃提问,分享心得,讨论技术。我会在第一时间进行解答和交流。我衷心希望Gopher部落可以成为大家学习、进步、交流的港湾。让我相聚在Gopher部落,享受coding的快乐! 欢迎大家踊跃加入!

f17acc3ac7682e7c3942b375196da892.jpeg585efdef6a20d202ef21b5d825e427fa.png

e84edf22850d7dd6a115371239d366bb.pngd1c915fb708a7a407971d28f8e1d6435.jpeg

著名云主机服务厂商DigitalOcean发布最新的主机计划,入门级Droplet配置升级为:1 core CPU、1G内存、25G高速SSD,价格5$/月。有使用DigitalOcean需求的朋友,可以打开这个链接地址[4]:https://m.do.co/c/bff6eed92687 开启你的DO主机之路。

Gopher Daily(Gopher每日新闻) - https://gopherdaily.tonybai.com

我的联系方式:

  • 微博(暂不可用):https://weibo.com/bigwhite20xx

  • 微博2:https://weibo.com/u/6484441286

  • 博客:tonybai.com

  • github: https://github.com/bigwhite

  • Gopher Daily归档 - https://github.com/bigwhite/gopherdaily

  • Gopher Daily Feed订阅 - https://gopherdaily.tonybai.com/feed

596d6d2ff5d4fcf6b2db0a10fc5c06fd.jpeg

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

参考资料

[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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Vue3学习——Node环境安装(一)
  • 【Redis】数据结构和内部编码
  • 模型量化方法-GPTQ
  • python中%s是什么
  • 【每日刷题】Day105
  • JavaScript 原型与原型链
  • oracle 事务回滚
  • 如何培养单元测试的习惯?怎样才算一个好的单元测试?
  • 计算机图形学 | 动画模拟
  • eNSP 华为ACL配置
  • vue2项目从0到1记录
  • Linux软件编程---数据库
  • VSCode打开HBuilderX创建的uniapp项目
  • Vue.js与UI构建
  • Autojs详解
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Less 日常用法
  • Material Design
  • React-Native - 收藏集 - 掘金
  • sessionStorage和localStorage
  • Shell编程
  • SQLServer之索引简介
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Yii源码解读-服务定位器(Service Locator)
  • 开源SQL-on-Hadoop系统一览
  • 如何设计一个微型分布式架构?
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 入门级的git使用指北
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 微信小程序设置上一页数据
  • 想写好前端,先练好内功
  • 阿里云API、SDK和CLI应用实践方案
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (10)STL算法之搜索(二) 二分查找
  • (160)时序收敛--->(10)时序收敛十
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (附源码)计算机毕业设计ssm电影分享网站
  • (十三)Flask之特殊装饰器详解
  • (原)Matlab的svmtrain和svmclassify
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET Framework 3.5安装教程
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET 使用配置文件
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • [000-01-018].第3节:Linux环境下ElasticSearch环境搭建
  • [BSGS算法]纯水斐波那契数列
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [C++]类和对象【上篇】
  • [Eclipse] 详细设置护眼背景色和字体颜色并导出
  • [Hibernate] - Fetching strategies
  • [i.MX]飞思卡尔IMX6处理器的GPIO-IOMUX_PAD说明