查看原文
其他

记一次ChatGPT的应用探索与实践

zhpmatrix KBQA沉思录 2024-04-15

       前言:封面图片由机器自动生成。

        在笔者去年的文章ChatGPT在医疗NLP场景的应用中,笔者站在用户的角度尝试了ChatGPT在经典医疗NLP问题上的效果。时逢OpenAI开放了API,于是笔者近期相对系统地思考了围绕ChatGPT的一些问题。此外花了大概30分钟,写了50行代码,做了一个小应用。

        这篇文章是对近期思考的一个总结,同时给出了小应用的开发思路(一个叫做萨曼莎的导游,萨曼莎的名字来自电影《HER》,对话系统的同学应该都有了解),Demo效果如下所示。

        整体的开发思路如下图所示,其中利用了OpenAI提供的ASR和Chat的能力,分别使用模型服务whisper-1和gpt-3.5-turbo(https://platform.openai.com/docs/guides/speech-to-text),为了完成基于语音的对话的全链路,音频获取部分采用PyAudio,TTS部分则直接采用了比较朴素的PyTTSX3来实现。

        其中存在两个细节,分别是模型的system角色设定和对话上下文管理。比如在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)

        完整代码可以参考:

https://gist.github.com/zhpmatrix/cb6315cfca00540972fe790faacb2c7c

https://gist.github.com/zhpmatrix/b76ee9bc1f7e299a9d561d1f69986ce2

        实际上,上述思路理论上融合CV和NLP的主流技术,进一步可以外扩至虚拟人的方向,基于https://github.com/JiehangXie/PaddleBoBo
https://aistudio.baidu.com/aistudio/projectdetail/3743038,可以做进一步的开发,难度应该不算高。

        另外,在开发过程中,想到硬件侧可以结合笔者压箱底的小爱同学玩儿一把,但是发现两天前已有人玩过了可以参考https://github.com/yihong0618/xiaogpt。

        本质上,上述的方式是直接调用API来做应用,还有没有其他的方式?

  • 用API生成训练数据做蒸馏。同样是一种非常朴素的应用方式。
  • 基于API结果+面向业务的后处理。是现在应用的主流思路,检索+生成,比如New Bing和ChatPDF两个应用。
  • 数据增强。通过文本改写的方式实现数据的扩充。
        在具体的应用探索上,比如智能客服方向,除了数据增强,检索+生成之外,还存在两种玩法,一种是做问题分类,另一种将模型当作一个KV存储器,对应的两种Prompt如下:



        回看现阶段OpenAI在ChatGPT上的三种盈利模式,如下:

  • 2C,高级会员服务

  • 2smallB,API

  • 2bigB,model instance


        站在应用端看,应该既是中心化的,又是非中心化的。MaaS厂商是集中式的,但是个人数据应该是非中心化的。回到个人数据和私有化部署的角度来看,ChatGPT如何高效利用私有数据,应该还有很多工作要做。另外,数据安全的问题如何解决?比如一种可能的思路,input->encode(input)->chatgpt->decode(output)->output,而不是将input直接暴漏给chatgpt。

        在过去的几年间,大厂基本都有一个AI能力对外开放平台,但是屡遭吐槽,原因有很多以至于“卖API”这件事广受诟病。也许“卖API”这件事本身是没错的,只不过需要达到一个API售卖的临界点。也许在不久的将来,OpenAI的API已经不是传统的应用接口,而是软件界的"ECS"般的存在。

        笔者认为,应用场景一直在。在此之前,技术存在天花板以至于无法有效支持应用场景,比如文本改写,文本摘要等。现在,首先在纵向上,可以考虑之前不敢想不敢做的技术了;横向上,可以更加勇敢地做场景探索。未必需要再去做一个ChatGPT,但是ChatGPT的影响面足以扩大NLP的基本盘。

        补充工作,看到微软近期的一个工作,《Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models》,实际上是基于langchain,融合多个vfm(视觉基础大模型)构建了一个多模态问答系统,是一个更加复杂的应用案例。

        最后,感谢TQ大佬贡献的API_KEY~

 

相关资料:


  • 《迈向ChatGPT时代-生产力篇》:https://zhuanlan.zhihu.com/p/609133947

  • 《迈向ChatGPT时代-技术篇》:https://zhuanlan.zhihu.com/p/608075096

  • 《迈向ChatGPT时代-商业篇》:https://zhuanlan.zhihu.com/p/607127757

  • 《从ChatGPT看未来的7种场景》,侧重于产品思考

  • 《ChatGPT科普和应用初探》:https://redian.news/wxnews/289575,58AILab在一些具体的业务上的量化评测

  • 《ChatGPT背后的经济账》:https://baijiahao.baidu.com/s?id=1757151432561073976&wfr=spider&for=p

  • 《对50万美金GPT-3 Quality Model训练成本的解读》:https://zhuanlan.zhihu.com/p/611366774

  • 《聊聊对大模型的一些看法》:https://zhuanlan.zhihu.com/p/607680446

  • 《大模型LLMs算法和计算系统重点论文》:

    https://zhuanlan.zhihu.com/p/616200081


扫码加笔者好友,茶已备好,等你来聊,

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存