GangDan(纲担)重构-几乎重做了一遍

前情提要:

我写了一个完全离线的 AI 编程助手-纲担(GangDan),聊聊背后的设计思路

完全离线本地运行的参考文献重命名、格式转换、知识库构建与问答工作流-Chou+NuoYi+Gangdan 三个工具联合使用

GangDan(纲担)升级:开源本地知识库 + 支持本地模型和在线模型的深度研究助手

GangDan 的知识库是怎么炼成的

GangDan 更新:可用在线模型+从写综述到写完整文章

GangDan(纲担)升级:给知识库加了个 Wiki,顺便聊聊为什么 RAG 不够用

GangDan 之前的几个版本,说实话,挺糟糕的。界面乱七八糟,功能到处都是 bug。知识库选不了,论文搜不到,生成个 wiki 直接报错说找不到。连基本的翻译功能都没有。我自己用着都难受,更别说给别人用了。

这两天我坐在电脑前面,从头到尾把整个项目翻了一遍。改了上千行代码,修了不知道多少个问题。下面说说到底改了什么。

知识库总算能用了

之前最大的问题是自定义知识库创建出来以后,在对话里面根本选不到。后来发现是两套存储系统各玩各的,一套存文档,一套存列表,谁也不知道谁。我给统一到了一个 ChromaDB 里面,现在从文献检索到批量转换,再到加入知识库,最后在对话里检索使用,整个流程是通的。

搜索到的论文会自动按照引用格式重命名,比如"Pang et al. (9024) - Neural Architecture Search.md"。看着就舒服多了。

界面重新设计了

原来的页面就是一排标签,密密麻麻十几个,根本分不清哪个是哪个。现在分了知识库和教学辅助两个大板块,左边是侧边栏导航,右边是内容区。搜索表单在左边,结果在右边,逻辑上是顺畅的。

暗色主题和亮色主题都仔细调过,hover 上去有阴影,focus 输入框有发光环,不再是那种一眼就觉得粗糙的感觉。

翻译功能

所有生成的内容,不管是文献综述还是论文还是 Wiki 页面,都可以一键翻译成十种语言。而且翻译的时候会严格保留参考文献不翻译,markdown 格式也不会乱。

设置里面可以单独选翻译模型。默认用聊天模型也能翻,但你要是想翻得更好,可以指定一个大一点的模型专门做翻译。

文献检索大改

现在提供了预印本和论文的等等的搜索功能了,arXiv、bioRxiv、medRxiv、Semantic Scholar、CrossRef、OpenAlex、DBLP、PubMed、GitHub 全在一个搜索框里。勾上 AI 精炼,输入中文"矩阵计算",自动翻译成"matrix computation"再搜索。

搜出来的结果支持多选、全选、排序。可以批量转 markdown,批量加入知识库。

细节显示

文献综述生成的时候,顶部有个进度条,显示写到第几节了,多少 token 了,每秒多少 token,用的什么模型。不会让你干等着不知道发生什么。

批量转换也有逐项状态显示,哪个转换成功哪个失败,一目了然。

Wiki 从小众功能变成可用的

之前 Wiki 只能给内置的知识库生成页面,自定义的知识库完全不行。修好之后,不管是下载的文档还是自己上传的,还是从论文检索生成的知识库,统统可以生成 Wiki。

翻译模型独立设置

设置里面加了翻译模型的选项。你可以选一个大的模型专门做翻译,不用跟聊天混在一起。翻译效果会好很多。


还没做好的

转换质量还是不理想。论文转 markdown 的时候,公式和图片的保留不够好。之前想参考 NuoYi 的实现,做得更细致,但是显存开销太大了。这块后面要专门抽时间改进。

界面上还有一些细节不够精致,比如设置页面的一些卡片布局,教学辅助那边的空间利用。慢慢来。

总的来说

这次的改动量非常大。不是修修补补,是把很多模块从"能用"做到了"好用"。当然离完美还有距离,但至少现在可以放心推荐给别人用了。

代码在 https://github.com/cycleuser/GangDan,感兴趣可以看看。有什么问题直接提 issue。

预览时标签不可点