代碼的編寫與閱讀,一直是程序員日常工作占比較大的一部分。
現(xiàn)在,前者已經(jīng)可以通過 GitHub Copilot X、Cursor 等工具來完成。但后者依舊沒有比較好的開源解決方案。
眾所周知,當(dāng)你嘗試接手,或者通過閱讀開源項(xiàng)目源碼來學(xué)習(xí)時(shí),往往需要花費(fèi)不少工作去熟悉項(xiàng)目文檔,了解文件目錄,梳理整個(gè)框架,搞懂各模塊的機(jī)制原理。
這個(gè)時(shí)間周期其實(shí)特別長,特別是當(dāng)你面對(duì)前同事留下來的,那些堆積如山的祖?zhèn)鞔a時(shí),每次想下手,難免感到有心無力。
于是,一個(gè)名為Bloop的代碼搜索引擎應(yīng)運(yùn)而生,它的存在,徹底打破了以往傳統(tǒng)的代碼搜索方式,采用基于 GPT-4 的 AI 智能模型,成功實(shí)現(xiàn)用自然語言,語義化的代碼搜索方式!
GitHub:https://github.com/BloopAI/bloop
你可以通過 Bloop,直接使用自然語言、正則表達(dá)式,來快速過濾查詢搜索本地和遠(yuǎn)程存儲(chǔ)庫。讓閱讀源碼變得更為高效,可以騰出手專注于業(yè)務(wù)上的功能開發(fā)。
它的主要功能如下:
基于 GPT-4 的會(huì)話搜索;
超快的正則表達(dá)式搜索;
一鍵同步本地和 GitHub 倉庫;
復(fù)雜的查詢過濾器,可調(diào)整搜索結(jié)果范圍;
使用符號(hào)搜索查找函數(shù)、變量或特征;
支持 10 多種編程語言的代碼導(dǎo)航(轉(zhuǎn)到參考和轉(zhuǎn)到定義)。
Bloop 基于 Rust 語言開發(fā),因此在執(zhí)行搜索任務(wù)時(shí),效率也頗為驚人。目前支持 Windows、macOS、Linux 等主流操作系統(tǒng)。
下面講下如何使用。
安裝與使用
Bloop 的安裝方式很簡單,大家可以直接在 GitHub Releases 頁面,選擇你當(dāng)前系統(tǒng)版本進(jìn)行下載即可。
地址:https://github.com/BloopAI/bloop/releases/latest
下載完成后,首次打開使用 Bloop,你將看到如下界面。
共享產(chǎn)品報(bào)錯(cuò)信息
Bloop 將使用 Telemetry 來搜集產(chǎn)品的錯(cuò)誤數(shù)據(jù),包括崩潰報(bào)告、日志和有關(guān)功能使用情況來優(yōu)化產(chǎn)品。
如果你同意這一選項(xiàng),可以點(diǎn)擊Share with bloop,不同意則點(diǎn)擊Don't share,無論你選擇哪一項(xiàng),都不會(huì)影響到后續(xù)操作。
訂閱產(chǎn)品更新
提交你的姓名和電子郵件,以便接收了解最新的 bloop 資訊。這個(gè)也可以根據(jù)你個(gè)人情況,選擇是否跳過。
同步本地倉庫
要同步本地存儲(chǔ)庫,你必須先選擇要掃描的文件夾。
掃描完成,選擇要同步的 Git 倉庫。
同步 GitHub 倉庫
我們可以直接從 GitHub 帳戶同步存儲(chǔ)庫。要先完成這一步,首先得使用 GitHub OAuth 授權(quán)登錄。
復(fù)制當(dāng)前窗口顯示的設(shè)備代碼,單擊「Connect GitHub」,軟件將自動(dòng)跳轉(zhuǎn)到 GitHub 登錄頁面。
在 GitHub 頁面上,選擇你要下載和搜索的組織和倉庫,然后點(diǎn)擊 “授權(quán)” 即可。
授權(quán)成功后,你將看到跟同步本地倉庫一樣的界面,跟剛剛一樣,點(diǎn)擊同步即可。
等待倉庫同步狀態(tài)
你可以在軟件上看到所有的存儲(chǔ)庫及其同步狀態(tài)。同步可能需要幾秒到幾分鐘不等,具體取決于要同步的倉庫大小和數(shù)量。
一旦狀態(tài)指示器變?yōu)榫G色 ,則代表同步成,你可以開始查詢?cè)搨}庫代碼了。
完成到這一步時(shí),你便可以使用 Bloop 在跟代碼進(jìn)行對(duì)話交流了。
開始對(duì)話
自然語言搜索非常適合探索不熟悉的代碼庫。它可以定位代碼、總結(jié)、解釋、推理,甚至提出改進(jìn)建議。
要執(zhí)行自然語言搜索,你需要先在搜索欄左側(cè)的下拉菜單中,選擇 natural language 搜索類型。
然后,輸入搜索查詢并按回車鍵來執(zhí)行搜索。
語義代碼搜索成功,將會(huì)在屏幕右側(cè)的側(cè)邊欄彈出一個(gè)新的對(duì)話窗口。然后,你就可以開始跟代碼進(jìn)行對(duì)話了。
寫在最后
早在 2021 年初,作者便收到了來自 GAFA(Google、Amazon、Facebook、Apple)工程師的反饋,說未來機(jī)器學(xué)習(xí)如果能成功在代碼編程領(lǐng)域應(yīng)用,將大幅減少開發(fā)者的工作量,將其編程效率提升至 10 倍,甚至 100 倍!
為了驗(yàn)證這一想法,工程師們開始著手構(gòu)建一個(gè)語義化代碼搜索引擎,嘗試將用戶的查詢和每個(gè)文件轉(zhuǎn)換為向量并比較它們的相似性。
一開始的時(shí)候,效果其實(shí)不太理想,但當(dāng)他們接入 GPT-4 后,神奇的一幕發(fā)生了,代碼檢索結(jié)果的精準(zhǔn)性與實(shí)時(shí)性變得十分驚人,這令人出乎意料的結(jié)果,讓團(tuán)隊(duì)成員感到欣喜若狂。
為了讓其他人也能領(lǐng)略到該工具的強(qiáng)大,團(tuán)隊(duì)選擇將項(xiàng)目開源,讓大家一起共同探索 GPT-4 的更多能力。
現(xiàn)在只是剛開始,各類 AI 應(yīng)用便爆發(fā)了井噴式的增長,每天我都能在這個(gè)領(lǐng)域中感受到各種日新月異的變化,收獲頗多。
如果你想了解更多關(guān)于 ChatGPT 的內(nèi)容,可以查看 GPT 系列文章:
手把手帶你搭建 ChatGPT 微信機(jī)器人!
把 ChatGPT 微信機(jī)器人一鍵部署到免費(fèi)服務(wù)器!
ChatGPT 微信機(jī)器人原理解析(一):如何接入 ChatGPT API
無需 waitlist!立即嘗鮮 GitHub Copilot 新功能
用上 GPT-4 了!
用上最新的 GitHub Copilot Chat 了!
未來,ChatGPT/Copilot 會(huì)讓程序員失業(yè)嗎?
審核編輯 :李倩
-
搜索引擎
+關(guān)注
關(guān)注
0文章
120瀏覽量
13513 -
代碼
+關(guān)注
-
GPT
+關(guān)注
關(guān)注
0文章
368瀏覽量
15864 -
ChatGPT
+關(guān)注
關(guān)注
29文章
1584瀏覽量
8661
原文標(biāo)題:一個(gè)基于 GPT-4 的代碼搜索引擎,開源了!
文章出處:【微信號(hào):玩轉(zhuǎn)VS Code,微信公眾號(hào):玩轉(zhuǎn)VS Code】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
參加搜索引擎營銷SEM培訓(xùn)的好處?
基于網(wǎng)格技術(shù)的并行搜索引擎
教育網(wǎng)BBS搜索引擎設(shè)計(jì)與實(shí)現(xiàn)
主題搜索引擎的研究
網(wǎng)絡(luò)搜索引擎,網(wǎng)絡(luò)搜索引擎的工作原理
基于JAVA技術(shù)的搜索引擎的研究與實(shí)現(xiàn)

評(píng)論