查看原文
其他

一个基于 GPT-4 的代码搜索引擎,开源了!

小 G GitHubDaily 2023-04-25

公众号关注 “GitHubDaily”

设为 “星标”,每天带你逛 GitHub!


代码的编写与阅读,一直是程序员日常工作占比较大的一部分。

现在,前者已经可以通过 GitHub Copilot X、Cursor 等工具来完成。但后者依旧没有比较好的开源解决方案。

众所周知,当你尝试接手,或者通过阅读开源项目源码来学习时,往往需要花费不少工作去熟悉项目文档,了解文件目录,梳理整个框架,搞懂各模块的机制原理。

这个时间周期其实特别长,特别是当你面对前同事留下来的,那些堆积如山的祖传代码时,每次想下手,难免感到有心无力。

于是,一个名为 Bloop 的代码搜索引擎应运而生,它的存在,彻底打破了以往传统的代码搜索方式,采用基于 GPT-4 的 AI 智能模型,成功实现用自然语言,语义化的代码搜索方式!

GitHub:https://github.com/BloopAI/bloop

你可以通过 Bloop,直接使用自然语言、正则表达式,来快速过滤查询搜索本地和远程存储库。让阅读源码变得更为高效,可以腾出手专注于业务上的功能开发。

它的主要功能如下:

  • 基于 GPT-4 的会话搜索;

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

  • 一键同步本地和 GitHub 仓库;

  • 复杂的查询过滤器,可调整搜索结果范围;

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

  • 支持 10 多种编程语言的代码导航(转到参考和转到定义)。

Bloop 基于 Rust 语言开发,因此在执行搜索任务时,效率也颇为惊人。目前支持 Windows、macOS、Linux 等主流操作系统。

下面讲下如何使用。

安装与使用

Bloop 的安装方式很简单,大家可以直接在 GitHub Releases 页面,选择你当前系统版本进行下载即可。

地址:https://github.com/BloopAI/bloop/releases/latest

下载完成后,首次打开使用 Bloop,你将看到如下界面。

  1. 共享产品报错信息

Bloop 将使用 Telemetry 来搜集产品的错误数据,包括崩溃报告、日志和有关功能使用情况来优化产品。

如果你同意这一选项,可以点击Share with bloop,不同意则点击Don't share,无论你选择哪一项,都不会影响到后续操作。

  1. 订阅产品更新

提交你的姓名和电子邮件,以便接收了解最新的 bloop 资讯。这个也可以根据你个人情况,选择是否跳过。

  1. 同步本地仓库

要同步本地存储库,你必须先选择要扫描的文件夹。

扫描完成,选择要同步的 Git 仓库。

  1. 同步 GitHub 仓库

我们可以直接从 GitHub 帐户同步存储库。要先完成这一步,首先得使用 GitHub OAuth 授权登录。

复制当前窗口显示的设备代码,单击「Connect GitHub」,软件将自动跳转到 GitHub 登录页面。

在 GitHub 页面上,选择你要下载和搜索的组织和仓库,然后点击 “授权” 即可。

授权成功后,你将看到跟同步本地仓库一样的界面,跟刚刚一样,点击同步即可。

  1. 等待仓库同步状态

你可以在软件上看到所有的存储库及其同步状态。同步可能需要几秒到几分钟不等,具体取决于要同步的仓库大小和数量。

一旦状态指示器变为绿色 🟢,则代表同步成,你可以开始查询该仓库代码了。

完成到这一步时,你便可以使用 Bloop 在跟代码进行对话交流了。

  1. 开始对话

自然语言搜索非常适合探索不熟悉的代码库。它可以定位代码、总结、解释、推理,甚至提出改进建议。

要执行自然语言搜索,你需要先在搜索栏左侧的下拉菜单中,选择 natural language 搜索类型。

然后,输入搜索查询并按回车键来执行搜索。

语义代码搜索成功,将会在屏幕右侧的侧边栏弹出一个新的对话窗口。然后,你就可以开始跟代码进行对话了。

写在最后

早在 2021 年初,作者便收到了来自 GAFA(Google、Amazon、Facebook、Apple)工程师的反馈,说未来机器学习如果能成功在代码编程领域应用,将大幅减少开发者的工作量,将其编程效率提升至 10 倍,甚至 100 倍!

为了验证这一想法,工程师们开始着手构建一个语义化代码搜索引擎,尝试将用户的查询和每个文件转换为向量并比较它们的相似性。

一开始的时候,效果其实不太理想,但当他们接入 GPT-4 后,神奇的一幕发生了,代码检索结果的精准性与实时性变得十分惊人,这令人出乎意料的结果,让团队成员感到欣喜若狂。

为了让其他人也能领略到该工具的强大,团队选择将项目开源,让大家一起共同探索 GPT-4 的更多能力。

现在只是刚开始,各类 AI 应用便爆发了井喷式的增长,每天我都能在这个领域中感受到各种日新月异的变化,收获颇多。

如果你想了解更多有趣、实用的 AI 技术,以及 ChatGPT 新进展,欢迎点击下方链接,加入我们社群进一步交流探讨。

👇 每个进群的人,都会收到我们赠送的一枚 ChatGPT 账号。

社群入口:ChatGPT 社群,正式上线!

为了能够第一时间接收到文章推送,建议大家给 GitHubDaily 公众号加个星标。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存