这个标题有点点套娃… 但是事实确实如此. 在之前认识到chatGPT确实能比较好的回答代码问题之后, 我突然觉得我行了! 我终于有可能做全栈了! 于是为了展示chatGPT加持下的个人实力, 我准备写个用chatGPT读论文的程序(其实有考虑用这个辅助做meta分析)!
开始挖坑
大概是两个星期前想到做这个东西的, 之前注册了号, 试用它辅助写了一个带token验证的静态服务, 后面就看到了同事分享的chatPDF, 以及同事说他靠chatGPT来快速阅读文献并写综述. 当时我就回忆起了在这里工作三年看文献的痛苦, 想着何不开发个工具用chatGPT加速我的阅读呢? 以来辅助自己工作, 而来有了demo可以蹭热度, 要是收获个几十上百的star, 那我也离自己想了很久的全栈独立开发者又更近了. 加之之前做不了是因为很多东西从头学根本没那个时间和能力, 现在有chatGPT辅助那还不是事半功倍?
各种踩坑
然后说干就干!(三分钟热度最擅长这个), 我想着有了此等外挂, 开发个简单的demo还不就三两天的事? 然后这两周就开始各种踩坑….
想给钱都这么难…
我也没想到, 第一个坑居然是付钱… 之前新注册的OpenAI账号都会送30刀的免费API额度用于体验, 但可能是用户太多… 后面就减少甚至不送了… 我当时注册完… 账号上就是一个子没有的… 核心功能的API调用不了那怎么行… 就只能自掏腰包解决了… 吗? 还真没有这么简单, 因为OpenAI是不对中国大陆开发服务的… 因此我的Visa卡都没法登记… 只能办虚拟信用卡… 然后这个虚拟信用卡… 我也不知道它到底是不是个合法玩意… 最大的Depay要求用一种虚拟货币充值??? 虚拟货币我听着就发憷… 不敢乱碰, 最后只能找了个首付金额大, 但是我能直接付款的(多的钱大不了之后买塞尔达了…), 才解决了问题(最后好像还是靠钱解决了), 充上值, 开始开发!
emmmmmm, 然后此时已经过了半天….
chatGPT当前的局限性
chatGPT能执行各种各样的任务, 但是这改变不了它是一个文本生成AI的事实, 它本质上的功能是生成一段通顺的, 最好是没有错误的自然语言文字. 我在初期使用它的时候确实比较少碰到问题(可能是问题简单), 但是随着使用频率上升, 出问题的频率和严重程度就越来越大了… 总的来说, 我感觉由于我问的过于泛泛, 或者是我问的一些问题并不可能有答案, 因此会收到它的各种胡说八道的答案. 这会产生两个问题:
实际开发时并没有想的那么飞速, 因为我好死不死采用了一个非常新的开发框架(
Pynecone
), 它的介绍很美好, 一次开发, 前端/后端/API全部都有, 多平台快捷部署. 然而由于太新, chatGPT完全不能给我任何建议, 我还是得自己学习文档和官方的示例来完成必要功能的实现. 而且在一些很基本的功能上都花了非常多的时间…让chatGPT稳定的执行特定的任务不是一件那么简单的事情… 而且我用的是
gpt-3.5-turbo
(起步时还没有4, 当然现在我也排不上队), 因此并不如gpt4那样能轻易指定返回答案格式(我想用json格式返回便于解析). 所以说…面向prompts编程… 还真不是一句玩笑… 要使用得好, 调试prompts还是非常必要的
总之, chatGPT很强, 但… 即使是gpt4, 我相信也没有微软宣传片里的那么强… 要使用得顺畅, 还是要具备使用的技巧, 把自己变成chatGPT的形状(误
开发框架切换
接前文… Pynecone
真的是还不成熟… 导致我在一个半星期后真的受不了了, 还是切到了Gradio
… 怎么说呢… 工具和框架的马太效应不要随意违背啊… 尤其是我本意是蹭热度, 那就更是应该找最快的实现方式, 切忌想太多
HuggingFace你罪大恶极!
虽然只是句玩笑, 但是我真的没想到… 我会在demo的上线卡了整整一个下午加一个晚上, HuggingFace是很好的平台(一个space提供8核16G, 这什么石油佬开的慈善平台), 但是你这个新建项目不让全空真的是为难我这种小白…
我经历了手动合并冲突, 强制推送代码, 最后还是妥协选择把原项目的代码和传到HuggingFace的分开弄了… 这个问题上我真的问题都问不到点, 没从chatGPT上获得什么有效的帮助…
时间不够用
屋漏偏逢连夜雨, 说多了都是泪, 该肝还是要肝… (在成为国宝的路上一去不复返
chatGPT带来的帮助
虽然前面也吐槽了chatGPT也没有那么的好用, 但是它带来的增益还是实打实的, 在这个项目中对我的帮助包括但不限于:
- 帮忙解读类似的开源代码, 让我快速了解别人的实现方式
- 解答Gradio的各种使用问题(成熟的工具就能给出很多实用建议)
- 帮助生成英文README(然而还是没人看)
- 增加”我能做到!”的信心
体会到”独立”开发的痛苦
这两周我也深刻体会过独立开发者的, 或者说个人自媒体的痛苦了… 同样是文献阅读辅助, chatPaper项目和我的内容都是两周前开始陆续在github上开始披露代码的(当然我的不是披露, 是做一点就传一点…), 现在人家已经是4000+star了… 我特么最开始构想的两个功能和基本的app页面才刚完成… 对方是6个中科院的博士… 我…
这感觉大概就是兴致冲冲干自媒体, 然后视频发出来没人看时候的焦虑感了吧…
项目地址
不过不管如何, 项目本身的目的之一就是开发自己觉得好用的东西… 热度要是蹭不到… 那就罢了吧… 我的项目叫 ResearchGPT, Demo挂在了Huggingface上, 有兴趣可以试用哟~ 当然这个博文也做了Demo的嵌入就是了…