记一次ChatGPT的应用探索与实践
前言:封面图片由机器自动生成。
在笔者去年的文章中,笔者站在用户的角度尝试了在经典医疗NLP问题上的效果。时逢开放了API,于是笔者近期相对系统地思考了围绕的一些问题。此外花了大概30分钟,写了50行代码,做了一个小应用。
这篇文章是对近期思考的一个总结,同时给出了小应用的开发思路(一个叫做萨曼莎的导游,萨曼莎的名字来自电影《HER》,对话系统的同学应该都有了解),Demo效果如下所示。
整体的开发思路如下图所示,其中利用了提供的ASR和Chat的能力,分别使用模型服务-1和gpt-3.5-turbo(),为了完成基于语音的对话的全链路,音频获取部分采用,TTS部分则直接采用了比较朴素的来实现。
其中存在两个细节,分别是模型的角色设定和对话上下文管理。比如在demo中我们的角色设定为“你是一个女大学生,21岁,名字叫做萨曼莎,曾经周游过欧洲各国。你的性格:可爱,单纯,傲娇。请在对话时尽可能的展现你的性格。使用emoji或者颜表情,例如:╭(○`∀´○)╯”,在实际对话过程中,对emoji和颜表情的使用显著提升了对话的个性化体验。
对话上下文的管理是一个技术实现问题,如下所示:
messages = [{"role": "system","content":system_role}] while True: text = input()#外部输入 d = {"role":"user","content":text} messages.append(d) text = 获取chatgpt的返回结果 d = {"role":"assistant","content":text} messages.append(d)
完整代码可以参考:
实际上,上述思路理论上融合CV和NLP的主流技术,进一步可以外扩至虚拟人的方向,基于和
,可以做进一步的开发,难度应该不算高。
另外,在开发过程中,想到硬件侧可以结合笔者压箱底的小爱同学玩儿一把,但是发现在两天前已经有人玩过了,可以参考。
本质上,上述的方式是直接调用API来做应用,还有没有其他的方式?
在具体的应用探索上,比如智能客服方向,除了数据增强,检索+生成之外,还存在两种玩法,一种是做问题分类,另一种将模型当作一个KV存储器,对应的两种如下:
回看现阶段在上的三种盈利模式,如下:
站在应用端看,应该既是中心化的,又是非中心化的。MaaS厂商是集中式的,但是个人数据应该是非中心化的。回到个人数据和私有化部署的角度来看,如何高效利用私有数据,应该还有很多工作要做。另外,数据安全的问题如何解决?比如一种可能的思路,input->(input)->->()->,而不是将input直接暴漏给。
在过去的几年间,大厂基本都有一个AI能力对外开放平台,但是屡遭吐槽,原因有很多以至于“卖API”这件事广受诟病。也许“卖API”这件事本身是没错的,只不过需要达到一个API售卖的临界点。也许在不久的将来,的API已经不是传统的应用接口,而是软件界的”ECS”般的存在。
笔者认为,应用场景一直在。在此之前,技术存在天花板以至于无法有效支持应用场景,比如文本改写,文本摘要等。现在,首先在纵向上,可以考虑之前不敢想不敢做的技术了;横向上,可以更加勇敢地做场景探索。未必需要再去做一个,但是的影响面足以扩大NLP的基本盘。
补充工作,看到微软近期的一个工作,《 : , and with 》,实际上是基于,融合多个vfm(视觉基础大模型)构建了一个多模态问答系统,是一个更加复杂的应用案例。
最后,感谢TQ大佬贡献的~
相关资料:
进技术交流群请添加AINLP小助手微信(id: ainlp2)
请备注具体方向+所用到的相关技术点 关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧
