大家好!最近很多小伙伴问我:“大语言模型(LLM)很厉害,但怎么把它做成能实际用的工具呢?” 今天就来给大家介绍一个超好用的框架 ——LangChain。它就像 “大语言模型的乐高积木”,能帮我们轻松把 LLM 和各种工具、数据拼起来,做成各种实用应用。哪怕你是编程小白,跟着这篇文章一步步做,也能快速上手!
一、先搞懂:LangChain 到底是什么?
简单说,LangChain 是一个帮我们 “操控” 大语言模型的框架。
平时我们用 ChatGPT,只能打字问问题,但如果想让模型做更复杂的事(比如:先分析用户评论,再翻译成英文,最后生成回复),就需要一步步 “串联” 起来。LangChain 的核心就是 “链(Chains)”—— 把大语言模型(LLM)和提示词(Prompt)、工具等组合起来,让它们按顺序完成任务。
打个比方:如果 LLM 是 “厨师”,提示词是 “菜谱”,那 “链” 就是 “做菜的步骤”—— 先切菜、再翻炒、最后装盘,一步步完成一道菜。
二、基础中的基础:大语言模型链(LLMChain)
LLMChain 是最简单的链,就像 “单步骤做菜”:把 “提示词模板” 和 “大语言模型” 绑在一起,输入内容就能直接出结果。
2.1 手把手实操:用 LLMChain 给产品起公司名
比如我们有个产品叫 “大号床单套装”,想让模型帮我们起个合适的公司名,步骤如下:
第一步:准备工作(导入工具)
首先要导入 LangChain 的相关工具,就像做菜前先把锅碗瓢盆摆出来:
import warnings
warnings.filterwarnings('ignore') # 忽略一些不重要的警告
# 导入大语言模型、提示模板、LLMChain
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.chains import LLMChain
第二步:初始化大语言模型
选一个大语言模型(这里用 OpenAI 的模型),temperature
参数控制生成结果的随机性(0.0 表示结果固定,1.0 表示更灵活):
llm = ChatOpenAI(temperature=0.0) # 用OpenAI模型,固定结果
第三步:写提示词模板
告诉模型要做什么,用{product}
表示 “要替换的产品名”(类似填空题):
prompt = ChatPromptTemplate.from_template(
"描述制造{product}的一个公司的最佳名称是什么?"
)
第四步:构建 LLMChain
把模型和提示词模板 “绑” 在一起,形成一条链:
chain = LLMChain(llm=llm, prompt=prompt) # 模型+提示词=链
第五步:运行链,看结果
输入产品名,让链工作:
product = "大号床单套装"
result = chain.run(product) # 运行链
print(result)
输出结果(类似):
"豪华床纺"
是不是很简单?LLMChain 的核心就是 “输入→提示词格式化→模型输出”,一步到位。
三、多步骤任务:顺序链(SequentialChains)
如果任务需要多步完成(比如 “先起名,再写公司描述”),就需要顺序链—— 让多个 LLMChain 按顺序执行,上一步的输出作为下一步的输入。
3.1 简单顺序链(SimpleSequentialChain):单输入单输出
适合 “一步接一步” 的简单任务,比如:先给产品起公司名,再根据公司名写描述。