Drupal的OpenAI模块介绍
人工智能AI的火热,对于CMS来说,显得更加重要,因为AI最终需要分类有素的内容作为原始素材。
对于Drupal来说,也出现了很多相关模块,我们之前介绍过Drupal的augmentor模块,可以搭配其他模块实现对多个AI平台的利用,今天重点介绍OpenAI模块,该模块也是一系列模块,通过不同模块,实现了对不同的OpenAI的调用。
OpenAI的模块介绍
Drupal 的 OpenAI包括了多个模块,主要的功能如下,
OpenAI:核心模块,主要实现了OpenAI的API对接以及其他模块的基础通用功能。
OpenAI Audio:子模块,实现了对接 OpenAI audio 功能,语音转文字的功能。
OpenAI ChatGPT:子模块,实现了一个类似ChatGPT的对话框功能。
OpenAI ChatGPT Devel Generate:子模块,类似Devel Generate模块,但是这个生成主要是通过ChatGPT来生产一些更加真实的内容,Drupal的Devel Generate模块生成的全是一些无用的废话。
OpenAI CKEditor integration:子模块,与 CKEditor 5 编辑器集成,可以直接在用户编辑的时候,通过ChatGPT来实现自动完成、提示、纠错等相关功能。
OpenAI Content Tools:子模块,该模块实现了一些内容编辑的辅助功能,比如生成摘要、生成分类、生成标签等功能。
OpenAI Embeddings:子模块,该模块可以通过 OpenAI 可以将Drupal的node或者图片生成对应向量图文。(可以借助向量数据库来实现更高级的功能)。
OpenAI Log Analyzer:子模块,该模块可以借助 OpenAI来实现日志的读取和分析。
OpenAI Prompt:子模块,工具模块,该模块提供了一个表单,可以直接通过表单发生Prompt到ChatGPT,然后获取对应的内容。
OpenAI的主要功能介绍
1. 启用模块和配置Key
我们介绍OpenAI模块中的几个主要模块功能,
- OpenAI ChatGPT
- OpenAI CKEditor integration
- OpenAI Content Tools.
主模块依赖于Key模块,用于保存OpenAI的key,启用以上模块,然后第一步去设置OpenAI的key,(OpenAI的key需要付费,具体如何生成Key可以查阅相关资料,本文不再赘述)
Configuration > OpenAI > Settings
注意,此处有一个组织,这个一般不用填,也不要写账号的email。
保存好之后,就可以开启OpenAI/ChatGPT其他功能模块的使用了。
2. OpenAI ChatGPT Explorer模块
我们先体验一下ChatGPT的对话功能,通过如下链接访问 ChatGPT Explorer功能,
Configuration > OpenAI and open the “ChatGPT explorer”
我们简单问了一个问题,“列举以下常见的AI模型和网站”,稍等片刻,ChatGPT就给出了对应的答案如下,参考如下截图。
这个表单中有一个选项,中间有一些参数,这些参数有些需要搞清楚,才能让Chat GPT更加高效的给我们回答问题。
- Model: 模型,本身OpenAI有很多模型,比如GPT-3.5 Turbo,GPT-4.0等模型,默认的是GPT-3.5 Turbo。
- Temperature: 温度,类似于灵活度,灵活度越高答案越发散越活跃,更加有创造性,每次回答的结果差异更大。灵活度越低,答案越严谨。
- Maximum tokens to generate:生成的Token长短,越长答案就越长,或者设置具体的长度,让Chat GPT生成具体长度的。
- Profile:给Chat GPT一些说明和上下文,比如你是一个计算机程序员,你是一个老师等等。
3. CKEditor integration 模块
CKEditor integration 模块实现了AI工具于 CKEditor 集成,前提是需要安装CKEditor 5版本。
配置:需要到Drupal的格式编辑里面,找一个自己常用的编辑格式,启用CKEditor5,然后配置对应的编辑器的按钮,将Open AI的按钮拖动到编辑里面,即可启用。
路径:Configuration > Content authoring > Text formats and editors
增加好OpenAI的按钮之后,下面就会有相应的选项,比如配置模型、温度等,可以根据具体的需求填写。
按如上的配置,配置好CKEditor的编辑按钮之后,就可以发布一篇文章,来试试OpenAI的功能,包括文本生成、文本总结、文本纠错、内容翻译等等。
4. OpenAI 内容工具模块
OpenAI也提供了内容辅助工具模块,主要包括分类自动生成、自动生成摘要、文本调整等功能,该功能不是集成到CKEditor,是类似于Drupal的Augmentor模块,通过一个单独的配置实现,首先设置一个来源字段,然后根据字段做对应的操作,比如根据Title生成摘要,根据Body生成标题,或者根据Body生成SEO摘要等都可以实现。
5. OpenAI 文字转语音模块
语音和文字转换模块,这块OpenAI提供了两个模块,一个是text-to-speech模块,一个是audio模块,前者可以将文字转换成语音,实现自动朗读等功能,后者可以将音频转成文字,实现自动化文字、字母得功能。
这两个模块也比较简单,安装好之后,直接到对应得界面进行测试即可。
6. OpenAI的绘图模块
OpenAI模块内置了Dall-E的绘图引擎,通过界面可以选择相关参数,然后填写好Prompt就可以直接调用。
我们测试了两个prompt,一个是通过GPT生成的prompt。
比如告诉GPT:
帮我生成一个微积分的Prompt,我要用这个prompt来绘一张二维的微积分坐标示意图。
然后GPT生成了如下的Prompt:
当你学习微积分时,你会遇到许多有趣的图形和函数。现在,让我们一起来绘制一个简单的微积分图形吧!
请你画出函数 y = f(x) 的图像,其中 f(x) 表示一个简单的函数。例如,你可以选择 f(x) = 2x + 1 或 f(x) = x^2 - 3x。
在一个二维坐标系中绘制出函数 y = f(x) 的图像。确保你的坐标轴刻度合适,以便清晰显示出函数的特征。
标注出函数曲线上两个特定点的坐标。例如,你可以选择标注出函数曲线上 x = -1 和 x = 2 处的点,并计算出对应的 y 值。
计算并标注出函数在两个特定点处的斜率。使用切线来表示斜率,切线的斜率可以通过计算函数曲线在该点的导数得到。
计算并标注出函数的定积分。定积分表示函数曲线与 x 轴之间的面积。你可以选择一个特定的区间,计算出该区间上函数曲线下方的面积,并在图中进行标注。
完成这些步骤后,你将对函数的图像、斜率和定积分有更深入的理解。祝你绘图愉快!
通过发送给OpenAI的DallE-3接口,得到了一张如下看似还有点像的图
另外是手写了一个Prompt,生成一个三维坐标图,经过不断调试,直接用英文写的,用中文貌似GPT理解的更差一些,最终得到一个差不多70分的图
Prompt:
Create a 3D space using the RGB color points, please place almost 20 points in the space, like these:
Point A: (x = 128, y = 45, z = 78)
Point B: (x = 67, y = 189, z = 12)
Point C: (x = 255, y = 78, z = 167)
Point E: (x = 89, y = 221, z = 39)
Note: In this prompt, the x-coordinate represents the Red (R) component, the y-coordinate represents the Green (G) component, and the z-coordinate represents the Blue (B) component of each color.
后记
OpenAI 模块集本身已经实现了很多OpenAI的功能,极大扩展了Drupal的AI能力,随着OpenAI 的Sora等模型的推出,可以基于OpenAI做更多的扩展功能,比如根据当前的内容生成一个视频介绍,这样用户就可以通过视频方式直接学习了,起到辅助学习的功能,另外可以把视频下载到CMS中,这样就能脱离OpenAI的接口,独立运行。
另外也可以扩展Drupal内容的向量化,实现语义搜索、知识图谱等功能,现有的OpenAI Embeddings需要第三方的向量数据库支持。
当然,在完善模块方面还有更多工作可以做,另外也可以参考OpenAI模块,做百度的文心一言模块,实现对接国内的AI模型。
创作不易,转载请注明出处!
更多Drupal CMS相关内容,请参考我们其他相关文章,
7、如何通过Drupal Rector来快速升级Drupal