基于LangChain的RAG与Agent智能体开发 - RunnableLambda实现复杂多模型链路调用

大家好,我是小锋老师,最近更新《2027版 基于LangChain的RAG与Agent智能体 开发视频教程》专辑,感谢大家支持。

本课程主要介绍和讲解RAG,LangChain简介,接入通义千万大模型 ,Ollama简介以及安装和使用,OpenAI 库介绍和使用,以及最重要的基于LangChain实现RAG与Agent智能体开发技术。

视频教程+课件+源码打包下载 :

链接:https://pan.baidu.com/s/1_NzaNr0Wln6kv1rdiQnUTg

提取码:0000

基于LangChain的RAG与Agent智能体开发 - RunnableLambda实现复杂多模型链路调用

前面示例都是比较简单的链路调用,但是在实际开发中,我们经常需要做复杂的多模型链路调用,也就是调用模型生成的内容之后,继续做下处理,继续调用模型。这里面涉及到格式问题了。传入下一个模型的比如字典格式。

我们可以通过RunnableLambda类来实现格式的转换。

我们来看一个示例:

复制代码
from langchain_community.llms.tongyi import Tongyi
from langchain_core.prompts import PromptTemplate
from langchain_core.runnables import RunnableLambda

# 定义一个模板,包含两个变量:product 和 price
template = "我的所在的行业是:{sector},哪个细分领域职位最有前途,直接告诉我职位名字即可"

# 创建 PromptTemplate 对象
prompt = PromptTemplate(
    input_variables=["sector"],  # 输入变量
    template=template  # 模板
)

# 再定义一个模板,包含一个变量:name
template2 = "请用简单的话描述下:{name}这个职位。最后再回答下:{extra}"

# 创建 PromptTemplate 对象
prompt2 = PromptTemplate(
    input_variables=["name", "extra"],  # 输入变量
    template=template2  # 模板
)

model = Tongyi(model="qwen-plus")  # 创建模型

# myfunc = RunnableLambda(lambda x: {"name": x})

# 创建链式调用
chain = prompt | model | (lambda x: {"name": x, "extra": "这个职位在北京5年经验年薪平均多少万?"}) | prompt2 | model

# 调用模型
result = chain.stream(input={"sector": "IT"})
for chunk in result:
    print(chunk, end="", flush=True)

运行输出:

相关推荐
浪子明X18 小时前
LangChain 接入 Embedding 之前:先画清文本、向量与检索器的契约
人工智能·langchain·embedding
大连好光景19 小时前
LangChain是干啥的?有哪些核心组件?
langchain·ai应用
不会就选b19 小时前
Langchain基础(二)
langchain
JWASX20 小时前
【agent 开发】agent 开发学习 - LangChain(3)
学习·langchain
范中勤20 小时前
LLM 动态加载与多用户缓存架构技术文档
redis·langchain·llm·缓存架构·多用户隔离
流浪00121 小时前
大模型技术全景(二十):RAG 文本分块策略与语义完整性
llm·rag·文本分块·语义完整性
一木 之林21 小时前
Dify学习笔记 00 · 总览:56集四模块学习地图(从低代码平台到检索底座)
人工智能·计算机视觉·langchain
JWASX21 小时前
【agent 开发】agent 开发学习 - LangChain(2)
python·学习·langchain
小易老师AI实战21 小时前
企业生产级RAG知识库搭建实战:解决大模型幻觉与检索失效问题
rag·检索增强生成·大模型工程化·知识库系统·企业级大模型落地
10年前端老司机1 天前
你的RAG检索正在“高效地重复废话”:一文彻底搞懂MMR算法
langchain·llm·agent