[LangChain&LangGraph] LangChain 快速上手

配置环境 :

在 pycharm 终端使用命令安装 :

  1. 主 langchain 包 : pip install langchain
  2. langchain-core 包 : pip install langchain-core
  3. ntegrations 集成包 : pip install langchain-openai
  4. langchain-community 包 : pip install langchain-community
  5. langgraph 包 : pip install langgraph
  6. LangSmith SDK : pip install langsmith

快速上手

1️⃣在 OpenAI 官网申请 API key

https://platform.openai.com

使用前需要进行充值(需要用到模拟卡)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))

解析:

  1. model 定义并初始化大模型 , 并且在系统变量中配置 OPENAI_API_KEY , LangChain 就会自动读取 , 无需硬编码担心安全问题
  2. 定义消息列表
  • SystemMessage:系统提示词,用来给 AI 设定角色或行为规范,它在整个对话中优先级最高
  • HumanMessage:模拟用户的实际提问
  1. 直接调用大模型 result = model.invoke(message) 是 LangChain 中最基础的同步调用方法 , 会得到 token_usage 等大量信息的原始对象

  2. 定义输出解析器 : parser.invoke(result) , 将 result 传入解析器 , 就会得到最核心部分的文本回复
  3. 定义链并执行(核心) :
  • |(管道符):这是 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值