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并构建不同类型的链。