基于CMS的私有知识库与公共人工智能的集成

 

人工智能可以说是未来10年的一个趋势和风口,其中OpenAI是首先推出的一种人工智能技术驱动的自然语言处理工具,它基于Transformer神经网络架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,可以不断学习和升级,不仅仅是传统的检索功能。

人工智能的出现,对很多行业,很多产业,很多应用都是颠覆性的改革。

其中对于科研、教学、图书馆领域内,通过人工智能工具,提炼和学习现有知识,学习私有领域的知识,然后叠加AI本身的知识,可以实现更高级更专业的人工智能机器人、生成新的学习素材。

本文就如何训练一个私有化的ChatGPT人工智能模型做一个简单介绍,类似于训练一个专业领域的人工智能机器人。

 

 

 

训练私有化ChatGPT的方法

 

目前根据ChatGPT的官网文档,有两类方式训练自己的ChatGPT

1. Embeddings 

2. Finetune

 

第一个Embeddings,类似于联合查询,将自有的数据进行向量化存储,通过OpenAI和Embedding的向量数据进行联合查询。

第二个Finetune,类似于私有化一个自定义的模型,这个模型进行投喂了大量的私有数据,所以AI就会比较专业的进行回答相关问题。

 

Embeddings

主要功能是通过OpenAI的Embedding生成接口,来将本地的数据生成向量数据,为什么要用OpenAI的embeddings接口呢?

因为OpenAI通过人工智能的方式,生成的向量数据更加准确,所以Embeddings的方式主要是接口生成的向量数据,然后可以将这些向量数据保存到本地的向量数据库,比如MongoDB等等,然后通过向量查询获取自己想要的结果。

具体可以参考youtube这个介绍:

https://www.youtube.com/watch?v=ySus5ZS0b94

 

 

当然,还有另外一种应用,是在上面的步骤上增加一个OpenAI API接口的调用。

1. 生成Embeddings,存储向量

2. 用户搜索,通过input搜索向量,将搜到的结果发送给ChatGPT,让ChatGPT根据输入的内容进行回答

最终生成的prompt类似下面结构:

 

请用下面的文章来回答如下问题,

文章摘要:xxxx

文章摘要:xxx

...

问题:请问xxxx

 

具体的代码可以参考这篇文章介绍:

https://cookbook.openai.com/examples/question_answering_using_embeddings

 

 

 

Finetune

 

Finetune是一种类似于对模型的优化,他是长期的持续的,对于大量数据或者对于某个特定领域的综合知识可以采用这种方式。

Finetune一旦完成,那么后续就是可以持续的调用这模型获取答案,所以后续的prompt就无需再给ChatGPT更多的提示和样例参考。

Finetune可以有下面几步:

1. 准备数据

2. 训练一个模型

3. 评估训练结果,可以不断重复步骤2

4. 使用训练好的模型

需要注意的是FineTune的模型会是私有的,比如my_modal,另外一个是上传的数据是有大小限制的,目前最大1GB限制。

1. 数据格式的要求参考 

https://cookbook.openai.com/examples/chat_finetuning_data_prep

2. OpenAI可视化操作界面: 

https://platform.openai.com/finetune 

3. 具体可以参考OpenAI的官方文档 

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

 

 

 

私有化Embeddings和Finetune的区别

 

私有化Embeddings和Finetune有什么区别呢? 

目前来看主要是应用场景不同,Embedding主要偏向更加准确的结果,精准的结果,并且时效性短,不需要长时间记忆,另外,更多配合向量数据库查询,应用于更垂直的领域。

而对于Finetune来说,其答案更加通用性,常识性,为一般应用目的,给其投喂数据的主要目的是弥补其知识面不足,增加更多物料。

主要应用场景如下: 

1.  答案检索

2.  内容分类

3.  相关推荐

4.  异常检测

而Finetune的应用场景主要表现在如下几个方面:

1. 新建一个新的回答风格、方式

2. 对于原有模型的内容提升、内容纠错

3. 处理更多边缘性问题

 

可以看OpenAI这篇讨论 https://community.openai.com/t/fine-tuning-vs-embedding/35813/10

可以参考Youtube的这个介绍

https://www.youtube.com/watch?v=_wtfszFzqt0 

 

 

后记

 

不管是那种数据投喂方式,最终都需要数据的准备,所以CMS的内容管理系统在此刻发挥了重要作用,如果在具备原始数据的情况下,训练一个自定义个ChatGPT模型那么将是非常快速和高效的。

因此,ChatGPT与内容管理的最终整合,能够将AI应用到具体的数据应用层面,发挥更高作用。

 

创作不易,转载请注明出处!

 

更多Drupal CMS相关内容,请参考我们其他相关文章,

 

1、常见开源可视化低代码页面构建框架对比

2、Drupal 的OpenAI模块使用介绍

3、基于ChatGPT的Drupal模块应用

4、常见的CMS平台比较

5、在线展览和多媒体展示建设方案

6、构建英文网站应该用什么框架?

7、如何通过Drupal Rector来快速升级Drupal