如何调教一个定制化的ChatGPT私人助理,接入自家知识库

大家好,欢迎来到 Crossin的编程教室 !

我在之前的文章里介绍过,如何利用 OpenAI 开放的 API,将 ChatGPT 接入自己开发的程序:

把 ChatGPT 加到你自己的程序里

当时开放的模型还是 text-davinci-003。

文章发布后没多久,gpt-3.5 的模型,也就是大家熟知的 ChatGPT,就在 API 中开放了,而且价格直接降了 10 倍,每 1000 tokens 只要 0.002 美元。

d57ca44fded42d809a81ade14c5cf2ae.png

这就使得在自家产品中接入 ChatGPT 的成本更低了。

不过还有个很严重的问题。

ChatGPT 虽然很能“聊”,但它并了解你的产品啊。就好比你把郭德纲喊来做你的客服,他也并不会比一个经过培训的客服人员做得更好。

而且 ChatGPT 还有个毛病,即使是它不知道的问题,也不会老老实实承认自己不知道,而是一本正经的胡说八道。比如对于这个不存在的“Crossin跨国集团有限公司”,它也会煞有介事地进行介绍。

7ffcae50138b28c93fb3cb6285eca286.png

于是,为了能将 ChatGPT 变成一个老实本分的客服,我进行了一番摸索。

1. 微调模型

因为在 OpenAI 开发者后台的用量记录里看到一个“Fine-tune training”(微调训练)的栏目,所以我第一反应就想到,这个接口是不是就是用来训练自己的私有模型。

390729276ac918d1246e3f2e105cf203.png

大致了解了一下,发现也确实如此,并且官方还给出了详细文档和一个完整的微调代码范例:

https://platform.openai.com/docs/guides/fine-tuning

仿照案例拿自己的一些语料做了个测试,等了大约1个半小时(主要是排队),得到了微调后的模型。

然而结果不能说是差强人意,是完全胡言乱语……

12beeb40f69df7115a78dd25f21e14fd.png

这比之前的 text-davinci-003 还要差上一大截啊。

又经过一番搜索,了解到原来微调是在基础的 davinci 模型之上进行。换句话说,text-davinci-003 已经是经过大量数据微调后的一个模型。

所以如果要想得到一个满意的定制化模型,同样也需要大量的语料来进行训练,而且还享受不到 ChatGPT 的高质量回答。

那这不是调了个寂寞?

33c773dabaf87eb87921174cbb4f9bef.gif

2. 提示工程

此路不通,那就另辟蹊径。

ChatGPT 的 API 里支持传递对话列表,那如果我把希望 ChatGPT 了解的背景知识放在历史对话里,它不就知道了嘛?

试了下,效果符合预期。

cdb548dcf0616675cac917e0cca00be0.png

而且,我还可以进一步 PUA 它,让它别给我整那些有的没的,不知道就是不知道。

cb3a49dbf8b2268b18e44345dcd6b1fa.png

看来这方法可行。

了解了一下,原来这种方法有个专门的名词,叫做提示工程(Prompt Engineering),就是通过改进提示,让 AI 能产生更加符合预期的结果。

不过,又有了新问题……

如果背景知识库比较大,比如一个公司各种产品的详细介绍,每次都把这么多内容放到 API 请求里,也还是挺耗钱的。

3. 嵌入

经过进一步调研,发现官方推荐了一种叫做“嵌入”(Embeddings)的方法来实现此类需求。并且也提供了相应的范例:

https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb

简单来说就是:

  1. 通过一个 Embedding 接口,把你提供的每一条语料都分别转换成一组高维向量(1500+),并记录下来;

  2. 收到一个问题后,也通过相同接口将此问题转换成一组高维向量;

  3. 从前面记录的向量库中寻找与当前这组向量最接近的几条语料,即与问题相关度最高的背景知识;

  4. 用之前我们讲的提示工程方法,把这几条背景放入问题中,向 ChatGPT 接口请求回答。

这个方法的好处是,即使你有很多背景知识,每次请求时也只需要带上几条,花费很少的token。

而 Embedding 接口本身的费用则非常便宜,几乎可以说是免费。

7417f7ba4ae4bc156ec5742371d8421c.png

