🚀 快速入门 | Langchain
为了启动你的 Langchain 之旅,首先确保通过 pip install langchain
安装此库。别忘了获取和设置 OpenAI 的 API 密钥,以便无缝访问其 API 功能。Langchain 主要组件包括 LLMChain、Prompt Templates 和 Output Parsers,它们协同工作构建应用程序逻辑。了解 LLMs 和 ChatModels 的区别至关重要,通过 HumanMessage、AIMessage 等角色区分消息类型,为构建复杂交互奠定基础。利用 Prompt Templates 格式化输入,为语言模型提供执行任务的指令。而 Output Parsers 则负责解析模型响应,将其转换为可操作的格式。通过 LLMChain,整合提示模板、语言模型和输出解析器,轻松实现特定任务自动化。随实践深入,你将构建出更多功能丰富的应用程序。
安装与环境设置
要安装 Langchain,可以通过以下命令直接执行:
pip install langchain
为了在需要时访问 OpenAI 的 API,你需要先获取一个 API 密钥。你可以通过访问 OpenAI 的官方网站并创建一个账号来获取。接下来,将此密钥设置为环境变量:
export OPENAI_API_KEY="你的API密钥"
或在代码中直接注入密钥:
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="你的API密钥")
构建应用程序
Langchain 的核心构建模块包括 LLMChain、Prompt Templates 和 Output Parsers。这些组件可以用来构建和封装应用程序逻辑。我们首先来了解如何使用这些组件。
LLMs (语言模型)
ChatModels vs. LLMs
在 Langchain 中,语言模型可以分为两种主要类型:
- LLMs (语言模型):接收文本输入并返回文本响应的模型。
- ChatModels:接收消息列表作为输入并返回消息的模型。
角色区分:
- HumanMessage、AIMessage、SystemMessage 与 FunctionMessage 分别代表来自人类、AI、系统和函数调用的消息。
from langchain.schema import HumanMessage
from langchain.chat_models import ChatOpenAI
chat_model = ChatOpenAI()
human_input = HumanMessage(content="你好,我叫小明,我喜欢编程。")
chat_response = chat_model(human_input)
Prompt Templates (提示模板)
提示模板用于格式化输入,提供给语言模型以完成特定任务。它们可以通过填充模板变量来实现不同的指令和上下文。
from langchain.prompts import PromptTemplate
template = "给定以下 {context},请生成一个有关它的故事。"
prompt = PromptTemplate(template=template)
context = "夏天的傍晚,我在海边散步。"
story = prompt.format(context=context)
Output Parsers (输出解析器)
输出解析器用于处理模型的响应,将其转换为更易于处理的格式。
from langchain.schema import BaseOutputParser
class ListOutputParser(BaseOutputParser):
def parse(self, text: str):
return [item.strip() for item in text.split(",")]
parser = ListOutputParser()
output = parser.parse("苹果, 香蕉, 西瓜")
LLMChain (链组件)
LLMChain 将提示模板、语言模型和(可选)输出解析器相结合,用于执行特定任务。
from langchain.chains import LLMChain
chain = LLMChain(prompt=prompt, llm=llm, output_parser=parser)
result = chain.invoke({"context": "夏天的傍晚,我在海边散步。"})
通过以上介绍,你已经初步了解了 Langchain 的基本原理和使用方法。Langchain 提供了一个灵活且强大的框架,用于构建各种基于语言模型的应用程序。随着你深入探索和实践,你将能够构建出更多复杂且功能丰富的应用程序。
共同学习,写下你的评论
评论加载中...
作者其他优质文章