ChatGPT概念
OpenAI是一家AI研究和部署公司,开发了一个针对普通用户的ChatGPT的免费对话式AI机器人产品,该产品基于GPT-3.5模型,同时也推出了一个付费的ChatGPT Plus产品,该产品基于GPT-4模型。很明显,在国内是使用不了ChatGPT的,需要科学上网,并且注册账号需要海外手机号。当然以上也是能解决的,虚拟手机注册或者直接买号。
ChatGPT的接口
OpenAI推出了针对开发者的API接口,这是供程序代码去调用的,不是面向普通人的。我们经常看到的国内版ChatGPT,就是对API接口的界面包装再出售会员。
目前,公开对外使用的是GPT-3.5模型的API接口,GPT-4模型的接口处于测试阶段,开发者需要申请权限加入等待列表,审核通过的才可以访问。
调用接口的问题
由于国内和OpenAI互相封禁对方,所以开发者的程序运行在国内服务器,是访问不了GPT-3.5模型接口的。现在只有两种办法,一是程序部署在海外服务器,二是调用部署于海外服务器的中转代理服务。
还有一个问题也不好解决,那就是调用模型接口是按使用量收费的,而充值需要使用海外信用卡才可以。想要解决这个问题,可以使用虚拟信用卡或者代充(很不稳定,容易封号),或者使用第三方代理服务。
企业专属知识库
知识库是利用上下文嵌入的形式对GPT进行训练。
训练内容可以通过后台上传文档,存入自己本地专属知识库。
GPT会根据自己企业的专属知识库回答问题。这样就可以让GPT来回答自己企业的知识,实现企业的智能化客服助理
上传文档训练的原理:
- 程序读取上传的文档内容,按字数分块调用OpenAI向量接口获取向量数据,存入向量数据库
- 用户使用自然语言查询,向量化自然语言,向量搜索数据库,整合后发送给OpenAI的chat接口
上传网址训练的原理:
- 程序读取网址的所有内容,去除html标签,分割后调用OpenAI向量化接口,内容和网址一并存入向量数据库
- 用户使用自然语言查询,向量化自然语言,向量搜索数据库,整合后发送给OpenAI的chat接口
- 拿到内容后,把参考网址附在内容下面
调用OpenAI以下两个接口
知识库服务基于GPT-3.5模型接口,并且时刻关注国内大模型动态,随时开发接入。
知识库服务主要基于以下两个接口:
OpenAI 聊天接口( /v1/chat/completions )
OpenAI 向量生成接口( /v1/embeddings )
Fine-tuning和Embedding的区别
-
微调就像你通过学习准备考试,是一种长期记忆,但过了一周后考试来临,模型可能会忘记袭击,或者记错它从来没有读过的事实。
-
嵌入就像记笔记,是一种短期记忆,当考试的时候,你把笔记带上,随时翻看笔记,对于笔记上有的内容可以得到准确的答案。
-
另外嵌入的搜索提问方式相对于微调有一个缺点就是它每次附带的文本数量是有限制的,因为除了原始的问题,它还需要带上搜索出来的问题,GPT-3.5是4K(大约5页),GPT-4最大是32K(大约40页)。
就好比你有成书的教科书可以借鉴,但每次却只能翻看其中几页笔记。 -
如果你想构建一个对大量文本问答的系统,OpenAI建议“搜索-问”(Search-Ask)的方法。
也就是先在本地文档库中Search,拿到本地的数据结果,再去Ask,把搜索结果和问题一起交给GPT,这样GPT可以根据你提供的内容以及它模型中的数据,一起将结果返还给你。
至于如何搜索,并非一定要基于向量的搜索,可以有多重搜索方式:
- 基于关键字搜索
- 基于图形的搜索
- 基于向量的搜索