00:03
大家好,欢迎大家来到腾讯云开发者社区、腾讯云数据库CSDN共同打造的AI驱动的TTSQL、杠、c sola数据库技术实战营。今天我给大家带来的是基于大模型与long Cha的智能应用构建,那么呢,我们的第一章先来看一下子大模型,开启智能应用时代。那我们很多开发者以前都是做传统软件开发的,传统软件大家看到的可能就是类似于我们现在画面看到的这样,那都是基于web或者是基于手机APP来构建的这种客户端和web服务之间的应用,这种应用呢出现了很多年,那我们日常生活中的绝大多数的应用形态都是基于这样的BS或者CS应用架构来完成的,不过呢,我们很多年以前就看到一些科幻大片里面都有出现人工智能的应用场景,那在科幻片里面的人工智能呢,大概是这个样子的。
01:02
我们可以看到哈,那我们现在的应用程序和科幻片的应用程序之间有很大的差异,对吧?那传统的应用程序呢,我们可以看到它主要的交互方式,哎,我们称为UI,对吧,User interface, 也就是说我们是通过图形界面,通过鼠标,通过键盘,然后来和我们的应用程序进行交互的,由用户通过表单来提交数据,然后呢,在我们的外部服务里面对这些数据进行处理,再通过我们的数据可视化,或者通过我们的呃,查询列表等等方式来呈现我们的数据。而我们的人工智能应用呢,就要方便很多,因为在传统应用程序里面,通过UI的交互的话,那么它有时候是更接近于我们数据库,基于我们数据的这种设计逻辑,而不是基于人类的这种思维方式。而现在呢,智能应用兴起给我们带来了一些启发,然后也给我们带来一些全新的不同的体验,当然这些体验呢,还达不到科幻片里面这些效果,因为科幻片里面我们可以看到那左边的第一幅图,这个呢是一个呢,是一个虚拟的数字人,对吧?哎,直接跟这个虚拟的数字人对话。
02:09
然后右边的呢,我们可以看到右边下面这一幅图呢,什么是机器人对吧?那如果把一个人工智能装到一个机器人里面,这一类技术呢,被称为具身认知。那么聚身认知的话,就是让一个具体的一个设备,那拥有了人的思维模式之后,他能够帮助我们做更多的事情,而如果你把它做成人形的话,那就是所谓的人形机器人,所以呢,这一类技术呢,虽说是之前在科幻片里面出现的,但是现在呢,也慢慢的逐步成为了现实,不过还没有到可以大规模应用的时代哈,那我们再来看一下哈,就是现在我们体验到人工智能大概是长什么样的呢?就是作为大部分的普通人,我们在使用人工智能的时候,接触的第一个很有可能就是恰的GT,对吧?Open AI公司推出的恰GPT,那么它是我们第一个真正意义上的就是大模型应用,对吧?然后如果说现在我们看开源技术的话,那在我现在给大家看的这两幅画面里面,左边这个是开源的,右边这个就是char的GPT里面的GPT4O,那这样的应用程序呢,就可以被我们称之为是自然语言交互的应用程序。那自然语言交互的应用程序就。
03:21
和我们之前提到的就基于表单,基于web交互的这个应用程序的话,就有很大的差距了,因为我们不再需要去通过UI,通过搜索,通过过滤,通过一系列的操作,一系列的action来串起来我们的工作流。那么AI它具备理解我们人的意图的能力,因为他能理解我们的意图,所以他可以结合我当前的场景,然后结合我的上下文,然后给我来提供对应的服务、帮助和支持,甚至能够去帮我操作。某些软件,然后帮助我去完成有些具体的任务,所以那么这样的应用软件呢,一般情况下我们就称为什么称为自然语言交互的应用。
04:02
当然就是智能语言交互的应用呢,那又有很多类型,对吧?那么通常情况来说,如果一个应用程序集成了某一类的AI模型,让我们原本的应用程序具备了自动推理、预测或者内容生成的能力,哎,那这一类程序就通通称为智能应用,所以我们只要能知道什么智能应用,我们会发现80%用到的还是传统软件开发技术,只不过呢,增加了模型和推理能力,对吧?而我们现在呢,又有另外一个词非常流行,对吧,叫做智能体,那么智能体和智能应用又有什么关系呢?这个时候的话。我们就可以来看一下子就是集成了AI模型和推理能力的这样的应用程序其实很早就有,甚至有些设备也集成了模型推理能力,对吧?比如说我们的安防摄像头,我们的门禁,这些东西它都能称之为我们的智能应用,但是呢,他们不一定就是智能体。而智能体呢,是我们从char的GPT,推出GPTS以后,推出GPS之后呢,就大规模开始应用的,这样的应用呢,叫做智能体,而智能体本质上它也是一种智能应用,但是区别是什么呢?区别就是它能够感知我们所处的环境,但是这个环境不一定指的是自然环境啊,因为感知自然环境它可能需要有摄像头,可能需要有各种传感器,对吧?比如说有麦克风就能采集声音,那有摄像头呢,就能看到画面,那如果有温度传感器,它就能感知到外界的这个气温,对吧?那能感知环境不一定需要的就是物理设备哈,那物理设备是其中一种,如果说通过手机装载了智能题,哎,他能知道我此时刻的时间,直到下午,现在可能4点或者5点了,知道我可能肚子饿了,这也是环境的一种,对吧,他如果通过我的IP地址,通过我的GPS坐标,能知道我现在所处的位置,这个也是环境的感知,当然即使这些东西都没有,但是呢,他知道我是谁。
05:54
知道我给他下达了某些任务,他也了解我的习惯,那么这也是对环境的一种感知,如果能够感知环境,并且结合我当前的环境,对特定的目标采取相应的动作,哎,这样的应用程序呢,就成为智能体。
06:10
所以智能体和传统的智能应用呢,智能体本身是一种智能应用,但是智能体呢,它又比传统的智能应用要更高级一些,而我们现在指的智能应用开发呢,大部分其实都是已经在构建智能体了,传统的智能应用有可能还是会基于UI界面来进行交互,而智能体呢,我们的一个大的发展趋势是,至少它应该是有一个恰,就是类似于我们刚刚看到的就是聊天框,通过聊天框我们能够用自然语言跟他交互,它就能能够理解我们意图,帮我们完成特定任务,那如果再高级一点的话,那么可能就是向着数字人,向着巨式认知,向着人形机器人这个方向来发展。所以智能应用如果我们要划分一下的话,那么就是由传统的UI交互、集成、推理能力的应用程序。到我们现在通过。聊天框,或者通过数字的人,通过语音,通过打字这种方式,通过自然语言交互,诶,然后再到最终可能就会直接基于什么,基于机器人来完成我们的任务,所以这是我们人工智能应用,也是我们智能体的一个发展方向,那么我们了解了什么是智能应用,什么是智能体之后。
07:20
我们就可以看一下子,那我们怎么样去创建一个智能体,对吧?那创建一个,呃呃,智能应用的话,可能就是普通的应用程序加推理就够了,但是要创建一个智能体呢?哎,现在也有一些方法和工具会让大家很方便,当然第一类工具呢,就是直接使用AI服务商提供的智能体的创建工具,那比如说不管是国外的还是国内的都有,对吧?那我们可以基于国外的open的其他的GPT来创建一个GTS,它就是一个智能体,那这个只要有个账号登录进去,点一个加号就能创建,对吧?当然呢,基于我们腾讯的会员大模型,其实也是可以构建这人体的,当然如果说你要是不想基于厂商提供的AI服务的话,那我这边。
08:01
也可以有一些应用程序,我给大家来做一下演示,怎么样在我本地使用promote来创建一个智能体。大家来看哈,我现在呢,展示的是我在本地搭的一个基于大语言模型的一个chat的界面,那么我可以直接在我的这个应用里面选择我所需要使用的模型,那这些模型呢,目前为止我都是使用的开源模型,如果我不想使用GPT和GPTS了,因为那个在网络,那如果我我智能,那最方便提示词工程来构建一个特定的智能体,比如说我在这里面选择一个拉马巴B的instruct fp16这个模型,那么这一个呢?是由80亿参数构成的一个模型,然后在这个地方我们可以看到哈,那么现在几乎所有的大开源的大源模型,它都支持我们通过系统提示词设置来构建一个独立自能体,比如说那我在这里面我可以构建一个智能体。
09:12
的名字叫大王。你是一名ID技术专家,从事技术咨询工作。善于寻找。善于推荐合适的技术方案。能解。答,各类技术问题细节。但是你。拒绝。回答和技术无关的问题。
10:04
好,那么当我设置了这个系统提示值之后,等于是我给我这一个特定的大圆模型设定的一个身份,那么基于这个身份,它就可以去完成我想要的任务,也可以去拒绝某些任务的完成。当然我还可以给他加各种人设,甚至可以给他加他回答问题的风格。如果我要需要一个写作AI的话,我也可以让他能够成为一个擅长于某一类风格写作的这样的一个智能体,那么我们甚至还可以在我机器本地里面创建多个智能体,让他来交互协作。现在来看一下这个智能体创建后实际的效果哈,那这个呢,和我们在GPT里面创建GPPS是比较类似的,不过区别就在于它可以在本地部署,它不需要依赖于网络。我们来看一下。
11:04
当这个智能体创建的时候,第一次访问它,它需要加载整个模型,并且设置好我的这一个system promote, 所以它会稍微慢一点。大家可以看到,哎,这个时候一个自体就创建成功,当然呢,我还可以问他一些其他问题。哎,我女朋友要和我分手,我该怎么办?然后当我问他这个问题,他就说对不起,我是一个技术专家,对吧?他只回答我技术方面的问题,大家可以看到,那这样呢,我就构建了一个智能题,我可以在我的机器里面构建多个智能体,让这些智能体来协作帮我解决问题,比如说我如果是一个创业公司的话,我可以帮我构建一个产品经理,帮我构建一个策划,帮我构建一个呃,开发人员,前端开发人员在构建两个后端开发人员,对吧,还可以构建一个DBA,那么这样的话,我一个智能体组成的团队就可以帮我来进行协作,所以那这种方式呢。
12:12
我们把自己构建好的字体测试完毕之后,还可以通过接口来输出,比如说对接到数字人上面,哎,就可以有一个数字人来对外提供服务,对吧?如果说把它要放到一个机器人里面的话,那么这个机器人呢,也能够去帮助我们完成相应的工作,所以这个是一个比较低成本,而且呢对于技术要求不高的智能体的构建方法。好,那么这一种呢,是我们刚刚提到的多种构建智能应用的方法的。其中一种对吧,那除了使用open提供的GPS服务,类似的这样的智能体构建,除了在我们本地通过promote提示词来构建以外,那我们还有第三种的智能应用构建方法。大家可以看到哈,我现在打开了一个getit up上面的开源项目,那这个开源项目是干嘛的呢?这个开源项目是用来帮助我们构建更复杂的智能体应用,那我们刚刚看到的,不管是基于GPS还是基于promote来设置提示词,类似这样的方法,它虽然说能够让我们的某一些场景下创建的智能体应用能帮我们解决很多问题,但是它大部分的操作还是集中在控制我们AI的输入和输出内容上面,控制AI的输出风格上面。而如果我想要让我们的AI完成更多具体的动作,比如说远程去关闭一台服务器,又比如说让AI去帮我们完成我们机器,呃,机器里面的文件管理,再或者说我们还可以想让AI帮助我们去查询一下我们数据库,做一下数据分析,涉及到这些内容的时候,那么AI如果光只会聊天它是不够的,所以我们会引入一些工具,那么自己做一个代理层,在这个代理层。
13:59
里面呢,那AI只用去输出我们SQL语句,我们就要通过代理层去执行这个S口,哎,这个时候就可以做数据查询,统计和分析,如果AI能够输出Linux命令的话,那么呢,我们再通过我们的代理程序去远程SSH连接到一台服务器,它就能够去帮我们操作远程管理一台Linux主机,对吧?当然他可以管理一台主机,它也可以管理10台100台,所以呢,这个时候的话,哎,我们如何来制作这个代理程序就很有用了。
14:28
当然我们会发现啊,这每一种方式难度是一层比一层要稍微复杂一些的,那基于GPS来构建智能体的时候,什么都不用懂,只要会注册GP账号就行了,对吧?但是呢,如果是在我本地搭建一个类似于我刚刚演示的拉3.1的这样的一个大模型来构建智能停用的时候呢?那首先我要能够知道怎么在拉玛把本地安装起来,然后呢,还要知道我怎么样去。完成我的什么这个promote的设置,但是呢,如果到我们的,呃,现在我们说更复杂的,让AI能够做更多操作的这些能体应用的话,我们就可能需要懂一点点的这种拍thon编程了,不过好在呢,因为类似于这样的框架非常强大哈,它非常强大,所以呢,它已经提供了我们开发智能体应用的需要的各类的工具,所以那我们在使用的时候呢,基本上你只要知道Python怎么运行起来,懂得复制粘贴代码,哎,我们每个人都可以很轻松的在云端构建起一个特定的智能应用,而在这个智能应用里面呢,那我们会发现里面有几个关键点,因为传统的智能应用的话,只有两个角色,对吧,就是一般通过聊天框,那么一个是AI,一个是我,那么我给AI发句消息,AI给我回一句消息,对吧?那但是呢,在我们的智能应用里面,通常情况会多一个角色,就是tools,那这个tools干嘛用的呢?如果说我跟AI交互,我告诉他,你现在帮我把一台远程Linux主机关机,那这个时候。
15:56
然后呢,那AI就会返回对应的Linux命令,但是他判断我知道是一个操作Linux操作系统的这样的呃,交互,那么他就会选择能够去远程连接到Linux的这个代理,那么这个代理呢,就是一个tools,对吧?通过这个tools来完成Linux操作,当然如果现在我想让我的AI去TTL数据库里面来帮我查询一下数据,对吧,做一下数据统计分析,那这个时候呢,可能就要连接到另一个tool,那这个另一个tool呢,也是通过一个代理程序去连接到我们的TTL数据库,去完成我们的查询统计和分析操作。
16:29
所以那么有了类似于long Cha这样的专门用来构建代理,构建engine的这样的应用框架的话,那么我们就能够扩展AI的能力,让AI只能从对话做对话这一件事,扩展的AI可以去帮我们整理电脑文件,帮我们远程管理服务器,甚至是可以帮我们去控制某些机械设备,只要我们有对应的这个tools能够被开发出来就好了,而这个tool呢?控制它的程序就是。好,那么到我们的下一节课,会有我们从浩老师来给大家具体演示一下子,我们如何完整的通过我们腾讯云的t t circle来构建一个什么基于大语言模型,通过t circle的来构建一个完整的数据查询、统计和分析的一个这样的一个智能体应用。
我来说两句