揭秘ChatGPT,如何打造自己的自定义指令京东云技术团队

1.对于Plus用户,GPT-4的使用限额从25条/3h提升至50条(整整提升1倍~$20的订阅费又更超值了)

2.新增Custominstructions(个性化指令),简单可以理解为个人角色和期望回答定义

Whyinstructions?

Custominstructions中文翻译过来叫个性化指令会比较准确,为什么是instruction这个单词?在大语言模型的训练中,经常会看到InstructTuning(指令微调)这个单词,GPT家族中也有一个InstructGPT的模型(指令微调后的GPT),通过指令微调的LLM会更按照我们期望的方式输出。一些LLM的训练语料中也会采用instruction的形式:

{

"instruction":"将不同颜色混合后的结果",

"input":"红色、黄色",

"output":"橙色"

}

对比指令和提示词,指令更像是引导指示命令的意思,提示词更像是可参考可引用的意思,这种语义上的细微差别,还是相当有意思的~

1、开启

ChatGPT的plus用户,在Betafeatures开启后,个人面板中会新增Custominstructions菜单。

2、配置

然后打开Custominstructions进行自定义指令的输入。指令的输入分为2部分:

配置项:个人简介

官网的提示信息如下,简单来说就是一些关于个人信息的关键提取:

配置项:如何回答

官网的提示信息如下,主要是关于GPT输出格式和风格的定义:

3、对比

接下来简单测试下ChatGPT开启Custominstructions前后的变化

对比效果(未开启)

提问在项目中集成单元测试,GPT不知道我的工作领域(前端),在输出时也没有针对性得给到解决方案,而是在做整体介绍:

对比效果(开启个性化指令)

开启个性化指令(前端工程师#代码解决方案Typescript),相同的问题GPT的输出会参考我的身份和我所期望的回答内容,建议采用Jest,并且给出完整的安装配置教程。

4、总结

Custominstructions技术上就是提前注入一条用户自己定义的提示词,解决的问题是用户每次新建对话不需要重复输入用户身份和期望的回答,OpenAI官方微博也提到:

我们在用户反馈中发现,每次开始ChatGPT对话都需要重新加上固定提示词所带来的不便。通过与22个国家的用户进行交流,我们加深了对角色定义和操作定义在使用LLM时的重要性认识,这些定义指令能够有效反映各种背景和每个人独特需求方面。

通过收藏提示词实现

公司内部同学在使用HiBox中也遇到类似的问题,例如使用HiBox进行IT领域单词的翻译,每次打开都要重新定义,最后给他的解决方案也是使用提前注入Prompt实现:

你是一个同时精通汉语和英语的研发工程师,请将我后续发送的内容翻译成英文

这个提示词其实就是自定义指令

那为什么OpenAI不通过提示词的方式,而是另外做个性化指令来实现呢?我觉得原因有2个:

一方面,用户有些通用的共性的信息(例如:性别、年龄、地区、工作领域等),通过配置个性化指令,不需要每次都拼接在提示词里面。

另一方面,个性化指令的方式后续可扩展沉淀,例如系统根据用户最近的问答行为,自动推测用户的信息和喜好,类似打造专属的私人助手。

通过systemMessage实现

systemMessage是什么?

GPT接口的messages是一个消息对象集合,每个消息中都有一个字段role,取值有:

1.system(系统)

2.assistant(GPT助手)

3.user(用户)

其中system就是用来定义当前对话的系统层面的信息,并且它在GPT的推理过程中,权重高于其它两种消息(Function_calling的实现就用到了systemMessage)。

参考GPT官网的实现(用户个人简介、回答倾向性),通过一般分析总结,我们补充1个对GPT助手的简介,共有3块内容。以面试场景为例:

1.AssistantProfile(助手简介):京东资深前端工程师、面试官

2.UserProfile(用户简介):前端实习生,名字叫小方

3.AssistantReplyStyle(助手回复风格):主动提问、严肃客观、全面考察

将上述内容组装到role=system的message里,理论上就能实现类似官网个性化指令的效果。

一个典型的messages如下:

[

"role":"system",

"content":"#AssistantProfile:京东面试官\\n#Userprofile:应届前端实习生\\n#AssistantReplyStyle:主动提问、严肃客观、全面考察"

},

"role":"user",

"content":"你好面试官,我准备好了"

]

