分享最近做的一个命令行小玩具: 用 LLM 做命令生成

34 天前
 huangyizheng

最近感觉 LLM 和 RAG (Retrieval Augmented Generation) 的应用特别的火,特别是在北美湾区这里,就想说闲下来研究一下做点什么。以练手的心态做了个开源小玩具: Termax (Github 链接)

一开始主要的功能就是能够让程序员在命令行里面使用自然语言生成想要的命令。但是考虑到大家使用的环境不一样,所以如果直接做命令生成的话效果可能不好(比如 Linux 生成了 powershell 命令),所以想到可以插入一些用户的环境数据去改善大模型的输出。

另外一种使用 RAG 的方式(我觉得很多 LLM agent 都在使用类似的思路),就是把“成功的”输出样本缓存下来给之后的模型作为参考 -- 这样大模型就会变得更加贴合用户的使用习惯。Termax 这边是会把没有报错且被用户成功运行的输出缓存下来,让之后的请求去参考,事实证明确实会让程序效果好很多。

这是一些小 demo

BTW ,作为一个很懒的人……我感觉大模型实际上可以预测我下一个命令想要做什么,比如我经常需要重复 git add ., git commit - m ..., 和 git push 这么一系列的操作。我就在想:能不能让模型帮我预测一下我的意图,然后猜出我要做什么(类似于结合上下文的命令提示):

我在 Termax 里面做了个小功能,但是有的时候猜的不是很准 hhh

不过有的人可能会考虑到 shell command 历史可能会包含敏感的信息,所以感觉并不是所有人都会愿意用这个功能。

不过,还是欢迎大家帮忙测试测试这个小玩意儿,我们顺便做了 bash, zsh, 和 fish 的插件,这样就可以直接用快捷键调用命令生成了。欢迎支持 and 提建议呀

Github: https://github.com/huangyz0918/termax/tree/main

1710 次点击
所在节点    程序员
8 条回复
ByteCat
34 天前
很有趣,来学习一下,不过这个和 GitHub Copilot CLI 有什么区别,虽然都没用过哈哈
noahlias
34 天前
你说的是 github copilot cli 吗
lawsiki
34 天前
nice ,已 star ,不过 api 最好可以设置自定义 URL ,很多人用的中转站
HowardChan
33 天前
已 star ,希望支持 Ollama 。
huangyizheng
33 天前
@lawsiki 非常好的 idea!
huangyizheng
33 天前
@HowardChan 马上支持 Ollama : )))
huangyizheng
32 天前
@lawsiki 已支持 : )
huangyizheng
32 天前
@HowardChan 已支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1033109

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX