AI创想

标题: 【LangChain入门 6 Chain组件】单链和多链 [打印本页]

作者: zuo    时间: 昨天 09:53
标题: 【LangChain入门 6 Chain组件】单链和多链
作者:CSDN博客
一、单链

1.1 LCEL的语法

| 为关键字,使用 | 作为链接符号
  1. from langchain_core.output_parsers import StrOutputParser
  2. from langchain_ollama import ChatOllama
  3. llm = ChatOllama( model="deepseek-r1:7b")
  4. parser = StrOutputParser()# 加了这段后,会讲Chunk类转化成字符串,也就是获取Chunk类中的content内容
  5. chain = prompt | llm | parser  # 使用LCEL语法创建链
  6. response = chain.invoke({"input":"宠物"})print(response)
复制代码
1.2 LLMChain

LLMChain 是 LangChain 中最基本且最常用的链式结构,广泛应用于 LangChain 的其他复杂链和代理程序中。它由以下两个主要部分组成:
  1. from langchain.chains import LLMChain
  2. from langchain_core.prompts import ChatPromptTemplate
  3. # 1 实例化模型
  4. llm = ChatOllama( model="deepseek-r1:7b")# 2 定义模板
  5. prompt = ChatPromptTemplate.from_template("给我取一个关于{input}的店名")# 3 构建Chain,将大模型与prompt组合在一起
  6. chain = LLMChain(prompt=prompt, llm=llm)# 4 执行Chain
  7. response = chain.invoke({"input":"宠物"})print(response)
  8. input_list =[{"input":"宠物"},{"input":"鲜花"}]
  9. response = chain.apply(input_list)# 批量输出
复制代码
三、多链组装

将多个链条融合在一起
LangChain 提供了强大的多链功能,允许用户通过组合多个链(Chain)来实现复杂的任务。这些链可以按顺序执行,也可以并行执行,从而实现高效的模型协作和协调
  1. from langchain_ollama import ChatOllama
  2. from langchain_core.prompts import ChatPromptTemplate
  3. from langchain.chains import SimpleSequentialChain, LLMChain
  4. prompt = ChatPromptTemplate.from_template("给我取一个关于{input}的店名")
  5. llm = ChatOllama( model="deepseek-r1:7b")
  6. prompt_second = ChatPromptTemplate.from_template("给我的跑车取一个关于{input}的名字")
  7. first_chain = LLMChain(prompt=prompt, llm=llm)# 创建第一个链
  8. second_chain = LLMChain(prompt=prompt_second, llm=llm)
  9. all_chain = SimpleSequentialChain(chains=[first_chain, second_chain],
  10.                                   verbose=True)
  11. response = all_chain.invoke({"input":"狗"})
复制代码
原文地址:https://blog.csdn.net/hjxu2016/article/details/146395479




欢迎光临 AI创想 (https://www.llms-ai.com/) Powered by Discuz! X3.4