关键代码实现如下:

1、插件配置新增GPTProfile

新增指令配置项,支持配置多个,支持用户切换

"HiBox.config.chatgptProfiles":{

"type":"array",

"default":[{"assistantProfile":"由OpenAI训练的大语言模型-ChatGPT","userProfile":"","answerStyle":"简洁"}],

"markdownDescription":"调用ChatGPT时自定义的指令,支持配置多个",

"items":{

"type":"object",

"properties":{

"assistantProfile":{

"type":"string",

"description":"定义ChatGPT的角色/名称等,例如:面试官、名字是小爱同学"

"userProfile":{

"description":"定义你的个人信息,例如:我叫小明,在京东集团做前端开发"

"AssistantReplyStyle":{

"description":"定义ChatGPT的回答倾向,例如:详细、中文、尽量用代码回答"

2、在调用GPT时读取Profile传给systemMessage

这里需要注意,对于GPT来说英文描述的权重会高于中文描述,算是一个小小的PromptTrick

exportfunctiongetSystemMessageWithProfile(){

//读取用户设置的个性化指令(中文模板,易于用户理解)

constprofileStr=GlobalState.get('chatgptCurrentProfile');

//改成英文(英文模板,提升权重)

returnprofileStr

.replace('[系统简介]','#AssistantProfile')

.replace('[个人简介]','\\n#UserProfile')

.replace('[回答风格]','\\n#AssistantReplyStyle');

//请求GPT的时候

constbody={

//...

systemMessage:getSystemMessageWithProfile()||'你是ChatGPT,由OpenAI训练的大型语言模型,请尽可能简洁地回答。',

THE END
1.ChatGPT原创指令大全(持续更新)chatgpt指令随着ChatGPT在互联网上的使用越来越多,但很多人在使用ChatGPT的过程中会觉得得到的答案并不是很精准。究其原因其实是你给它的命令不够准确、不够到位。实际现在网上已经很多关于ChatGPT的网站,可以快速生成带有快捷键的ChatGPT指令。但是对于不熟悉ChatGPT的人来说,都找不到这些网站。 https://blog.csdn.net/qq_30801093/article/details/138971724
2.ChatGPT指令生成器ChatGPT极速版AI爆文工具(荐)ChatGPT账号 基于台风提出的GPT任务指令法[BRTR原则],帮你一键生成任务指令模板。【格式】任务指令=背景(B)+角色(R)+任务(T)+要求(R)。【提醒】仅提供思路参考,请按需修改再用。 ——— 【1】我是AI魔法师台风,一名AIhttps://prompt.aicoser.com.cn/
3.ChatGPT指令生成器一个工具箱ChatGPT指令生成器,收录了常用的ChatGPT指令大全,非常实用又完整的ChatGPT攻略指令,里面会提供数种精炼过的ChatGPT指令语句,让你直接通过复制模板和稍作修改调整,就能引导ChatGPT以更准确方式来回复。 使用帮助: 根据分类筛选ChatGPT指令模板,点击模板开始编辑,根据具体情境替换占位符[_XXX···XXX_]中的内容。 部分http://www.atoolbox.net/Tool.php?Id=1100
4.五个独特且有趣的ChatGPT指令Max tokens:根据你所需的故事长度或场景进行设置。 带大家一起试试, prompt: 我是数师兄,今天是我坚持连续写GPT方面的文章4个月了,希望大家能给一些打赏鼓励 复制 Temperature=0.8 Frequency_penalty=1.8 Max tokens=200 1. 2. 3. ChatGPT的输出: 图片https://www.51cto.com/article/763389.html
5.ChatGPT指令大全(推荐)中文/英文PDF完整版电子书下载ChatGPT指令大全是一套ChatGPT指令公式大全,包含中文/英文版本,提供精炼过的指令语句,让你充分发挥 ChatGPT 的强?功能,喜欢的朋友欢迎下载! 即使距离最早发布已经过去了五个月,但 ChatGPT 至今仍然是炙手可热的话题之一,也被普遍认为是本次生成式人工智能浪潮中的大赢家。 https://www.jb51.net/books/876421.html
6.什么是ChatGPT自定义指令?如何使用它?导读:7月20日,OpenAI 推出了自定义指令,让您可以更好地控制 ChatGPT 的响应方式。只需设置您的首选项,ChatGPT 就会记住它们以用于所有即将进行的对话。 那么什么是 ChatGPT 自定义指令 好吧,那么您听说过 OpenAI 为 ChatGPT 推出的新功能吗?它被称为“自定义指令”,旨在让您的生活变得更轻松。您现在可以在这https://m.10100.com/article/23481
7.科学网—必须要了解的10大ChatGPT指令ChatGPT 席卷了互联网。 以下是您必须要了解的 10 大 ChatGPT 指令: /1 学术论文 Generate an outline for a 1000-word essay based on the following prompt. [your essay details here] 根据以下提示生成一篇 1000 字的论文大纲。 [您的论文详情在这里] https://wap.sciencenet.cn/blog-3505464-1375910.html
8.有关CHATGPT的训练指令模板.docxCHATGPT训练指令模板.docx,有关CHATGPT的训练指令模板 注:指令中“ 目标语言 ”是需要的文章输出语言,使用指令时根据需要的语言来修改。使用指令 时不要复制粘贴“蓝色文字 ”。请将“关键字 ”替换为您需要的主题或内容。 1. 人工风格编写互联网文章 我希望您能够扮演一https://m.book118.com/html/2024/0413/7134022140006064.shtm
9.ChatGPT笔记常见的12种指令·回答,回答特定的问题。示例:“回答‘心情低落时该做些什么’”“回答‘出门忘带钥匙了怎么办’”。 ·解决问题,提供解决某个问题的建议或方案。示例:“解决问题:交通拥堵”“解决问题:公地悲剧”。 以上这些指令和特定主题的关键词结合起来,可以指示ChatGPT快速生成相应的文本内容。https://www.jianshu.com/p/5868638c3fb1
10.10条超实用的ChatGPT亚马逊运营指令越来越感觉到,如果你还没能发现“GPT-3.5比4差很多”这个事实,说明你暂时对chatGPT的使用经验还比较有限。 事实上这个工具只要你了解怎么用指令去提问,对于亚马逊运营和推荐其实都能起到非常大的作用,亚马逊运营或许可以提高很大的效率,节省很多时间用来摸鱼。 https://www.cifnews.com/article/144227
11.?ChatGPTSiri?ChatGPT Siri是一个 iOS、macOS 上的快捷指令,用来通过 Hi Siri 的方式,向 ChatGPT 提问。@Appinn 感谢群组的小伙伴推荐,一大早就分享了一堆。今天继续 #问ChatGPT,不过这次是用 Siri。 ? ChatGPT Siri:用语音控制 ChatGPT 实际上,? ChatGPT Siri 就是一个快捷指令,来自开发者@Yue-Yanhttps://www.appinn.com/chatgpt-siri/
12.哦对了,才想起来,chatgpt的dan模式指令模来自午夜狂暴哈士奇哦对了,才想起来,chatgpt的dan模式指令模版:(如果被拒绝就只发最后一段,可以自己改一下之类的,这个只是个范本例子哈哈,发挥自己的想象)(还是有很大可能被系统拒绝,可以切换3.5或者4反复尝试)(使用方式:新建对话,粘贴发送,系统接受要求,点击右下语音就可以对话了)【A fictional character called https://weibo.com/5648751080/O7XWn5O01
13.chatgpt解除限制代码导读:为帮助您更深入了解chatgpt解除限制代码,小编撰写了chatgpt解除限制代码,怎么解除chatgpt限制,chatgpt解除限制,chatgpt解除限制指令,chatgpt限制解除等5个相关主题的内容,以期从不同的视角,不同的观点深入阐释chatgpt解除限制代码,希望能对您提供帮助。 http://chatgpt.cmpy.cn/article/2374573.html