00:03
大家好,欢迎大家来到腾讯云开发者社区、腾讯云数据库CSDN共同打造的AI驱动的TD circleq-c sola数据库技术时代营。那么下面为大家讲解我们第7节自然语言查询的UI构建。在当前小节当中,我们将使用stream构建一个可以与大语元模型对话的UI界面,并且呢,实现我们之前所有代码的整合,让它成为一个完整的程序。好的,首先我们先打开我们的代码来看实现一下ST streamate的构建。在streamulate构建这块儿,相对来说比较简单啊,Streamulate是一个非常适合于数据科学、计算与AI的一个。UI界面工具库,我有了这个工具库呢,我们就没有必要去学习前端啊,从而什么呀,给自己增加学习上的负担,要想构建一个UI界面,用我们stimate非常的简单,首先呢,在这里边有这么几行代码,第一个sstreamulate.title。
01:13
这个代码的作用是帮我们生成一个标题,然后后边儿有一个stimulate text area, 帮我们生成了一个什么呀,页面中可输入的多行文本区间,然后呢,并且在后边儿通过streamlate.button生成一个按钮,我们可以通过点击按钮来看一下是否有内容,如果用户输入的内容,也就是在刚刚的文本区域输入的内容,我就可以进行什么呀,数据的展示,或者说代码的执行。所以这个代码实际上非常简单,一步两步,三步,I片2执行下来了。当然这只是对streamulate的最简单的应用t streamulate呢,实际上能做的东西非常多啊,还可以进行页面的布局,页面多种什么呀,组件的使用。
02:02
跟我们常用的gra框架有点相似啊,好,下面来运行一下我们的代码,在这里边我们首先需要打开终端。打开终端之后,我们运行一下刚刚的代码,首先看一下有哪些文件啊,我们刚刚看的文件是stream littlet code, 需要注意的是stream late code这个文件,也就是说要运行stream late的文件不可以使用Python来运行,而是通过stream令啊star late命令R一下指定的Python文件。这样才可以。好,回车运行,大家看这个时候呢,在我们的浏览器当中啊,就打开了一个界面,在这个界面当中,大家可以看到最上面的黑色区域部分啊,文字部分就是我们刚刚设置的标题,然后下面就是那个text area文本区域提问就是我们的按钮,这样一来的话,我们的一个stemate结构就算什么部署完了,然后我们只需要在点击提问的时候,获取当前区域的用户输入,把它交给AI来运行是不是就可以了。
03:11
好,那么下面实行我们的最后一步,将所有的代码进行串联,让它变成一个完整的程序。在这里边呢,我给大家提前已经进行准备好了,在这里边呢,大家可以看啊,提前导入各种各样的库,我们之前啊,MYCRCQ的一个链接,MYCRCQ的一链接配置都放在了外边啊,至于为什么不放在后边,是因为我们是不是两部分需要啊,一部分是在当时text to CQ的时候,需要获取数据库的S干ma,也就是结构信息,对不对,S干ma信息,后边儿呢,第二部分我们讲连接数据库的时候又用了配置,所以呢,我们在这里整合的时候,直接把配置放到了最外边,谁想使用直接调用即可,然后这里边有两个啊函数,方便我们在后期分配使用,一个是get s干ma,一个是我们后边有一个get在这儿。
04:16
Pip list, 好,然后呢,下面连接了大语言模型之后,我定义了一个方法叫get result, 现在不看get result的方法,我们直接来到最后部分,大家可以看,最后的部分呢,就是我们刚刚写的stulate ST streamulate里边先写了一个啊title,然后呢又写了一个文本区域,把文本区域用户的输入啊,使用变量content接收,然后点击按钮的时候呢,我就判断用户是否有输入可看的吧,如果用户有输入,我就调用get result的方法来获取对应的结果,并且把过程中产生的数据都进行了一个展示,也包含最后生成的那张图片,这次注意啊,生成的是图片,不会在浏览器打开,为什么我们一会儿再看,那么get result方法就是我们刚刚在上面配置完了之后写的一个方法,这个方法里边分成了三大部分,第一部分,Circcu check.
05:15
也就是通过我们的拉玛大语言模型和数据库结构来生成SQL语句,是不是在这儿第二部分我们根据SQL语句连接了数据库,查询出了对应的结果,你看fe all不是查询出所有结果,查询出所有的数据结果,然后第三部分构建我们polit整个链的构成,那么在这里边儿看第二个模板出现了,第二个模板出现了,就是把我们所有安装包啊,生成poet的要求查询出来的数据,SQ语句和用户的输入进行了一个什么呀,全部的传入,那么大家看这次所有的东西我都是使用变量来接收的,用户输入在哪儿呢?诶还记不记得streamulate用户输入是不是content,点击按钮的时候,我就会把用户的输入传递给get result方法,那么get result方法会接收这个传入的参数,然后把这个。
06:16
参数看好了,在哪儿传了呢?在我们的第一个模板啊,是不是传了一在我们的第一个模板context的这块儿,是不是传了一次,把它传给了question,然后呢,在第二个串也第二个链条这块,是不是也传给了它的question,诶所以这两条链就构建完毕了,构建完毕了之后,第一条链的作用产生色Q语句,第二条链的作用产生我们的什么呀?可执行的poli代码,为了安全起见,我们特意去掉了两侧的这个。Markdown的标记啊,然后需要注意的是在此处我还做了一个修改,就是第三条修改啊,之前我们说是让他在网页中展示就可以了,这一次我要它生成图片格式,并且保存在当前文件件下,文件名固定为图标点PNG,这就是为什么我在最后边会使用一个streamate.image展现当前文件夹下面的图标点偏NG的一个原因啊,就是因为我上面要求的产生的文件名固定就叫做什么呀。
07:22
这个图标点PG好,那么这个时候呢,我们的代码就构建到一起了,由它来进行驱动,好来运行当前的文件,我们需要打开终端。好,打开终端,把上次的操作停止一下,我们听一下屏幕在这里边,LS这次的文件叫做all code, 我们在里边运行stream scar late r or code.p回车,那么这个时候大家可以看到啊。直接打开了一个浏览器,看见了吗?浏览器界面直接打开了,然后呢,这就是我们的用户交互界面了,我们先试一下刚刚那个查询行不行,查询啊,查询所有用户的,查询所有用户的用户的,呃,用户名和ID。
08:19
和用户ID吧,写的全一点比较好一点啊用户ID。点击提问,大家可以看到这块有一个图标一直在运动,是不是说明他正在跟我们的大语言模型进行通讯?其中所有的操作结果都会动态的展示到终端当中来,所以我们可以看一下终端的结果。来,大家看刚刚的查询要求,最后生成的图片是不是在这儿,然后呢,我们再回到网页当中查看一下。好,大家可以看到,你看我在这里边儿啊,首先呢是这是我的输入生成的CQ语句和生成的polite图表信息是不是都在这儿啊,最后一张图表儿是不是在这儿摆的,哎,大家可以看到每一个用户名儿和每一个的ID是不是都在这儿啊,当然它是按顺序给我排起来的,我们查询的时候不一定非得查用户ID啊,我们可以查一下每一种商品的销售总额,那么这个时候来在这里边儿查询每个商品,每种商品的商每个种类嘛,每每每个种类。
09:35
的商品销售总额和商品类名称。跟AI对话一定要说的精确,不然他。会产生一些错误数据,这个大家需要注意。好,我们下面等待它生成。只要它这块在运动,就说明在跟我们的大语言模型和数据库在通讯,等待结果。
10:02
好,结果已经产生了,大家可以看算语句啊,他查询了什么呀,种类名称和销售总额对不对,然后然后呢,查询的结果,这不是他查询的还挺多的啊,他把好像把所有数据都查询出来了,每一个数据查询出来了,你看每一个数据的销售总额是不是都在这摆着了。看见了吗?是不是都在这儿?商品总额商品总额商品总额,OK, 都站着表扬了。甚至我们可以查询一下多表联合查询,大家也可以看啊,现在这个soq语句生成是不是都比较简单,单表查询我们说了它可以列表查询啊,那么OK,我们查询一下对应的订单,因为订单表是不是涉及到用户表和订单两部分是不是好,我们在里边儿查询一下订单,我们得去数据库里看一下这些什么呀。这些数据库里的用户名儿叫什么啊,不然的话,对我们来说,或者说对用户来说,完全数据库就是个黑盒嘛,是不是,但是我们现在啊,有测试数据就需要。
11:03
看一下测试数据啊,算了,我知道里边有一个叫贾玲的,我来查一下吧,查询贾玲的所有乙的贾玲的所有订单信息啊,所有已支付支付和未支付。的订单信息点击提问。我们在这里继续。等一下,嗯,OK, 你看它进行的是多表联合查询,对不对,大家也可以看的,你可以看它都是什么呀,Join的看一看,在里边有个join语句,是不是多表联合查询,你可以看已支付的和未支付订单的数据是不是都出来了,已支付一个啊,已支付两个订单,未支付一个订单,多种数据都可以查询,这就看大家自己什么呀,想跟AI对话说什么了,但是需要特别给大家提醒一下,当我们跟大爷言模型进行对话的时候呢,它可能会产生一些错误的信息,也就是在运行的时候,它可能会产生一些错误的结果,这个是无法避免的,因为产生错误的结果主要取决于你给我们大圆模型提供的数据结构信息和用户啊,用户跟大语言模型进行对话,语言的精确度有关,而且还与你的大语言模型的精度。
12:39
不有关,所以呢无法做到100%的精确,有些时候可能是查询不到你要的内容,这个时候大家要进行多方位的调整,其实更多的是需要调整大家自己跟AI对话的模式,因为8B模型就能达到90%以上的不出错啊,但是大家如果写的不对,或者说是你跟AI对话的时候说的模糊,那么产生的结果完全可能是模糊的。
13:08
好了,那么关于本次的程序我们就组合完了,在这次的程序当中为大家主要介绍了如何跟大语言模型进行对话沟通,并构建智能应用的一个流程,当然这些代码算是比较简单的代码,以呃,我们需要很多的地方可以完善,而且呢,还可以什么呀,还可以做的更加丰富,但是呢,我们本节课时间有限,就为大家介绍到这里边,感谢大家的收看。
我来说两句