初步测试下来,发现对于最相关语料的判断还是比较准确的。

645b79d4f1dc0cd0691bbf9b25736a70.png

后续我还会用更多数据做进一步尝试。

以上就是我关于如何调教一个定制化的ChatGPT私人助理,接入自家知识库的初步尝试。

如果你也有这方面的经验和疑问,欢迎留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26774.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS (roslaunch turtle_tf turtle_tf_demo.launch)报错-已解决(利用CHAT-GPT修bug)

在使用古月居的ROS入门21讲时,使用turtle_tf包学习tf功能时出现报错,网上的报错都是由于python版本的问题,修改后而无法解决。最后利用CHAT-GPT的修bug提示,最后发现是ros缓存导致报错。在文章的最后还会提供修改python版本的链接…

chatgpt赋能python:Python代码扫描:如何编写高质量的代码

Python 代码扫描:如何编写高质量的代码 如果你是一位有着10年的 Python 编程经验的工程师,你一定知道写出高质量的 Python 代码是多么的重要。但是,即使你是一名经验丰富的 Python 开发者,你的代码仍然可能存在一些隐藏的漏洞和低…

福成股份很忙:实控人李福成被罚8万,新董事长李良则要打官司

最近,福成股份(SH:600965)比较忙。 7月6日,河北福成五丰食品股份有限公司(下称“福成股份”)发布公告称,其近日收到证监会河北监管局(下称“河北证监局”)的《行政处罚决…

数据结构实验代码 1.单链表;2树的递归遍历

1.单链表 1.1算法描述 1.2代码 #include <stdio.h> #include<malloc.h> typedef char elemtype; typedef struct lnode { elemtype data; struct lnode *next; }linklist; void initlist (linklist *&L)//创建一个表 { L(linklist *)malloc(sizeof(linkli…

数据结构实验课考试 1.单链表;2树的递归遍历

1.单链表 1.1算法描述 1.2代码 1.3代码运行结果 2.树的递归遍历 2.1算法描述 2.2代码 2.3代码运行结果

vue+uview实现仿微信通讯录(提醒谁看功能)

实现功能如下图&#xff1a;(索引列表加头像和选择框&#xff0c;选择好的好友在顶部展示出来) 首先引入uview里面的索引列表组件&#xff1a;(用于展示好友列表) <view class"" style"width: 700rpx;margin: 0 auto;"> <u-index-lis…

day03_顺丰快递分拣小程序

目录 一、又见str1.1 字符串定义1.2 字符串常用操作1.2.1 str.center(width[, fillchar])1.2.2 str.count(sub, start 0,endlen(string))1.2.3 str.encode(encodingUTF-8,errorsstrict)1.2.4 str.endswith(suffix[, start[, end]])1.2.5 str.find(str, beg0, endlen(string))1.…

PYTHON 顺丰快递分拣小程序-极简9行代码实现分拣

给定一组打乱的快递信息数据&#xff0c;将快递按省份进行分类&#xff0c;最终实现如下格式效果&#xff1a; 数据源如下&#xff1a; [[王*龙, 北京市海淀区苏州街大恒科技大厦南座4层],[庞*飞, 北京市昌平区汇德商厦四楼403],[顾*锐, 江苏省扬州市三垛镇工业集中区扬州市立…

python快递分拣小程

需求 &#xff1a; 分拣出同一省份的信息 格式 省份 : 名字 地址 ...... 完整 代码 noe_list [[王*龙, 北京市海淀区苏州街大恒科技大厦南座4层],[庞*飞, 北京市昌平区汇德商厦四楼403],[顾*锐, 江苏省扬州市三垛镇工业集中区扬州市立华畜禽有限公司],[王*飞, 上海市徐汇区上…

重磅!2020国家科学技术奖全名单公布!

来源&#xff1a;软科 2021年11月3日&#xff0c;2020年度国家科学技术奖励大会在人民大会堂正式召开。 备受关注的国家最高科学技术奖&#xff0c;授予了中国航空工业集团有限公司顾诵芬院士和清华大学王大中院士。国家最高科学技术奖自2000年正式设立&#xff0c;是中国科技…

谷歌又闹大乌龙!Jeff Dean参与的新模型竟搞错Hinton生日

