现在是信息爆炸时代,打开手机,各种文章扑面而来。我们的精力是有限的。如果有人帮忙把文章总结好给我们,这不就节省了很多时间嘛!我们也就可以阅读更多的文章了。
恰好大语言模型在总结文章方面非常有天赋。
现在是信息爆炸时代,打开手机,各种文章扑面而来。我们的精力是有限的。如果有人帮忙把文章总结好给我们,这不就节省了很多时间嘛!我们也就可以阅读更多的文章了。
恰好大语言模型在总结文章方面非常有天赋。
这节介绍大模型判断文字的语义,或者说对内容进行情感分析的能力。同时也演示了大模型如何提取出文字中的关键信息。
在传统的机器学习方案中,要做到对文字内容的情感分析,需要先对一系列的文字内容(如评论)进行人工标注。把这些文字内容人工分类成“正向”和负向“,然后再喂给一个机器学习模型去训练,得到一组参数。模型训练好后再部署好,把需要判断的未标注文字内容给到训练好的模型,让它判断一下文字内容的情感倾向。
可以看到,对于传统的机器学习方案,有很多工作需要做。而且这个训练出来的模型也只能干这一件事情。如果我们想要提取文字内容中的关键信息又得重新训练另外一个单独的模型。
文字扩展是将较短的文本片段,例如一组指令或主题列表,交给大型语言模型生成更长的文本,例如基于已有的内容生成一封电子邮件或一篇关于某个主题的文章的任务。又或者你列出大纲,标题,让大模型填充对应的内容。
另外,还有一些很好的用途,例如将大型语言模型用作头脑风暴的伙伴。
但这里必须要提醒的是,ChatGPT生成的内容不一定准确,所以使用的时候要认真甄别。比如著名的stack overflow网站就曾被chatgpt的回答霸占,导致网站上充斥着不准确的回答。官方随即封禁了ChatGPT。
下面是调用openai的completion接口的函数。但在本文中并不是重点。了解一下就好。
1 | import openai |
下面我们来说说,书写提示词的基本原则。
当我们在调试程序时,通常很难一次就把程序正常跑起来。这是普遍现象。但我们会借助一些工具和手段,有步骤有流程地去调整程序,最终让程序按照我们想要的样子正常执行。
对于提示词来说也是一样的。当我们向ChatGPT提问时,一开始它给我们的答案可能并不理想。但是当我们逐步去调整提示词,慢慢地,它的回答就会接近我们想要的答案。
所以这里最重要的是我们如何去迭代提示词?
这里使用C++语言来作为示例,但对其他语言的函数书写也有借鉴意义。
写函数的第一规则是要短小。第二条规则是还要更短小。
下面是两段功能一致的代码,分别展示了不同的实现方式:
第一段代码将所有的实现都写在了一个函数里,实现了一个简单的计算平均值的功能:
1 | include <iostream> |
第二段代码对第一段代码进行了抽象,将复用的代码抽取成了一个共用的函数sum,然后在average函数中调用sum函数,实现了相同的功能。这样做的好处是可以减少代码量,提高代码的可读性和可维护性。
desmos是一个网页工具。通过它,我们可以方便地查看复杂函数的图形,绘制数据表,解方程和进行函数动态分析等等。
工具网址: