文字扩展是将较短的文本片段,例如一组指令或主题列表,交给大型语言模型生成更长的文本,例如基于已有的内容生成一封电子邮件或一篇关于某个主题的文章的任务。又或者你列出大纲,标题,让大模型填充对应的内容。
另外,还有一些很好的用途,例如将大型语言模型用作头脑风暴的伙伴。
但这里必须要提醒的是,ChatGPT生成的内容不一定准确,所以使用的时候要认真甄别。比如著名的stack overflow网站就曾被chatgpt的回答霸占,导致网站上充斥着不准确的回答。官方随即封禁了ChatGPT。
文字扩展是将较短的文本片段,例如一组指令或主题列表,交给大型语言模型生成更长的文本,例如基于已有的内容生成一封电子邮件或一篇关于某个主题的文章的任务。又或者你列出大纲,标题,让大模型填充对应的内容。
另外,还有一些很好的用途,例如将大型语言模型用作头脑风暴的伙伴。
但这里必须要提醒的是,ChatGPT生成的内容不一定准确,所以使用的时候要认真甄别。比如著名的stack overflow网站就曾被chatgpt的回答霸占,导致网站上充斥着不准确的回答。官方随即封禁了ChatGPT。
下面是调用openai的completion接口的函数。但在本文中并不是重点。了解一下就好。
1 | import openai |
下面我们来说说,书写提示词的基本原则。
当我们在调试程序时,通常很难一次就把程序正常跑起来。这是普遍现象。但我们会借助一些工具和手段,有步骤有流程地去调整程序,最终让程序按照我们想要的样子正常执行。
对于提示词来说也是一样的。当我们向ChatGPT提问时,一开始它给我们的答案可能并不理想。但是当我们逐步去调整提示词,慢慢地,它的回答就会接近我们想要的答案。
所以这里最重要的是我们如何去迭代提示词?
这里使用C++语言来作为示例,但对其他语言的函数书写也有借鉴意义。
写函数的第一规则是要短小。第二条规则是还要更短小。
下面是两段功能一致的代码,分别展示了不同的实现方式:
第一段代码将所有的实现都写在了一个函数里,实现了一个简单的计算平均值的功能:
1 | include <iostream> |
第二段代码对第一段代码进行了抽象,将复用的代码抽取成了一个共用的函数sum,然后在average函数中调用sum函数,实现了相同的功能。这样做的好处是可以减少代码量,提高代码的可读性和可维护性。
desmos是一个网页工具。通过它,我们可以方便地查看复杂函数的图形,绘制数据表,解方程和进行函数动态分析等等。
工具网址:
机器人软件系统中使用的通讯框架多种多样。比如,百度Apollo使用的Cyber RT,ROS1中的TCPROS/UDPROS通信机制,ROS2中使用的DDS等等。
下面介绍一种轻量,易用的通讯框架LCM(Lightweight Communications and Marshalling)。
LCM是一套用于消息传递和数据编码的库和工具,目标是构建高带宽和低延的实时通讯系统。它提供了一个发布/订阅消息传递模型和自动编码/解码代码的生成器。
LCM为多种编程语言(C/C++,C#,Java,Lua,MATLAB,Python)的应用提供接口。
LCM具有如下特性:
下面的安装过程是在ubuntu20.04上进行的。
安装gnuplot需要依赖lua5.2。所以先安装lua5.2。
安装lua5.2
下载安装包
1 | wget http://www.tecgraf.puc-rio.br/lua/ftp/lua-5.2.0.tar.gz |
编译安装lua5.2
解压后进入源码目录
1 | make linux |