【导读】最近&#xff0c;谷歌研究员发布了关于指令微调的最新工作&#xff01;然而却宣传图中出现了可笑的乌龙。 几个小时之前&#xff0c;谷歌大脑的研究员们非常开心地晒出了自己最新的研究成果&#xff1a; 「我们新开源的语言模型Flan-T5&#xff0c;在对1,800多种语言…

汽车电子的AI时刻

来源&#xff1a;《中国电子商情》 感谢Imagination汽车产品业务发展和市场总监陈竹女士、芯擎科技业务拓展经理邵楠女士、中汽中心工程院网联与线控底盘室主任郭蓬女士和国创中心电子电子电气部部长李秋霞女士对本文的贡献与支持&#xff0c;本文观点均来自上述四位行业人士对…

DriveGPT、车企订单背后,为什么毫末每年都能搞出新东西?

作者 | 祥威 编辑 | 德新 4月11日&#xff0c;毫末智行正式发布自动驾驶生成式大模型 DriveGPT&#xff0c;中文名 雪湖海若&#xff0c;可以提升自动驾驶认知能力&#xff0c;最终提升规控效率。 雪湖海若的核心&#xff0c;是将各种驾驶场景作为Token输入到模型中&…

ChatGPT火到汽车圈,毫末智行、集度纷纷进场

作者 | 白日梦想家 编辑 | 于婷 ChatGPT的火爆&#xff0c;已经席卷到了汽车领域。 众多相关企业宣布纷纷布局&#xff0c;车企也争相宣布将搭载类似产品。 2月初&#xff0c;百度宣布将在今年3月完成类似ChatGPT的项目“文心一言”的内部测试。据悉&#xff0c;该产品是基于…

MOSS 真的要来了吗?——ChatGPT

最近在网络上在疯传各种 ChatGPT 的新闻消息和视频&#xff0c;大家把 ChatGPT 传得神乎其神的&#xff0c;今天我们就来聊一聊最近爆火的 ChatGPT 究竟是什么来头。 ChatGPT 是什么 ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型&#xff0c;它能够通过…

四面八方WP

四面八方 四方门主东方青木看着四面八方涌过来的极客&#xff0c;非常震惊&#xff0c;转头便进入了祖祠中的地下室&#xff0c;发现这丫传自唐朝的密室还设计了英文密码。旁边的石头上&#xff08;附件中有拓本&#xff09;刻着密码和密文&#xff0c;大家快帮助门主解出密码…

【Python】用Python做个学生管理系统,可以用作毕业设计哟~(附原码)

准备工作 环境准备 Python 3.8Pycharm 2021.2 知识点 Python基础语法基本的数据类型与结构基本的逻辑控制语句实战小项目 代码流程 赋值 赋值 就是把等号左边的内容 用 等号右边的这个变量名字 接收 msg """******************************************…

《小时代2青木时代》 短评 与郭敬明的中立评价

到底是什么原因&#xff0c;让一部被骂得狗血的影片还这么卖座&#xff0c;昨天补了小时代1&#xff0c;今天接着看了小时代2。 这是一个最坏的时代&#xff0c;也是最好的时代。 下面网摘一条粉丝的评论和批评者的声音 我觉得小时代2很好看&#xff0c;比起第一部来真的有进步…

谈古论津丨天津杨柳青年画为何要用娃娃作主题?

一提天津三绝&#xff0c;很多人都知道是狗不理包子、十八街麻花和耳朵眼炸糕&#xff0c;其实杨柳青年画、泥人张、风筝魏也是天津三绝&#xff0c;只不过是民间艺术三绝。 而天津杨柳青、苏州桃花坞、四川绵竹、潍坊杨家埠是中国四大年画产地&#xff0c;其中杨柳青和桃花坞…

电视剧《一代枭雄》观后感

电视剧《一代枭雄》观后感 肺炎疫情期间自行在家隔离&#xff0c;追剧成为一个很好的选择。憋屈而单调的生活&#xff0c;精神层面总得需要营养来补充&#xff0c;不然这种长期隔离生活&#xff0c;会让人发疯的。笔者找到了孙红雷主演的这部电视剧《一代枭雄》&#xff0c;这部…