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

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

入门教程、案例源码、学习资料、读者群

请访问: python666.cn

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


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


把 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


简单来说就是:


  1. 通过一个 Embedding 接口,把你提供的每一条语料都分别转换成一组高维向量(1500+),并记录下来;
  2. 收到一个问题后,也通过相同接口将此问题转换成一组高维向量;
  3. 从前面记录的向量库中寻找与当前这组向量最接近的几条语料,即与问题相关度最高的背景知识;
  4. 用之前我们讲的提示工程方法,把这几条背景放入问题中,向 ChatGPT 接口请求回答。


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


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



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



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


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


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


另外,我最近也和“涛哥聊Python”的博主涛哥一起搞了个 有关 ChatGPT 的知识星球,带着大家一起探索ChatGPT和新的AI时代。

相关文章
|
9月前
|
Python
ChatGPT 调教指南:从 PDF 提取标题并保存
ChatGPT 调教指南:从 PDF 提取标题并保存
179 0
|
9月前
|
数据采集 自然语言处理 程序员
ChatGPT 调教日记(一):Markdown 解析器
ChatGPT 调教日记(一):Markdown 解析器
205 0
|
9月前
|
人工智能 算法 数据挖掘
ChatGPT 调教日记(二):程序员转量化的背景知识
ChatGPT 调教日记(二):程序员转量化的背景知识
88 0
|
Kubernetes 前端开发 机器人
4、开源组合llama+langchain,蹭上ChatGPT几行代码轻松搭建个人知识库私人助理聊天机器人(测试发现质量不错)
跟着步骤走,稍微懂点代码的都可以来操作,两个开源组件封装的非常彻底可以说拿来即用。所以无论作为前端也是可以来玩玩的。
1846 0
|
人工智能
ChatGPT - 如何高效的调教ChatGPT (指令建构模型-LACES问题模型)
ChatGPT - 如何高效的调教ChatGPT (指令建构模型-LACES问题模型)
273 0
|
机器学习/深度学习 人工智能 监控
《花雕学AI》23:中文调教ChatGPT的秘诀:体验测试与通用案例,解锁无限有趣玩法!
ChatGPT是一个基于深度学习的中文对话生成系统,它可以根据用户的输入,生成流畅、自然、有趣的对话回复。ChatGPT不仅可以进行各种主题和风格的闲聊,还可以进行各种类型和形式的创作、学习、娱乐和社交。ChatGPT具有强大的逻辑推理和创造性思维能力,可以应对各种复杂和有趣的情境和挑战。 但是,要充分发挥ChatGPT的潜力和魅力,你需要了解如何调教它,让它更符合你的期望和需求。在本文中,我将为你揭示中文调教ChatGPT的秘诀,通过体验测试和通用案例,让你解锁无限有趣玩法,享受与ChatGPT的对话乐趣。请跟随我,一起探索ChatGPT的奇妙世界吧!
703 0
|
1月前
|
机器学习/深度学习 人工智能 搜索推荐
哈佛推出全新类ChatGPT癌症诊断AI,登上Nature!准确率高达96%
哈佛大学研究团队开发的新型AI模型CHIEF,在《自然》期刊发表,癌症诊断准确率达96%。CHIEF基于深度学习,能自动识别、分类癌症并预测生存期,具高准确性、多任务能力和泛化性。它结合病理图像与基因组学等数据,显著提升诊断效率和个性化治疗水平,有望改善医疗资源不平等。但数据隐私和临床效果验证仍是挑战。论文见:https://www.nature.com/articles/s41586-024-07894-z
170 101
|
7天前
|
存储 人工智能 API
ChatGPT-on-WeChat:Star32.4k, DeepSeek加持!这款开源神器秒变AI助手,聊天体验直接起飞!
嗨,大家好,我是小华同学。今天为大家介绍一款结合DeepSeek引擎的开源项目——ChatGPT-on-WeChat,由开发者zhayujie打造。它将微信变成智能AI助手,支持文本、图片、语音对话,具备定时提醒、天气查询等扩展功能,完全开源且易于定制。项目地址:https://github.com/zhayujie/chatgpt-on-wechat。关注我们,获取更多优质开源项目和高效学习方法。
119 11
|
8天前
|
人工智能 自然语言处理 算法
DeepSeek vs ChatGPT:AI对决中的赢家是……人类吗?
DeepSeek VS ChatGPT:DeepSeek以开源黑马姿态崛起,凭借低成本、高性能的「DeepSeek-V3」和专为深度推理设计的「DeepSeek-R1」,成为中小开发者的首选。而ChatGPT则较贵。 然而,AI依赖也带来隐忧,长期使用可能导致记忆衰退和“脑雾”现象。为此,推荐Neuriva解决方案,专注力提升30%,记忆留存率提升2.1倍,助力人类在AI时代保持脑力巅峰。 DeepSeek赢在技术普惠,ChatGPT胜于生态构建,人类的关键在于平衡AI与脑力健康,实现“双核驱动”突破极限!
167 7
|
2月前
|
人工智能 搜索推荐 iOS开发
OpenAI推出适用于iPhone的ChatGPT,与Apple实现具有里程碑意义的AI整合
OpenAI推出适用于iPhone的ChatGPT,与Apple实现具有里程碑意义的AI整合

热门文章

最新文章