如何调教一个定制化的ChatGPT私人助理,接入自家知识库
入门教程、案例源码、学习资料、读者群
请访问: python666.cn
大家好,欢迎来到 Crossin的编程教室 !
我在之前的文章里介绍过,如何利用 OpenAI 开放的 API,将 ChatGPT 接入自己开发的程序:
当时开放的模型还是 text-davinci-003。
文章发布后没多久,gpt-3.5 的模型,也就是大家熟知的 ChatGPT,就在 API 中开放了,而且价格直接降了 10 倍,每 1000 tokens 只要 0.002 美元。
这就使得在自家产品中接入 ChatGPT 的成本更低了。
不过还有个很严重的问题。
ChatGPT 虽然很能“聊”,但它并了解你的产品啊。就好比你把郭德纲喊来做你的客服,他也并不会比一个经过培训的客服人员做得更好。
而且 ChatGPT 还有个毛病,即使是它不知道的问题,也不会老老实实承认自己不知道,而是一本正经的胡说八道。比如对于这个不存在的“Crossin跨国集团有限公司”,它也会煞有介事地进行介绍。
于是,为了能将 ChatGPT 变成一个老实本分的客服,我进行了一番摸索。
1. 微调模型
因为在 OpenAI 开发者后台的用量记录里看到一个“Fine-tune training”(微调训练)的栏目,所以我第一反应就想到,这个接口是不是就是用来训练自己的私有模型。
大致了解了一下,发现也确实如此,并且官方还给出了详细文档和一个完整的微调代码范例:
https://platform.openai.com/docs/guides/fine-tuning
仿照案例拿自己的一些语料做了个测试,等了大约1个半小时(主要是排队),得到了微调后的模型。
然而结果不能说是差强人意,是完全胡言乱语……
这比之前的 text-davinci-003 还要差上一大截啊。
又经过一番搜索,了解到原来微调是在基础的 davinci 模型之上进行。换句话说,text-davinci-003 已经是经过大量数据微调后的一个模型。
所以如果要想得到一个满意的定制化模型,同样也需要大量的语料来进行训练,而且还享受不到 ChatGPT 的高质量回答。
那这不是调了个寂寞?
2. 提示工程
此路不通,那就另辟蹊径。
ChatGPT 的 API 里支持传递对话列表,那如果我把希望 ChatGPT 了解的背景知识放在历史对话里,它不就知道了嘛?
试了下,效果符合预期。
而且,我还可以进一步 PUA 它,让它别给我整那些有的没的,不知道就是不知道。
看来这方法可行。
了解了一下,原来这种方法有个专门的名词,叫做提示工程(Prompt Engineering),就是通过改进提示,让 AI 能产生更加符合预期的结果。
不过,又有了新问题……
如果背景知识库比较大,比如一个公司各种产品的详细介绍,每次都把这么多内容放到 API 请求里,也还是挺耗钱的。
3. 嵌入
经过进一步调研,发现官方推荐了一种叫做“嵌入”(Embeddings)的方法来实现此类需求。并且也提供了相应的范例:
https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb
简单来说就是:
通过一个 Embedding 接口,把你提供的每一条语料都分别转换成一组高维向量(1500+),并记录下来;
收到一个问题后,也通过相同接口将此问题转换成一组高维向量;
从前面记录的向量库中寻找与当前这组向量最接近的几条语料,即与问题相关度最高的背景知识;
用之前我们讲的提示工程方法,把这几条背景放入问题中,向 ChatGPT 接口请求回答。
而 Embedding 接口本身的费用则非常便宜,几乎可以说是免费。
初步测试下来,发现对于最相关语料的判断还是比较准确的。
后续我还会用更多数据做进一步尝试。
以上就是我关于如何调教一个定制化的ChatGPT私人助理,接入自家知识库的初步尝试。
如果你也有这方面的经验和疑问,欢迎留言讨论。
简单说下这个星球能给大家提供什么:
1、为你分享ChatGPT最新的玩法&风向标
2、可以在这里找到志同道合的小伙伴,一起探讨甚至实现AI创业。
3、定期邀请嘉宾分享副业变现案例
4、副业精华电子书1份,百位大咖内部分享资料
5、前3000人加入星球的小伙伴,可免费获得ChatGPT“独立”账号一个(账号在加入四天之内发放)
6、4月15日前加入星球的小伙伴,都有一项额外福利。送价值3000元的爆款课程中5门任选2门课,送的视频课程包括 Excel,数据分析,面试技巧,Python,SQL等等视频课!都是卖出去上千份的爆款课程。
现在星球在运营初期,正式运营价格定为 699,目前我给出了加入的最低价199,星球马上要来一波大的涨价,如果你还在犹豫,可能最后就要以更高价格加入了。
早就是优势,建议大家尽早以便宜的价格加入!
有兴趣的朋友们,欢迎扫码加入本星球:
特别提醒:知识星球支持 72 小时内无条件退款,所以如果不放心,可以先进去看看已有的内容,不满意直接退款走人。
编程教室的读者购买后如有任何疑问,也可以加下 Crossin 的个人微信:crossin123,一起交流讨论,共同进步。
_往期文章推荐_
↓↓↓点击原文加入 ChatGPT 知识星球