周末摸了一个 ChatGPT CLI,支持本地会话保存、恢复、分享,内容自动滚动

2023-03-13 14:53:12 +08:00
 pkoukk

背景

最近 ChatGPT 的页面不太稳定,历史会话总是打不开,花了很多时间磨合(调教)的角色都无法继续,这让我痛心疾首,暗叹核心数据还是得掌握在自己的手里。

遂,翻看了一下 GPT3.5 的 CHAT API ,发现与官网不同,不是基于使用 MessageID 的 Chain 模式,而是在一次请求中附带所有的对话详情(包含用户和 AI )。这就很有意思了,官网上的 GPT 比较矜持,你需要通过各种咒语让它进入角色,还老被拒绝。而在 API 当中,你可以直接为 AI 编写一段身份设定和开场白,让 AI 自己说出来,这样它就非常容易进入角色。

这就引出了另一个可能,分享会话。以前大家通过分享咒语的方式来使用 GPT ,但非常容易被识别举报失效,被 AI 拒绝。而如果分享一组对话(类似剧本杀的剧本),让 AI 根据这一组对话继续,由于模型的语义关联性策略和链式推导特性,理论上 AI 不可能拒绝。

对话分享

对话保存在当前执行目录下的chatgpt_cli/conversions当中,如果有小伙伴之间想要分享自己磨合的角色,复制出来即可。

我有一个不愿意透露姓名的朋友愿意分享一些会话出来,但出于一些考虑,它们不会出现在主要( main )内容里。(大家都是程序员,应该懂什么意思)

现有的问题

因为本来只是用来自己摸鱼玩玩用的,所以做成了 CLI 应用,而我在 go 的生态里找到的 CLI 库不是特别理想,所以交互上有些繁琐,交互代码也比较脏。

并且原库在有较长的中文文本的时候,会有一些显示问题,我 fork 了原库修改了一些地方,修复了显示问题,但是不确定是否会带来其它问题.

不过应用的核心模块和 UI 是分离设计的,如果有兴趣在此基础上开发其它模式应用的话,还是比较容易的。

规划

在用 API 训练了几个模型之后,个人基本决定对于长期对话场景改用 API 了,确实比官网的少了很多束缚。不过目前 CLI 的交互还是太繁琐而且反人类了,除了适合上班的时候在 Terminal 里摸鱼一无是处。

下一步计划是用 RN 或者 Xamarin 写个小 APP 出来,配合一些云同步软件就可以做到随时聊天了。但我一个后端仔搞前端难度曲线有点陡峭,如果找到合适的模板可以套,再搞吧(咕咕咕)

项目地址

使用预览.gif

1477 次点击
所在节点    分享创造
3 条回复
molezznet
2023-03-14 15:30:41 +08:00
用起来还行 就是 windows 下每次都打开 note 编辑器,不方便。
同时在用另一个 aichat 的交互比较方便。
pkoukk
2023-03-15 10:33:37 +08:00
@molezz765
编辑很尴尬,原本用的是命令行直接输入,不用编辑器。但是实测中文长文本在命令行编辑过于逆天,体验太差,所以改成了编辑器。linux 和 mac 下默认是 vi ,所以体验还凑合。
交互上,网页版肯定方便的多。
自己做这个主要是为了 cosplay ,塑造角色搞长对话。目前见过的封装 API 的项目都没有 token 管理能力,拼装到 4096 个 token 之后就无法继续了,核心痛点无法满足 2333
molezznet
2023-03-15 12:26:52 +08:00
@pkoukk 嗯 所以改到用终端 vim 训练了, 就方便多了

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

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

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

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

© 2021 V2EX