22.LangChain-基本和提示词模板
好,接下来我们来看一下这个浪漫的一个应用。这个应用我们先来看最基础的一个,就是说我们通过这个浪费,跟我们的这个大模型实现一个简单的一个交互,把这个代码我们把它直接拉过来,打开我们这个example,在这里我们去创建一下它的那个,给一个张茜基本应用一,然后把它代码拉过来。我们这边需要把我们前面的那个ENV文件把它拉过来。对吧把这EMA文件拿过来,把这EMA文件拿过来之后,我们这块要注意一下。这样的话我们有一个内容我需要打开另外一个叫好打开一下,在这边把这个内容拷贝过来,然后这个就不需要了。好,把它拉过来。拉过来之后,我在这儿,我先把这个给做掉了,然后这边放开。
好,我们来看一下,就是在这一块我们的第一个应用的话,那么首先加载我们的这个虚拟,加载我们这个环境信息对吧?加载我们的环境信息,再来有个什么fo蒙券到OpenAI,这就是我们刚刚所讲的那个依赖对吧?From chat OpenAI,得到一个chat OpenAI,LLM其实这个就有点像我们前面所讲的那个,我们的第一个例子里面对吧?第一个例子里面那么OpenAI得到一个connect,对吧?得到这个connect之后,我们这边就可以调用它里面的这个class chat completion create?调用这个交互的这API方法,然后去实现我们跟大模型的一个交互。现在在这时候我们通过这个chat OpenAI得到了对应的一个客户信息。
这个时候在我们所讲这个long券里面,它里面第二个方法是in work方法,就是IM点in work对吧?In work这个就是在lang chain里面跟大模型做交互的时候,那么它所执行一个方法,然后这边反馈一个得到一个大模型,返回一个结果,然后这边去做这个结果信息的一个详强硬。所以这一块的话看下这个代码,就是跟我们前面说相比的像这个OpenAI里面的代码,它更加的简洁一些对吧。那么它的提示词这一块,你看这一块我们就直接干嘛,我们就直接全就过去了,对吧?全就过去。好,讲这么多,我们来执行,看看效果行不行。
好,OK了,然后这一块我们可以把这个方向给关,对吧?然后这边就是content,你看什么是大模型,然后还有你的模型版本是多少?这边是content大模型,通常然后这块是大模型通常对吧大模型通常然后什么什么大模型通常指参数很大的深度性模型,通常包含数十亿到百亿个参数。那么这类模型通常需要什么什么?然后这一块就是他所具体的回复的一个完整的一个信息,对吧?信息还有你的模型是。什么版本对吧?
我们这一块可以再看一下。在现在这个时间点,它里面所对应的那个1.0,其实它这块应该是我们这么去管理的模型是GPT4SGGPT杠3.5,对吧?我们这么去问。
目前我所使用的是3.5模型,GPT是尚未发布预期什么什么,这块的话,那么这里面它默认的一个?那么我们这边可以干嘛呢?可以,如果说你想要去指定某一个特定的对吧?你想要去指定某一个我们要用的这个模型的名称,对吧?你的模型名称的model量。是什么对吧?这个就是我们可以去指定要去使用的这个模型的一个名称。那么你可以model,手动去指定这个也是可以的。
GPT3对吧?GP3这个现在是我们这已经显示指令了,对吧?显示指令的这个GP是回答还是鸡皮一声,这显然是什么?有点答非所问了对吧?有点答非所问了。好,这个是我们所讲的基本的一个应用在这里面。
好,然后我们再来看一下,这个应用之后,我们可以看一下,如果说我们想要用这个提示模板,要用这个提示模板,那么这个它的一个用法,我们可以这样把它的一个案例,我们把它拉过来,在这边建一个这个long。这个基本应用,然后把这个代码拉过来,我们来看一下,这块就是上面是一样的,获取我们这个研究对象,就是我们要去使用什么呢?要去使用这个comment对吧?那么在这儿的话,我们需要添加这个lunching里面的一个依赖,就是lunch on all点comments对吧?这个chart format template就是我们这个提示词的一个板。这个chapman template点from message,在它里面我们就提供了有一组,对吧?
提供了有一组我们卖这个partment,然后里面有C塔,有我们这个系统用户,然后有user,user里面的有一个input,input是一个什么?是一个变量,对吧?这个就是他的一个角色,您是世界级的一个技术文档编写者,对吧?然后user里面有一个input,我们要去接收。紧接着这边是我们的这个券,就是我们这个件,我们这个链,这个嵌里面有个comment,然后后面有个LLM。
那么comment跟LLM就是我们可以干嘛呢?可以把它通过这样一个竖杠树杠。这个树杠其实我们也把它称为什么?称为这个管道图?管道服务。
也就是说什么呢?也就这边就是这个comment是我们什么?是我们的支持,跟我们后面的这个LM?也就是我们先去处理我们这个comment,再把这个poete传递给我们这个LM去处理对吧?所以它有这样的一个操作,那么这一块其实就跟我们在linux里面的,linux里面的这些命令其实很像lu XPSAAX对吧?
Grab redis,就相当于我们这边去找到redis里面所有的一些进程。Group redis,通把它得到之后,再通过它去做做相关的一个过滤对吧?过滤在这一块也是comment我们什么,我们对应这个平时再把它传递给我们这个大模型,然后去做对应的处理,然后对应的response那就是欠,然后input input,然后大模型里面是什么什么什么对吧?也就这块,就是咱们这个comment里面有对应的这个占位符,有我们这个变量。这个input就是给这个comment中的这个变量做对应的一个赋值。赋完值之后,它得到了一个解析后的这样一个泡沫的。然后再把这个交给我这个大模型,得到对应的一个返回结果对吧?返回结果。好,这样一来的话,我们来执行看看对应的一个效果。
好,这块稍微等待一下,我们这边有用到这个,其实池就是模板对吧?那么它的一个应用,其实这个逻辑应该还是比较清楚的。好,完了,这个不是这个完了,是执行结束了,来看一下。你看这边是response,content content就是里面所有内容,然后你看long chat是一个什么什么,这个long time是什么?应该是从这开始对吧?
现在是一个开源的框架,主要用于构建什么什么对吧?然后主要特点面试,多模多种模型支持,集成外部工具提升工程,机制,多语言支持,那这个核心组件有哪一些?技术站有哪一些优势?结束语等等。
所以这个是我们通过什么?通过这种提示词的方式,跟我们这个浪漫通过这个浪漫跟我们的大模型做对应的一个交互吧?啊,change叫in work,这个change就上?通过这个管道图做起来的,然后in work里面执行任务的时候,就要对于我们的皮脂层里面的这个提示词里面的这个什么变量要做对应一个赋值。如果你不赋值的话,这边肯定会有对应一个报数在这里面。好,这个是我们所讲这个基本应用里面,前面的两个案例的一个讲解。