草庐IT

6 个令人惊艳的 ChatGPT 项目

轻风博客 2023-03-31 原文

过去一周,技术圈的各个爆炸新闻,可以说是让我真正见证到了什么叫人间一日,AI 一年。
首先是 New Bing 对所有用户放开,注册即可用,然后周三 Google 发布 ChatGPT 的对手产品 Bard,周四 GitHub 推出 GitHub Copilot X,周五 OpenAI 团队上线了「ChatGPT 插件系统」,层层轰炸,完全不给人喘息的机会。
有好几次,我都是在深夜一两点刷到消息,看完之后身体按耐不住,从床上爬起来通宵写稿,大脑最近基本没怎么休息过
还不太了解这些变化的,可以翻下 GitHubDaily 公众号前几天的推文,基本上我都有做介绍。
在这短短的几天时间,GitHub 上每天也都有新项目涌出,除了在前面给大家推文介绍过的开源项目,近日也有一些不错的工具与解决方案出现。
下面,我将给大家分享 6 个近日在 GitHub 上较为活跃的,具备商业应用潜质且异常实用的开源项目。
话不多说,下面开始进入正题。

Copilot 开源解决方案

自微软上周发布 Microsoft 365 Copilot 以来,Copilot 这个词便被各界人士不断提及。
"Copilot has caught lightning in a bottle(Copilot 在瓶中捕抓到了闪电)"。
这是不久前,红杉资本在探讨新一轮技术革命时说的一句话。
由此可见,Copilot 开始变为一个具体概念,逐渐走入千家万户。
为了让开发者也能用上 AI 大型语言模型 (LLM) 的能力,微软也在 GitHub 上开源了一个轻量级 SDK:semantic-kernel。
这个项目,可以说是部分 Copilot 的解决方案。
该 SDK 支持和封装了来自最新 AI 研究的多种设计模式,以便开发人员可以将复杂的 技能注入他们的应用程序。
GitHub:https://github.com/microsoft/semantic-kernel
不仅如此,SDK 还提供了提示链、递归推理、总结、零 / 少样本学习、上下文记忆、长期记忆、嵌入、语义索引、规划和访问外部知识存储以及内部数据等功能。
如果未来你想尝试开发一款接入 Copilot 功能的产品,这个项目可供你借鉴学习。

让命令行也能用上 ChatGPT

我认为,命令行终端对于程序员来说,是一个非常重要的入口所在,同时也是大家日常使用频率极高的开发工具。
一个能大幅提升生产力的绝佳去处,ChatGPT 当然也应该安排上啦。
因此,GitHub 上有开发者开源了一款非常实用的命令行工具:Shell GPT
该工具直接在命令行中集成了 ChatGPT,通过它,可以帮助你快速编写 shell 命令、代码片段编写、Git 提交信息、文档、注释等内容。
GitHub:https://github.com/TheR1D/shell_gpt
用法主要有以下几种:
  • 获取某个任务的执行指令;

  • 直接转换时间、距离、重量、温度等单位;

  • 在命令行终端搜索 shell 用法;

  • 自动生成代码并存储;

  • 在命令行跟 ChatGPT 对话,并迭代优化。

简单来说,它就是一个本地命令行机器人。你下达指令,它负责执行,即便你不清楚某个任务该怎么用命令行来实现,也可以直接问它。
与其它 ChatGPT 应用一样,Shell GPT 在使用前,你需要先自行配置好 OpenAI API Key。

飞书 GPT

由于现在有不少人在用飞书处理日常工作的沟通交流、文档协作、视频会议等任务。
于是,前不久国内有开发者在 GitHub 上开源了一款生产力工具:飞书 GPT
GitHub:https://github.com/Leizhenpeng/feishu-chatgpt
里面集成了飞书 + GPT-3.5 + Dall・E + Whisper 等 API,支持语音对话、角色扮演、多话题讨论、AI 画图、表格分析、文档导出等功能。
这个工具平时除了拿来办公,偶尔用来摸摸鱼也挺不错的

一款基于 GPT-4 的代码搜索引擎

