目前代码已开源:keaipiao/sosoGitHub,欢迎fork和star哦。
目前正在开发AI面试官项目,开发完成后也会同步开源~

描述

项目名:sosoGitHub

项目描述:根据中文语义搜索最匹配的开源仓库,目前项目已关停
在这里插入图片描述


想法

最初的想法就是之前搜索项目时GitHub搜出来的内容驴唇不对马嘴,我就想到能不能根据中文搜索仓库。

做出来了,很快,只用了一个周末的时间。

实现原理:使用LLM将用户输入的中文内容转化为两个英文领域词再加两个匹配的顶级仓库名,这样搜索出来的仓库会更加精准。然后调用GitHubAPI进行搜索就可以拿到较为匹配的仓库。

截至目前,项目还在可控范围内,因为我选择的技术是我最熟悉的SpringBoot那一套,不需要重新学习其他的语言。

踩坑

直到03-搜索排序优化,写到了我完全不懂也没理解过的领域。

在这里插入图片描述


就是因为这个较为匹配,它不是完全按照中文语义搜出来的,因为一共4个关键词,两个领域词、两个顶级项目关键词。每个关键词搜索5个开源仓库的情况下一共可以搜出20个仓库,然后再调用LLM进行排序,最终返回9个最匹配的仓库,按顺序显示。

也就是说搜索一次仓库需要调用两次LLM,第一次通过语义获取关键词,第二次将20个仓库+README前200字,通通塞给LLM进行排序。

但我发现Token消耗的太快了,每次搜索都要消耗很多的Token,作为一名个人开发者根本扛不住啊!

我就向AI提问,有没有办法进行本地排序,目前Token消耗太多。很快啊,很快,告诉我可以通过PM25进行本地打分,拿description + topics + readme和其他的一些字段进行打分,并且可以进行分页,无论多少个仓库都不怕。

但是怪就怪我当时没好好理解,直接按它说的来做了。等他写完的时候我进行测试发现,确实是本地排序了。

但我看不懂代码它写的代码了,当时还急着开发下一阶段,这只是其中的一个PR,还有好多在等着做,就先放着不动了。

再后来,增加的功能越来越多,越来越杂,在原来PM25的基础上又增加了用户点击权重等等一系列。接下来越来越看不懂了,就摆烂了,不看代码 直接进行开发,AI提出的计划直接按推荐来做,本人没有进行真实的调研。


其实目前还没有打败我,因为以上只是最基础的功能,最重要的功能是“仓库详情页

光搜索仓库也不够呀,用户还得跳转到GitHub上查看,如果是中文仓库还好,英文仓库怎么办?

那我们的意义是什么?仅仅是做一个搜索仓库吗?然后就是大张旗鼓的进行开发详情页···

说实话,一口真的吃不成一个胖子,在详情页既要又要,要这要那。

  • 又要一句话描述仓库、
  • 又要一句话启动
  • 又要中文翻译README
  • 又要根据代码AI问答

最终由于UI、操作、Token等各方面的问题,导致心力交瘁,停止维护。


千言万语汇成一句话:AI编程是个好东西,但开发完成后一定要进行review,否则到最后出现bug的时候你都无法讲清遇到的是什么问题,大概应该怎么修复!

结尾:它只是打倒了我这一个项目,但我目前正在开发另一个项目:“灵计一动” - 一个针对于VibeCoding开发者的灵感-计划-产品-归档的全流程开发效率工具,欢迎体验:点我进入官网

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