P1 LangChain 的快速上手
0 观前须知
- 大家好,这里是 Yukiii,一个对大模型落地应用开发感兴趣的研0学生,正在自主学习开发所需的各种技能(并且被八股折磨中),期待如果有志同道合(LangChain或八股或开发)的小伙伴请私信我,大家一起学习 😃
- LangChain 是一个使开发者更容易地构建和部署基于 LLM 的应用程序,简化与语言模型的交互。接下来,我将持续记录自己学习 LangChain 的学习过程,本篇先介绍如何快速上手 LangChain,我的学习过程只注重如何使用,并不在意其底层实现。
1 环境配置
- 在使用前需要
pip install
几个包,并且申请希望实用的模型的API_KEY
,非常简单,要安装的包有:
pip install langchain
pip install -qU langchain-openai
pip install langchain_community
- 演示一下如何申请模型的
API_KEY
,以智谱为例,可以在API keys
页面创建新的API_KEY
:
在申请完成之后,在自己的程序中添加如下环境设置:
import os
os.environ["OPENAI_API_KEY"] = <YOUR_API_KEY>
os.environ["OPENAI_API_BASE"] = "https://open.bigmodel.cn/api/paas/v4/"
- (可选) LangSmith 是一个用于监控跟踪模型调用情况的工具,可以添加配置以测试自己模型的调用情况,同样需要申请
API_KEY
,可以在设置中进入如下界面并且申请:
申请完成后,同样需要添加环境设置:
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = <YOUR_API_KEY>
2 工具的介绍及使用
首先,让我们先认识几个 LangChain 的工具:
- model: 您选择使用的模型,模型具体的信息都可以在开发文档中查看,比如智谱AI的官方文档。
- StrOutputParser(): 通常模型的输入会带有一些提示信息,使用输出转换器可以只保留模型的回复。
- PromptTemplate: 提示词模板,用于接受用户的输入,并返回输入给大模型的 prompt 信息。
- chain: 按顺序连接
LangChain
模块,将从用户输入依次执行各个模块。
这样说还有些模糊,让我们用代码演示一下各个工具的功能,注意观察如何使用,及其各自的输出。
- 首先观察一下
model
和StrOutputParser()
的使用,这里我用的模型是GLM-4-Air
,您当然可以按照自己的喜好选择模型(开发文档中有对各模型的介绍),如果选择用其他公司的模型记得把OPENAI-API-BASE
的配置改成相应的url
。
import os
from langchain_core.messages import SystemMessage, HumanMessage
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
os.environ["LANGCHAIN_TRACING_V2"