「AIGC」- ChatGPT可以怎么玩?

chatGPT这么火,这几天一番体验之后,除了惊叹,同时也引发了作为程序员的担忧:我的工作是否会被AI取代?

这个问题很难不引起焦虑,但是我们可以换一个角度,可以用这些生成类的工作,做些什么提高我们的工(zao)作(dian)效(xia)率(ban)?就像我们当初使用搜索引擎一样。

什么是AIGC?

AIGC全称为AI-Generated Content,指基于生成对抗网络GAN、大型预训练模型等人工智能技术,通过已有数 据寻找规律,并通过适当的泛化能力生成相关内容的技术。与之相类似的概念还包括Synthetic media,合成式媒 体,主要指基于AI生成的文字、图像、音频等。来源:AIGC万字百科全书:底层原理、应用场景、工具示例、行业现状、发展趋势

ChatGPT可以做什么

ChatGPT到底是取代程序员,还是提升程序员效率的工具?这里以chatGPT为例,提供一些提(tou)高(lan)办公效率的案例(以ChatGPT为例):

做PPT

这个需要结合外部网站,例如https://mindshow.fun/、闪击PPT - 高效内容演示等,这里以支持markdown的minshow为例:

  1. 首先让chatGPT写出内容

2. 将markdown代码复制到mindshow中。

​3. 选择一个模版:

​大功告成。

信息汇总

例如文档的总结、新闻总结:爬虫爬取一些相关新闻,然后输入chatgpt,让他汇总生成摘要。例如:

代码

代码解释

当你加了一天班,脑袋宕机后,可以让他帮你读代码

写代码

如果脑袋宕机更严重一点,可以让他你写代码。目前体验下来很多语言都支持,连sql都写的还不错。

以后面试是不是直接可以使用chatGPT作为面试题外援了。。。

帮你修bug

代码翻译

代码提示

GitHub Copilot, 自动补全代码,vs code也有插件,基于OpenAI Codex 模型,比如你只需要给函数命名,加一点注释,他就能够补全实现代码:

详细使用见:https://docs.github.com/zh/copilot/getting-started-with-github-copilot

特定机器学习NLP任务

对于nlp任务,涉及好的prompt至关重要,这里也就只有多试试,实验获得较优的prompt。(好家伙,从炼丹变成了prompt调优)

  1. 使用chatGPT测试情感分类的例子

  1. 观点总结的例子

3. 主题分类的例子

写文章

包括博客论文之类的,哈哈,毕业论文神器,怪不得高校都禁止。这里放一个写博客的例子

写完大纲不行,能不能直接写个博客:

问答产品

一些简单的问题,不需要知识库的,可以直接提问:

但是对于有更新知识,或者特定工具的文档,就不太行了,因为chatgpt的语料是固定的,为了能将知识加入,不可能每次都讲所有知识作为prompt输入,有没有一个解决方式能缩小问题的范围,将相关资料汇总、裁剪后作为gpt的prompt输入。

解决问题:如何利用知识库,集合GPT能力进行回答。

方案:利用检索缩小问题的范围,将相关资料汇总、裁剪后,然后作为gpt的prompt输入。

  1. 利用openAI Embedding将知识库的文档向量化,
  2. 输入用户问题向量召回topk相关段落,或者答案片段。
  3. 让 chatGPT 总结,作为问题的prompt。(其实就是利用gpt总结topk答案成流畅的回答)

参考代码库:https://github.com/GanymedeNil/document.ai

也有一些其他开箱即用的,例如Chat2Doc、ChatPDF

例如我使用Chat2Doc,上传了一篇论文:Towards Boosting the Open-Domain Chatbot with Human ...,下面是它的回答:

广告创意、广告文案的生产

加上前面ppt网站的模板,直接就是文案图片了。

办公

做ppt前面讲过,那么excel和doc呢?

ChatExcel,仅仅通过命令就可以修改excel(老罗类目)。

ChatDOC,和上面介绍的类似,上传你的文档,就可以直接提问了。类似前面提到的Chat2Doc、ChatPDF

