[线报] 一个基于 GPT-4 的代码搜索引擎,开源了!
代码的编写与阅读,一直是程序员日常工作占比较大的一部分。
现在,前者已经可以通过 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,你将看到如下界面。
共享产品报错信息
Bloop 将使用 Telemetry 来搜集产品的错误数据,包括崩溃报告、日志和有关功能使用情况来优化产品。
如果你同意这一选项,可以点击Share with bloop
,不同意则点击Don't share
,无论你选择哪一项,都不会影响到后续操作。
2. 订阅产品更新
提交你的姓名和电子邮件,以便接收了解最新的 bloop 资讯。这个也可以根据你个人情况,选择是否跳过。
3. 同步本地仓库
要同步本地存储库,你必须先选择要扫描的文件夹。
扫描完成,选择要同步的 Git 仓库。
4. 同步 GitHub 仓库
我们可以直接从 GitHub 帐户同步存储库。要先完成这一步,首先得使用 GitHub OAuth 授权登录。
复制当前窗口显示的设备代码,单击「Connect GitHub」,软件将自动跳转到 GitHub 登录页面。
在 GitHub 页面上,选择你要下载和搜索的组织和仓库,然后点击 “授权” 即可。
授权成功后,你将看到跟同步本地仓库一样的界面,跟刚刚一样,点击同步即可。
5. 等待仓库同步状态
你可以在软件上看到所有的存储库及其同步状态。同步可能需要几秒到几分钟不等,具体取决于要同步的仓库大小和数量。
一旦状态指示器变为绿色 ,则代表同步成,你可以开始查询该仓库代码了。
完成到这一步时,你便可以使用 Bloop 在跟代码进行对话交流了。
6. 开始对话
自然语言搜索非常适合探索不熟悉的代码库。它可以定位代码、总结、解释、推理,甚至提出改进建议。
要执行自然语言搜索,你需要先在搜索栏左侧的下拉菜单中,选择 natural language
搜索类型。
然后,输入搜索查询并按回车键来执行搜索。
语义代码搜索成功,将会在屏幕右侧的侧边栏弹出一个新的对话窗口。然后,你就可以开始跟代码进行对话了。