LangChain安装
要开始使用LangChain,首先需要安装相关的库:
pip install langchain
pip install langchain-openai
pip install langchain-community
pip install langgraph,grandalf
与大模型的集成
LangChain支持各种大模型,包括OpenAI的模型、智谱的GLM等,只需更改几个参数即可切换不同的模型:
llm = ChatOpenAI(
model="glm-4-plus",
temperature=1.0,
openai_api_key="your_api_key",
openai_api_base="your_api_base_url"
)
LangChain的核心概念
提示词模板
在LangChain中,提示词通常通过模板定义,支持参数化,方便动态生成提示词。两个方式的目的都是创建一个提示词模板,可以根据个人喜好选择其中一种使用。
提示词模板有两种创建方式:
1. from_template方式
使用对象方式定义模板。
from_messages方式(更常用)
json方式定义模板:
prompt = ChatPromptTemplate.from_messages([
("system", "请把下面的语句翻译成{language}"),
("user", "{user_text}")
])
LangChain Expression Language (LCEL)
LCEL允许开发者以声明式的方式链接各个组件,使用竖线"|"操作符来连接不同的组件,创建复杂的处理流程,比如某节点循环、重复等。
串行/并行
-
串行执行:节点按顺序依次执行,前一个节点的输出作为后一个节点的输入。这是最常见的模式,如我们之前示例中的链式结构。
-
并行执行:多个节点同时接收相同的输入,各自处理后再汇总结果。这对于需要从不同角度分析同一数据的场景特别有用。
# 串行执行示例
serial_chain = node1 | node2 | node3
# 并行执行示例
parallel_chain = (node1 & node2 & node3) | combine_results
链可能会越来越复杂,以下可以可视化链
# 可视化链结构
chain.get_graph().print_ascii()

使用串行链案例
# 定义大模型
llm = ChatOpenAI(
model="glm-4-plus",
temperature=1.0,
openai_api_key="your_api_key",
openai_api_base="your_api_base_url"
)
# 创建提示词模板
prompt = ChatPromptTemplate.from_messages([
("system", "请把下面的语句翻译成{language}"),
("history", MessagePlaceholder(variable_name="history")),
("user", "{user_text}")
])
# 创建链
chain = prompt | llm | StrOutputParser()
# 调用链并传参
result = chain.invoke({
"language": "日文",
"user_text": "

最低0.47元/天 解锁文章
5211

被折叠的 条评论
为什么被折叠?



