配置环境 :
在 pycharm 终端使用命令安装 :
- 主 langchain 包 : pip install langchain
- langchain-core 包 : pip install langchain-core
- ntegrations 集成包 : pip install langchain-openai
- langchain-community 包 : pip install langchain-community
- langgraph 包 : pip install langgraph
- LangSmith SDK : pip install langsmith
快速上手
1️⃣在 OpenAI 官网申请 API key
使用前需要进行充值(需要用到模拟卡)AiSubHub - AI订阅虚拟卡
2️⃣需要配置系统变量
可以参考以下文章
https://www.yuque.com/u29274559/vaxxp0/gdmduq25hh679ruz
OPENAI_API_KEY 你的APIkey
注意 : 配置完系统变量需要将 pycharm 重启以自动重新加载配置 , 或者手动配置
3️⃣执行步骤:
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI
# 1.定义大模型
# 默认从系统环境中读取 OENAI_API_KEY
model=ChatOpenAI(model="gpt-4o-mini")
# 2.定义消息
# 用户消息(HumanMessage)
# 系统提示消息(SystemMessage)通常作为第一条输入
message=[
SystemMessage(content="请帮我进行翻译,由英文翻译成中文!"),
HumanMessage(content="hi!")
]
# 3.调用大模型
result = model.invoke(message)
# print(result)
# 4.定义输出解析器
parser = StrOutputParser()
# print(parser.invoke(result))
# 5.定义链并执行链
chain = model | parser
print(chain.invoke(message))
解析:
- model 定义并初始化大模型 , 并且在系统变量中配置 OPENAI_API_KEY , LangChain 就会自动读取 , 无需硬编码担心安全问题
- 定义消息列表
SystemMessage:系统提示词,用来给 AI 设定角色或行为规范,它在整个对话中优先级最高HumanMessage:模拟用户的实际提问
- 直接调用大模型 result = model.invoke(message) 是 LangChain 中最基础的同步调用方法 , 会得到 token_usage 等大量信息的原始对象

- 定义输出解析器 : parser.invoke(result) , 将 result 传入解析器 , 就会得到最核心部分的文本回复
- 定义链并执行(核心) :
|(管道符):这是 LangChain 的 LCEL(LangChain Expression Language)语法。它的作用是把多个组件像流水线一样串联起来。在这里,model | parser的意思是:先让模型(model)处理输入,然后把模型的输出自动传给解析器(parser)处理chain.invoke(message):当你调用这条组合好的“链”时,数据会按顺序流转。最终打印出来的结果将是一个干干净净的字符串,而不再是复杂的对象
LangChain 相关概念
1.Runnable 接口
使用的是 LangComponent 的基础
组件(Components) 用来帮助我们在构建应用程序时,提供一系列的核心构造快,例如语言模型,输出解析器,检索器,编译的 LangGraph 图
简单介绍一下 Runnable 部分组件
- Involed(调用) : 单个输入转换为输出
- Batched(预处理) : 多个输入被有效地转换为输出
- Streamed(流式传输) : 输出在生产时进行流失输出
- Inspected(检查) : 可以访问有关 Runnable 的输入,输出,配置的原理图信息
- Composed(组合) : 可以组合多个 Runnable , 以使用 LCEL 协同工作以创建复杂的管道

以下是 LangChain 官网对 Runnable 的介绍
Runnable | langchain_core | LangChain Reference
2.LangChain Expression Language(LCEL) :
LangChain Expression Language : 采用声明性方法 , 从现有 Runnable 对象构建新的 Runnable 对象(RunnableSequence)
RunnableSequence : 表示可运行的序列 是 Runnable 的实例;

| 管道符: 作用 是将上一个可运行对像的.invoke() 调用的输出作为输入传递给下一个可运行对像
三种调用链的方式
# chain = model | parser
# chain = RunnableSequence(first=model,last=parser)
chain = model.pipe(parser)
2825

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