下面这个项目,有点像 GitHub Copilot X 代码搜索功能的开源实现。
Bloop,一个开源的代码搜索引擎。
通过 GPT-4 来回答代码相关的问题,可使用自然语言、正则表达式和过滤查询搜索本地和远程存储库。
GitHub:https://github.com/BloopAI/bloop
Bloop 的主要功能如下:
  • 基于 GPT-4 的会话搜索;

  • 快速的正则表达式搜索;

  • 同步本地和 GitHub 仓库;

  • 支持多种不同查询方式的过滤器;

  • 使用符号搜索查找函数、变量或特征

  • 拥有 10 多种编程流行语言的精确代码导航。

由于该项目代码完全开源,因此你也可以将其功能集成进企业内部的管理系统,以增强对技术文档、使用手册、教程等内容的检索效率。

ChatPDF 开源方案

大约在两个星期前,我曾给大家推荐过一款名为 ChatPDF 的项目
它可以提取 PDF 文件中的内容,并将内容交给 ChatGPT 进行分析。待解析完成之后,你便可以跟它进行一对一对话交流,就好像它是一个完全理解内容的人一样。
但是,该项目代码没有开源,这里重新推一个开源版的实现:GPT-4 & LangChain
利用它所开放的功能,可以快速为你的 PDF 文档打造一个 ChatGPT 聊天机器人。
GitHub:https://github.com/mayooear/gpt4-pdf-chatbot-langchain
使用的技术堆栈包括 LangChain、Pinecone、Typescript、Openai 和 Next.js。
LangChain 是一个框架,可以更轻松地构建可扩展的 AI/LLM 应用程序和聊天机器人;Pinecone 是一个矢量存储,用于存储嵌入和文本中的 PDF,以便以后检索类似文档。
为了帮助大家更好的学习该项目源码,作者还专门录制了一个技术原理解析视频,时长为 23 分钟,可在项目 README 中查看。

VSCode 智能插件

距离 GitHub Copilot X 正式集成到 VSCode 上,我估计还得需要很长一段时间。
如果你不想等太久,那不妨试下这个在 GitHub 开源的 VSCode 插件:VSCode ChatGPT
GitHub:https://github.com/gencay/vscode-chatgpt
它的主要作用,是将 OpenAI ChatGPT 集成到 VSCode,提供了包括但不限于以下这些功能:
  • 支持 GPT-4、GPT-3.5、GPT3 或 Codex 模型;

  • 在侧边栏对话窗口中进行问答;

  • 停止响应,减少 tokens 消耗;

  • 一键生成文件或修复代码;

  • 以 Markdown 格式,导出所有对话记录;

  • 编辑和重发提示;

  • 通过 ChatGPT 生成代码。

真的是万物皆可 VSCode...

有关6 个令人惊艳的 ChatGPT 项目的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  4. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  5. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  6. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  7. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

  8. ruby - 合并 nanoc 中的项目 - 2

    我一直在尝试使用nanoc用于生成静态网站。我需要组织一个复杂的排列页面,我想让我的内容保持干燥。包含或合并的概念在nanoc系统中如何运作?我已阅读文档,但似乎找不到我想要的内容。例如:我如何获取两个部分内容项并将它们合并到一个新的内容项中。在staticmatic您可以在您的页面中执行以下操作。=partial('partials/shared/navigation')类似的约定在nanoc中如何运作? 最佳答案 这里是nanoc的作者。在nanoc中,部分是布局。因此,您可以拥有layouts/partials/shared/

  9. Ruby 和指南针路径与 yeoman 项目 - 2

    我安装了ruby​​、yeoman,当我运行我的项目时,出现了这个错误:Warning:Running"compass:dist"(compass)taskWarning:YouneedtohaveRubyandCompassinstalledthistasktowork.Moreinfo:https://github.com/gruUse--forcetocontinue.Use--forcetocontinue.我有进入可变session目标的路径,但它不起作用。谁能帮帮我? 最佳答案 我必须运行这个:geminstallcom

  10. node.js - 如何在 Travis CI 上的一个项目中运行 Node.js 和 Ruby 测试 - 2

    我有一个包含多个组件的存储库,其中大部分是用JavaScript(Node.js)编写的,一个是用Ruby(RubyonRails)编写的。我想要一个.travis.yml文件来触发一个运行每个组件的所有测试的构建。根据thisTravisCIGoogleGroupthread,目前还没有官方支持。我的目录结构是这样的:.├──构建服务器├──核心├──扩展├──网络应用├──流浪文件├──package.json├──.travis.yml└──生成文件我希望能够运行特定版本的Ruby(2.2.2)和Node.js(0.12.2)。我已经有了一个make目标,所以maketest在每

随机推荐