你小子刑啊 (@you_guy_xing) 在 给佬们分享一下总结的“代码语义搜索” 中发帖
之前对 cursor 的语义输入就可以查询、修改对应的代码很是经验,因此研究了一下相关技术。在这里分享给各位佬,大家可以当成扩展阅读了解一下
Cursor中的Codebase
Cursor 通过 Codebase Indexing,把 Cursor 编程了一个可以感知上下文的编码助手。在使用 Cursor 时,它会从向量库中检索相关的代码片段,为 LLM 提供上下文。Cursor 的 codebase indexing 大致分为如下流程:
分割本地代码库中的文件
将片段发送到 Cursor 的服务器,使用嵌入模型来创建嵌入
远程向量库中只存储代码的文件路径,开始和结束行号,以及代码片段的向量值
受 Cursor 启发,代码的语义搜索可能会有两个主要组件:
代码嵌入:将代码嵌入索引到向量数据库
语义搜索:从向量库中进行语义检索
代码嵌入
代码嵌入是一种将代码片段表示为连续空...