分享E3和AI大语言模型数据打通的一个上手案例

现在本项目模板
LLM模板.zip (3.5 KB)

打开E3、打开本地项目,选择【LLM模板】文件夹,点击【选择文件夹】。


项目打开之后,我们看到mian.ncf文件里已经为我们搭建好了与大语言模型链接的主程序。

这个案例中核心的功能模块是这个Completions,它的作用是想第三方大模型服务器发送一个网络请求,并且在请求后获取对方服务器运算后返还给我们的信息内容。

这里科普一个概念,就是程序运算可以在本地(自己电脑上)也可以在云端(服务器上),目前很多软件的计算都已经云端化了,AI大预言模型就是个例子,我们在手机上,应用软件上看到的聊天都需要用向网络请求的方式来在本地和云端之间传递数据。这个传递数据的接口叫做API,它可以是一串固定格式的代码。用来让传递数据的两端准确的传递信息。

此外,目前我们可以看到很多优秀的AI平台在提供各种开源大模型的运算服务:

比如硅基流动平台为大家提供的Deepseek V3模型,这个页码是相信讲述它的API接口要如何写,如何表述请求体的信息。右侧这里是一个编写的范例。如果我们把我们的【问题】按照右上的代码格式给对面的服务器地址发送过去,对面服务器计算完后就会返回给我们右下这样的一串代码,其中也包含了我们要的【答案】内容。

Wait……这是不是有点超纲了,我第一次接触这部分知识的时候脑子也是木的。但请听我讲完下面两个概念,也许大家会更有激情。

第一、目前世界主流开源的AI运算模块,包含语言模型、视觉语言模型、视频生成模型、生图模型、推理模型……等等,几乎都是这么一套API请求技术就可以调用了。很多主流的软件也都开放了自己的API接口。这套技术一旦理解,就相当于各种开源AI模块都能向我们打开,而且在E3上可以自定义各种格式的API。

第二、利用E3上我们已经封装好的API接口,大家可以只需要学习三个小知识点,就可以搭建自己的AI智能体了。没错就是理解了这三个参数是什么意思,从哪里搞到就可以用了。

这三个参数从上往下,分别是:【传去哪】、【调用谁】、【我是谁】
1、【传去哪】endpoint:这个模型服务商给的API地址,是一个网络链接,稍后教大家怎么获取;
2、【调用谁】model:是大模型的型号,和我们常听说的不同,会看到模型广场上有很多各种各样型号的大模型,哪个好用,哪个更服务自己需求,需要开发者用时间去测试。
3、【我是谁】apikey:当你在服务商网站上请求对方为你提供api服务时,对方会发给你一个apikey,用来标记这个请求是你发出的。这个标记也会成为你个人的使用数据凭证、付费凭证等等。所以一旦注册之后,保护自己的apikey还是很重要的。

因为诺亚目前的本地服务器没办法更很多用一起用,而且对大语言模型的运算效率没有这些服务商高。所以需要大家自己去注册相应的服务商网站,申请自己的apikey,才能够使用这些功能。目前有很多免费好用的模型是足够大家个人使用的,当然如果要做商业化产品开发,难免要向服务商购买商用的API接口,这里大家要有预期。

下面我们以硅基流动为例,讲一下如何获取上述信息:
注册完成后打开模型广场

随便选一个模型,选中后右侧点击这个API文档

第一个数据【传去哪】从post这个位置复制,或者右侧案例里找到url后面这个链接都可以

https://api.siliconflow.cn/v1/chat/completions

第二个数据【调用谁】就是这个model后面跟着的模型名称,下面大框里的是各种各样的模型,都可以选择调用,直接正确输入要调用模型的名称就可以。

第三个数据【我是谁】点击这个进入后申请一个自己个人的apikey就可以。【注意有些模型需要激活才能使用】

然后我们把拿到的三个数据,分别填入这个案例模板,其中apikey填入.env文件下的这个位置。

另外两个数据填入这两个位置,此时保存文件,这个连接就搭建好了。

都填好后,试跑一下,问答信息填写在message里,提问:“天空为什么是蓝色的?” 点击运行程序……

运行一段时间后,我们得到对方服务器的反馈信息,并通过print,将这个信息打印在我们的程序报告output里。这里有个知识点,就是我们设计的程序如果需要它打任何的运行报告,也就是Output,都可以通过这个Print电池来实现。

这里注意程序的运行时间会和对方服务器的运算时间有直接关系,保持网络畅通,同时注意有些情况对方服务器会限制你的apikey提出请求,也会导致程序无法工作。比如我在之前测试文生图模块时,就被限制在一分钟内最多生成6张图片。

ok,这部分先写到这,后续我会出个案例为大家演示如何让多个大模型串联,以及让大模型和自动化绘图程序串联。

enjoy it~

1 个赞

追加一则多AI模块联动的开发案例

首先是我们来整体打包一下这个大语言模型调用模块:

双击程序起点模块,选【基本属性】,键入模块名称

选【输入参数】添加两个程序的输入参数:“角色设定”和“问题输入”数据类型都选 【str】和【单项】

选【输出参数】添加一个程序的输出参数:“AI回答”数据类型选【str】和【单项】
这样就设置好了,直接关闭浮窗。

在程序末尾连接一个程序出口叫【Return】,双击调出core下的Return模块,我们会开到输出参数“AI问答”已经出现在了这个程序出口模块上。

最后我们在发送的消息上复制一个Message,role选择【system】。这里system类型输入的是智能体的设定,也就是AI要扮演的角色,user类型输入的是用户和AI对话的内容。我们把对应的文字信息传输给对应的数据类型然后一起发给AI大模型服务器,对方就可以得到清晰的指令了。

此时一个独立的ncf运行模块就已经创建好了,我们可以新件一个文件,在另一个文件中直接调用这个模块。

这里利用Input下的text可以调出输入文字的面板

这里让我们建立一段有趣的对方,试图让两个AI发生争吵,让他们的设定发生意见分歧。【注意程序链接完成后,运行前右上角需要选择要运行的ncf文件是谁】

为了看到他们的完整的讨论内容,我们需要用WriteAllText模块来把对话内容输出到txt文档中。

这样我们在根目录下新建几个txt文档,然后每生成一段文字,我们就把它们存进txt文档中。就可以围观多AI激烈的辩论了。

最后分享一下项目文件:
LLM001.zip (21.8 KB)