博主原文链接:https://www.yourmetaverse.cn/nlp/511/
LangChain的简单使用介绍
欢迎来到LangChain的世界!今天,我们将一起探索LangChain的基本使用方法,以便您能快速上手这个强大的工具。
初步设置
首先,您需要安装LangChain。可以通过Pip或Conda进行安装:
- 使用Pip:
pip install langchain
- 使用Conda:
conda install langchain -c conda-forge
LangChain的使用通常需要与模型提供商、数据存储、API等进行集成。例如,我们将使用OpenAI的模型API。首先需要安装OpenAI的Python包:pip install openai
。然后,获取API密钥并将其设置为环境变量:export OPENAI_API_KEY="..."
。
基础组件
LangChain提供了多个模块,用于构建语言模型应用。这些模块可单独使用,也可组合使用以实现更复杂的用例。基本组件包括:
- LLM/聊天模型:语言模型是这里的核心推理引擎。
- 提示模板:向语言模型提供指令,控制其输出。
- 输出解析器:将语言模型的原始响应转换为更易使用的格式。
组合使用LCEL
LangChain表达式语言(LCEL)允许您将这些组件合并成一个链。例如,可以创建一个链来接收输入变量,通过提示模板生成提示,将提示传递给语言模型,然后通过(可选的)输出解析器处理输出。使用|
语法将这些组件连接起来,如下示例所示:
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.schema import BaseOutputParserclass CommaSeparatedListOutputParser(BaseOutputParser[List[str]]):"""Parse the output of an LLM call to a comma-separated list."""def parse(self, text: str) -> List[str]:"""Parse the output of an LLM call."""return text.strip().split(", ")# 示例模板
template = "..."
chat_prompt = ChatPromptTemplate.from_messages([...])
chain = chat_prompt | ChatOpenAI() | CommaSeparatedListOutputParser()
chain.invoke({"text": "colors"})
这种方法便于将模块化逻辑打包。
使用LangSmith进行跟踪
一旦设置了环境变量,所有的模型和链调用都会自动记录到LangSmith中。您可以使用LangSmith来调试和注释应用程序跟踪,然后将它们转换为评估应用程序未来迭代的数据集。
使用LangServe进行服务
最后,您可能需要将构建的应用程序提供服务。LangServe可帮助开发者将LCEL链作为REST API部署。您需要创建一个包含链定义、FastAPI应用程序和路由定义的serve.py
文件。然后执行此文件,即可看到链在本地服务器上提供服务。LangServe还提供了一个简单的内置UI,用于配置和调用应用程序,以及查看中间步骤的输出。