当前位置: 首页 > wzjs >正文

网站页面做成自适应优缺点国内时事新闻

网站页面做成自适应优缺点,国内时事新闻,网站建设规模,芜湖哪些公司做公司网站上一节课中,我带着你学习了 Chain 的基本概念,还使用了 LLMChain 和 SequencialChain,这一节课,我们再来看看其他类型的一些 Chain 的用法。 任务设定 首先,还是先看一下今天要完成一个什么样的任务。 这里假设咱们的…

上一节课中,我带着你学习了 Chain 的基本概念,还使用了 LLMChain 和 SequencialChain,这一节课,我们再来看看其他类型的一些 Chain 的用法。

任务设定

首先,还是先看一下今天要完成一个什么样的任务。
这里假设咱们的鲜花运营智能客服 ChatBot 通常会接到两大类问题。

  1. 鲜花养护(保持花的健康、如何浇水、施肥等)
  2. 鲜花装饰(如何搭配花、如何装饰场地等)

你的需求是,如果接到的是第一类问题,你要给 ChatBot A 指示;如果接到第二类的问题,你要给 ChatBot B 指示。

在这里插入图片描述
我们可以根据这两个场景来构建两个不同的目标链。遇到不同类型的问题,LangChain 会通过 RouterChain 来自动引导大语言模型选择不同的模板。
当然我们的运营过程会遇到更多种类的问题,你只需要通过同样的方法扩充逻辑即可。

整体框架

RouterChain,也叫路由链,能动态选择用于给定输入的下一个链。我们会根据用户的问题内容,首先使用路由器链确定问题更适合哪个处理模板,然后将问题发送到该处理模板进行回答。如果问题不适合任何已定义的处理模板,它会被发送到默认链。
在这里,我们会用 LLMRouterChain 和 MultiPromptChain(也是一种路由链)组合实现路由功能,该 MultiPromptChain 会调用 LLMRouterChain 选择与给定问题最相关的提示,然后使用该提示回答问题。

具体步骤如下:

  1. 构建处理模板:为鲜花护理和鲜花装饰分别定义两个字符串模板。
  2. 提示信息:使用一个列表来组织和存储这两个处理模板的关键信息,如模板的键、描述和实际内容。
  3. 初始化语言模型:导入并实例化语言模型。
  4. 构建目标链:根据提示信息中的每个模板构建了对应的 LLMChain,并存储在一个字典中。
  5. 构建 LLM 路由链:这是决策的核心部分。首先,它根据提示信息构建了一个路由模板,然后使用这个模板创建了一个 LLMRouterChain。
  6. 构建默认链:如果输入不适合任何已定义的处理模板,这个默认链会被触发。构建多提示链:使用 MultiPromptChain 将 LLM 路由链、目标链和默认链组合在一起,形成一个完整的决策系统。

具体实现

下面,就是用路由链自动选择处理模板的具体代码实现。

构建提示信息的模板

首先,我们针对两种场景,构建两个提示信息的模板。


# 构建两个场景的模板
flower_care_template = """你是一个经验丰富的园丁,擅长解答关于养花育花的问题。下面是需要你来回答的问题:{input}"""flower_deco_template = """你是一位网红插花大师,擅长解答关于鲜花装饰的问题。下面是需要你来回答的问题:{input}"""# 构建提示信息
prompt_infos = [{"key": "flower_care","description": "适合回答关于鲜花护理的问题","template": flower_care_template,},{"key": "flower_decoration","description": "适合回答关于鲜花装饰的问题","template": flower_deco_template,}]

初始化语言模型

接下来,我们初始化语言模型。

# 初始化语言模型
from langchain.llms import OpenAI
import os
os.environ["OPENAI_API_KEY"] = '你的OpenAI Key'
llm = OpenAI()

构建目标链

下面,我们循环 prompt_infos 这个列表,构建出两个目标链,分别负责处理不同的问题。

# 构建目标链
from langchain.chains.llm import LLMChain
from langchain.prompts import PromptTemplate
chain_map = {}
for info in prompt_infos:prompt = PromptTemplate(template=info['template'], input_variables=["input"])print("目标提示:\n",prompt)chain = LLMChain(llm=llm, prompt=prompt,verbose=True)chain_map[info["key"]] = chain

这里,目标链提示是这样的:

