好望角:让你的每次点击都有价值:byteclicks.com | 搜索引擎正在被AI污染信息源,中文优质信息越来越少了 |

Bloop代码搜索引擎将语义搜索与GPT-4相结合回答问题

Bloop是一个代码搜索引擎,它将语义搜索与 GPT-4 相结合来回答问题。借助 GPT-4 以自然语言提问,并通过精确的代码导航在 refs/defs 之间跳转。这是一个快速演示:https://www.loom.com/share/8e9d59b88dd2409482ec02cdda5b9185

传统的代码搜索工具将您查询中的术语与代码库进行匹配,但您通常不知道以正确的术语开头,例如“我们使用哪个库进行模型推理?” (当你学习一个新的代码库时,这些类型的问题特别常见。)bloop 结合使用神经语义代码搜索(比较查询和代码片段的含义 – 在向量表示中编码)和链式LLM调用的组合来检索和推理抽象查询。

理想情况下,LLM可以直接回答有关代码的问题,但在私有数据上微调最大的LLM会产生巨大的开销。

Bloop通过两步过程来解决这些限制。首先,使用GPT-4生成一个关键字查询,然后将其传递给语义搜索引擎。这个过程将查询嵌入并将其与向量空间中的代码块进行比较(使用Qdrant作为向量数据库)。发现使用语义搜索引擎来检索可以改善召回率,许 LLM 检索与查询没有任何文本重叠但仍然相关的代码。其次,检索到的代码片段会被排名,并插入到最终的LLM提示中。Bloop将这个提示传递给GPT-4,它对代码的出色理解能力会完成余下的工作。

LLM并不总是(至少目前还不是)最好的工具。Bloop基于Tantivy构建了一个快速的三元组索引正则表达式搜索引擎。由于这个原因,bloop在传统搜索方面也非常快。对于代码导航,基于作用域解析构建了一个精确的跳转引擎,使用Tree-sitter。

bloop是完全开源的。语义搜索、LLM提示、正则表达式搜索和代码导航都包含在一个repo中:https://github.com/bloopAI/bloop

bloop作为免费的桌面应用程序在Mac、Windows和Linux上运行:https://github.com/bloopAI/bloop/releases

上一篇:

下一篇:


标签