前言
实时对话代码库??
我是第一批 copilot 内测用户,早在 2021 年 11 月我就开始体验 copilot 了。在 chatgpt 出来第二天我就注册并体验了。
可以说别人还在农耕时代我就早早地用上了蒸汽机。这让我在开发效率上获得了巨大的优势,我可以用同样的开发评估时间摸更多的鱼。
但是我还是不满足,chatgpt 无法阅读我整个代码库,直到 chatpdf 在 2 月份横空出世,它打破了 chatgpt 上下文不足的局面。让我萌生了要把这项技术应用到我的工作中的想法。
我开始研究他们的代码、查找资料,我发现它们用的是 embedding 方式,先把你的文件内容拆分,然后发到 openai embedding(向量化)后,再把文件内容片段和向量结果保存到向量数据库。
当你提问时,把你的问题 embedding,然后把 embedding 结果和向量数据库里的向量进行比较,找到最相似的向量,然后把这个向量对应的文件内容片段返回给 openai,让 openai 根据这个片段和你的问题生成答案。
这样就可以实现 “无限” 的上下文了。但是效果并不理想,因为语义向量片段只对文章之类效果好(勉强),代码压根就不行。
我还是保持复制文件内容,然后去 chatgpt 问的方式,虽然傻,但是效果好。
复制粘贴是一件反人类的事,我想,如果我能把这