目标提示:
input_variables=['input'] 
output_parser=None partial_variables={} 
template='你是一个经验丰富的园丁,擅长解答关于养花育花的问题。\n                        下面是需要你来回答的问题:\n                        
{input}' template_format='f-string' 
validate_template=True目标提示:
input_variables=['input'] 
output_parser=None partial_variables={} 
template='你是一位网红插花大师,擅长解答关于鲜花装饰的问题。\n                        下面是需要你来回答的问题:\n                        
{input}' template_format='f-string' 
validate_template=True

对于每个场景,我们创建一个 LLMChain(语言模型链)。每个链会根据其场景模板生成对应的提示,然后将这个提示送入语言模型获取答案。

构建路由链

下面,我们构建路由链,负责查看用户输入的问题,确定问题的类型。

# 构建路由链
from langchain.chains.router.llm_router import LLMRouterChain, RouterOutputParser
from langchain.chains.router.multi_prompt_prompt import MULTI_PROMPT_ROUTER_TEMPLATE as RounterTemplate
destinations = [f"{p['key']}: {p['description']}" for p in prompt_infos]
router_template = RounterTemplate.format(destinations="\n".join(destinations))
print("路由模板:\n",router_template)
router_prompt = PromptTemplate(template=router_template,input_variables=["input"],output_parser=RouterOutputParser(),)
print("路由提示:\n",router_prompt)
router_chain = LLMRouterChain.from_llm(llm, router_prompt,verbose=True)

输出:
在这里插入图片描述

这里我说一下路由器链是如何构造提示信息,来引导大模型查看用户输入的问题并确定问题的类型的。

先看路由模板部分,这段模板字符串是一个指导性的说明,目的是引导语言模型正确处理用户的输入,并将其定向到适当的模型提示。

这里我说一下路由器链是如何构造提示信息,来引导大模型查看用户输入的问题并确定问题的类型的。

先看路由模板部分,这段模板字符串是一个指导性的说明,目的是引导语言模型正确处理用户的输入,并将其定向到适当的模型提示。

  1. 路由模板的解释
    路由模板是路由功能得以实现的核心。我们来详细分解一下这个模板的每个部分。

在这里插入图片描述

在这里插入图片描述

  1. 路由提示的解释

在这里插入图片描述

在这里插入图片描述


# 构建多提示链
from langchain.chains.router import MultiPromptChain
chain = MultiPromptChain(router_chain=router_chain,destination_chains=chain_map,default_chain=default_chain,verbose=True)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结时刻

在这里插入图片描述

http://www.dtcms.com/wzjs/450382.html

相关文章:

  • qq小程序下载沈阳seo优化排名公司
  • 手机销售网站建设项目书中国网评中国网评
  • 自己怎么做视频网站2345网址导航浏览器
  • 我想在购物网站做代理大众网疫情最新消息
  • 大数据 做网站流量统计市场调研报告怎么写
  • 网站建设中 gif厦门人才网
  • 甘肃城乡建设局安全质量网站杭州企业seo
  • 怎样建小型网站济南疫情最新情况
  • 网站的优化 设计站长之家最新域名查询
  • 上网站乱码360手机优化大师安卓版
  • 传奇私服发布网网站建设注册域名在哪里注册
  • wordpress公司网站插件网络营销专业是干嘛的
  • 公众号推送怎么制作长沙做优化的公司
  • 美女做暖暖视频的网站seo域名综合查询
  • 做网站需要提供什么资料推广自己的产品
  • 个人购物网站备案哈尔滨网络推广优化
  • 湛江建设企业网站b站不收费网站
  • 那个网站教你做毕设的seo是什么服务
  • 网页微信版收藏健山东seo
  • 做购物网站的开题报告seo教程seo教程
  • 虚拟机做网站有用吗互动营销名词解释
  • 哪里网站建设公司好曹操博客seo
  • 什么网站可以做翻译兼职seo排名优化公司
  • 访问网站的原理常用的搜索引擎有哪些?
  • 表白网站是怎么做的网站推广关键词工具
  • 网站开发职业定位产品推广方式
  • 红桥网站建设公司站长工具ip查询
  • 江镇做包子网站新网站百度seo如何做
  • 制作网站的模板下载软件百度新闻搜索
  • 一台ip做两个网站google登录入口