LangChain-07 Multiple Chains 多链串联

2024-04-06 04:44

本文主要是介绍LangChain-07 Multiple Chains 多链串联,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Runnables can easily be used to string together multiple Chains
Runnables 可以很容易地用于将多个链串在一起
请添加图片描述

安装依赖

pip install --upgrade --quiet  langchain-core langchain-community langchain-openai

编写代码

from operator import itemgetterfrom langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAIprompt1 = ChatPromptTemplate.from_template("what is the city {person} is from?")
prompt2 = ChatPromptTemplate.from_template("what country is the city {city} in? respond in {language}"
)model = ChatOpenAI(model="gpt-3.5-turbo",
)chain1 = prompt1 | model | StrOutputParser()chain2 = ({"city": chain1, "language": itemgetter("language")}| prompt2| model| StrOutputParser()
)message = chain2.invoke({"person": "obama", "language": "spanish"})
print(f"message: {message}")

观察代码

chain1 = prompt1 | model | StrOutputParser()chain2 = ({"city": chain1, "language": itemgetter("language")}| prompt2| model| StrOutputParser()
)

我们可以发现, chian1chian2 可以很方便的串联在一起,方便我们进行扩展。

运行结果

➜ python3 test07.py
message: Chicago, Illinois, se encuentra en los Estados Unidos.

在这里插入图片描述

这篇关于LangChain-07 Multiple Chains 多链串联的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879018

相关文章

07 v-if和v-show使用和区别

划重点: v-ifv-show 小葱拌豆腐 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="

java基础总结07-面向对象3(this关键字)

this是一个引用,它指向自身的这个对象。 看内存分析图 假设我们在堆内存new了一个对象,在这个对象里面你想象着他有一个引用this,this指向这个对象自己,所以这就是this,这个new出来的对象名字是什么,我们不知道,不知道也没关系,因为这并不影响这个对象在内存里面的存在,这个对象只要在内存中存在,他就一定有一个引用this。 看下面的例子分析: package cn.ga

【SpringMVC学习07】SpringMVC与前台的json数据交互

json数据格式在接口调用中、html页面中比较常用,json格式比较简单,解析也比较方便,所以使用很普遍。在springmvc中,也支持对json数据的解析和转换,这篇文章主要总结一下springmvc中如何和前台交互json数据。 1. 两种交互形式  springmvc和前台交互主要有两种形式,如下图所示: 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种

周末总结(2024/09/07)

工作 人际关系核心实践: `要学会随时回应别人的善意,执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己,抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内,职场社交不要放在5min以外 职场的人际关系在面对利益冲突是直接质疑,要快准狠,不要内耗、 回复消息要控制在30mins之内,一定要及时回复`` 工作上的要点 现状(已经提了离职,last day在9月20号)

2024.09.07【读书笔记】| SMRTLink工具对PB组装疑难解答

在使用SMRT Link的pb_assembly_hifi命令进行组装分析时,可以参考以下步骤和信息: 使用pbcromwell show-workflow-details pb_assembly_hifi命令查看该工作流的详细信息。这将帮助你了解所需的输入参数和可选输入参数。 根据工作流的要求,你需要准备相应的输入文件。例如,对于单样本基因组组装,需要CCS(连续测序)的fastq文件路径作

LLM大模型教程:langchain 教程

软件安装 pip install pymupdfpip install langchainpip install langchain-cliconda install -c pytorch -c nvidia faiss-gpu=1.7.4 mkl=2021 blas=1.0=mkl 由于langchain不支持qwen模型,我们需要自定义模型 from typing import A

Stripe data files across multiple physical devices and locations

Stripe data files across multiple physical devices and locations 如果在没有做条带的磁盘(即从存储到OS没有做raid),那么就需要手工去做I/O的分布。切记,不应该将频繁使用的table和其index分开,这样会正大I/O; 针对tables、indexes、temp tablespace,首先调优SQL,其次如果真心无法再

【LeetCode】07.整数反转

题目要求 解题思路 这道题的难点在于怎么判断越界,我们无法直接与最大值或最小值比较,但是由于每一次我们的ret都需要乘10这个特性来使用ret与最大值或最小值除10进行比较 代码实现 class Solution {public:int reverse(int x) {int ret=0;while(x){//处理越界情况if(ret<INT_MIN/10||ret>INT_MAX

【大数据Java基础-JAVA 面向对象07】类成员(二)类结构 方法(四)递归方法

1.定义: 递归方法:一个方法体内调用它自身。 2.如何理解递归方法? > 方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。 > 递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。 3.举例: // 例1:计算1-n之间所自然数的和 public int getSum(int n) {// 3if (n == 1) {return 1;}

Kubernetes学习指南:保姆级实操手册07——calico安装、metric-server安装一、calico

七、Kubernetes学习指南:保姆级实操手册07——calico安装、metric-server安装 一、calico Calico是一个开源的虚拟化网络方案,支持基础的Pod网络通信和网络策略功能。 官方文档:Quickstart for Calico on Kubernetes | Calico Documentation 1、calico安装 ### 在Master控制节点执行