prompt

prompt很重要,想要获得好的效果,还需要很好地设计prompt,而且要多试试不同的prompt效果,实验出来。

对于问答,提问最好清晰具体,内容要解释清楚,另外可以指定让他担任的角色,以及结果形式,也可以加入一些限制,详细可以参考这篇博客。

  • 提问的例子:

另一种是针对某些特定的任务,比如分类任务,可以设置一些提示语、类别标签、类别标签的解释加入到prompt中,会让他更好的。例如下面的一些例子:

场景

Prompt

提问场景

prompt描述问题清晰具体即可,另外可以指定让他担任的角色,以及结果形式,如:以一个骑行者视角用流畅的中文说说,四川有哪些有名的景点?

观点生成

请用流畅的中文根据下面用户评论,总结用户对{game_name}关于 {topic1} 话题的观点:

话题标签

您现在正在执行一个主题分类任务。对于提供的句子,您需要确定该句子是否关于<topic_name>这里有一些规则:{规则和例子}

总结

请用中文简单总结下以下内容{}

情感分类

你正在进行情感分类的任务,请判断{内容}属于正面、中性还是负面,为它打上标签。{情感定义}

怎么体验到AIGC

ChatGPT

chatGPT&GPT4官网:https://chat.openai.com/auth/login?next=/chat,chatGPT是免费的(需要一个国外手机号注册就行,可以TB买),ChatGPT Plus订阅收费制,每月20刀,据说也有gpt4访问权限。GPT4支持图文的多模态输入,

48 个基本能力:https://platform.openai.com/examples

官方技术报告地址:https://cdn.openai.com/papers/gpt-4.pdf

官方视频案例地址:https://www.youtube.com/live/outcGtbnMuQ?feature=share

ChatGLM-6B

chatGLM是清华开源的中英对话语言模型,开源了60亿参数的模型👍🏻:ChatGLM-6B,更多介绍见博客:https://chatglm.cn/blog

功能包含:自我认知,提纲写作,文案写作,邮件写作助手,信息抽取,角色扮演,评论比较,旅游向导。这里是一些例子,ChatGLM-6B 示例

文心一言

文心一言是百度知识增强大语言模型,功能包括:与人对话互动,回答问题,协助创作。在官网申请加入体验即可,据说支持多模态生成,目前还没体验过,不予置评。不过最近百度比较经典的 驴肉火烧、老婆饼有老婆之类的大家应该听过[doge]。。。

yuanyu

ChatYuan-large-v2是一个支持中英双语的功能型对话语言大模型。

git: https://github.com/clue-ai/ChatYuan

介绍博客:ChatGPT国产化:ChatYuan元语对话大模型升级

Luotuo: Chinese-alpaca-lora

中文的模型,在 Meta 开源的 LLaMA 基础上,参考 Alpaca 和 Alpaca-LoRA 两个项目,对中文进行了训练,70亿参数,git: https://github.com/LC1332/Chinese-alpaca-lora

问答产品

解决问题:如何利用知识库,集合GPT能力进行回答。

方案:

  1. 利用openAI Embedding将知识库的文档向量化,
  2. 输入用户问题向量召回topk相关段落,或者答案片段。
  3. 让 chatGPT 总结,作为问题的prompt。(其实就是利用gpt总结topk答案成流畅的回答)

代码库:https://github.com/GanymedeNil/document.ai

类似的开箱即用的还有:

  • https://chatdoc.com/「Chat with documents. Get instant answers with cited sources.」
  • Chat2Doc
  • ChatPDF

参考资料

  • AIGC万字百科全书:底层原理、应用场景、工具示例、行业现状、发展趋势
  • 大模型落地应用指北——大模型能吃吗? - 知乎
  • 总结当下可用的大模型LLMs - 知乎
  • https://arxiv.org/pdf/2211.09110.pdf
  • https://www.youtube.com/watch?v=F58vJcGgjt0
  • ChatGPT 的基本功:13 种Prompt 用法- 少数派