一架梯子,一头程序猿,仰望星空!
LangChain教程(Python版本) > 内容正文

LangChain 快速入门


1. 快速入门

下面介绍langchain的简单例子,如何通过langchain框架调用模型完成任务。

2. Langchain例子

2.1. 安装LangChain

要安装LangChain,可以使用Pip和Conda进行安装。以下是安装LangChain的步骤:

使用Pip:

pip install langchain

使用Conda:

conda install langchain -c conda-forge

2.2. 初始化模型

在使用LangChain之前,需要导入LangChain x OpenAI集成包,并设置API密钥作为环境变量或直接传递给OpenAI LLM类。

首先,获取OpenAI的API密钥,可以通过创建账户并访问此链接来获取。然后,可以将API密钥设置为环境变量,方法如下:

export OPENAI_API_KEY="YOUR_API_KEY"

接下来,初始化模型:

from langchain_openai import ChatOpenAI

llm = ChatOpenAI()

如果不希望设置环境变量,可以在初始化OpenAI LLM类时直接传递API密钥:

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(openai_api_key="YOUR_API_KEY")

2.3. 使用LLM

使用LLM来回答问题非常简单。可以直接调用LLM的invoke方法,并传入问题作为参数。此外,还可以通过提示模板(prompt template)生成提示词,用于向模型(LLM)发送指令。

下面演示了如何构建一个简单的LLM链(chains):

from langchain_core.prompts import ChatPromptTemplate

# 创建一个提示模板(prompt template)
# 这里以对话模型的消息格式为例子,不熟悉openai对话模型消息格式,建议先学习OpenAI的API教程
# 下面消息模板,定义两条消息,system消息告诉模型扮演什么角色,user消息代表用户输入的问题,这里用了一个占位符{input} 代表接受一个模版参数input。
prompt = ChatPromptTemplate.from_messages([
    ("system", "You are world class technical documentation writer."),
    ("user", "{input}")
])

# 基于LCEL 表达式构建LLM链,lcel语法类似linux的pipeline语法,从左到右按顺序执行
# 下面编排了一个简单的工作流,首先执行prompt完成提示词模板(prompt template)格式化处理, 然后将格式化后的prompt传递给llm模型执行,最终返回llm执行结果。
chain = prompt | llm

# 调用LLM链并设置模板参数input,  invoke会把调用参数传递给prompt提示模板,开始chain定义的步骤开始逐步执行。
chain.invoke({"input": "how can langsmith help with testing?"})

2.4. 输出转换

LLM的输出通常是一条消息,为了更方便处理结果,可以将消息转换为字符串。下面展示如何将LLM的输出消息转换为字符串:

from langchain_core.output_parsers import StrOutputParser

# 创建一个字符串输出解析器
output_parser = StrOutputParser()

# 将输出解析器添加到LLM链中,跟前面的例子,区别就是工作流编排,最后一步将llm模型输出的结果传递给output_parser进行格式转换
chain = prompt | llm | output_parser

# 调用LLM链并提出问题
chain.invoke({"input": "how can langsmith help with testing?"})

以上是关于LLM链的介绍,希望能帮助您更好地理解如何安装LangChain并构建不同类型的链。



关联主题