LangChain 入门指南
LangChain 是一个用于开发由受语言模型驱动的应用程序的框架。它不仅可以通过 API 调用语言模型,还可以将语言模型与其他数据源连接起来,并允许语言模型与其环境进行交互。这篇教程将带你从零开始了解 LangChain 的核心概念。
1. 什么是 LangChain?
传统上,我们直接通过 API(如 OpenAI API)与大模型进行交互,但这往往受限于模型的预训练数据和上下文窗口。LangChain 提供了一套标准化的接口和工具,帮助我们将模型与外部世界连接,实现:
- 数据感知: 让模型连接到其他数据源。
- 代理化: 让模型能够与环境进行交互。
💡 提示
LangChain 支持 Python 和 TypeScript/JavaScript。本教程所有代码示例均基于 Python 版本。
2. 环境安装与配置
首先,我们需要安装 LangChain 和 OpenAI 的 Python 包。在这个例子中,我们将使用 OpenAI 的模型。
pip install langchain openai
安装完成后,需要设置你的 OpenAI API Key 环境变量:
import os
os.environ["OPENAI_API_KEY"] = "your-api-key-here"
3. 核心组件:Models (模型)
LangChain 将语言模型分为两类:
LLMs:输入文本,输出文本的大语言模型。ChatModels:由大语言模型支持的聊天模型,接口是接收一系列对话消息并返回一条对话消息。
下面是一个使用 ChatOpenAI 的简单示例:
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage
# 初始化模型
chat = ChatOpenAI(temperature=0.7)
# 发送消息
response = chat([HumanMessage(content="你好,用一句话介绍一下 LangChain。")])
print(response.content)
4. 核心组件:Prompts (提示词)
管理和优化提示词是 LLM 应用开发中最重要的一环。LangChain 提供了完整的提示词模板(Prompt Templates)管理机制。
from langchain.prompts import PromptTemplate
# 创建模板
prompt_template = PromptTemplate.from_template(
"告诉我一个关于 {topic} 的笑话。"
)
# 格式化模板
prompt = prompt_template.format(topic="程序员")
print(prompt) # 输出:告诉我一个关于 程序员 的笑话。
5. 核心组件:Chains (链)
Chains 是 LangChain 中非常重要的概念。它允许我们将多个组件(如 PromptTemplate 和 Model)串联起来执行。最基本的链是 LLMChain。
from langchain.chains import LLMChain
# 将前面的模型和提示词模板串联成链
chain = LLMChain(llm=chat, prompt=prompt_template)
# 运行链
result = chain.run("人工智能")
print(result)
6. 总结与下一步规划
要点回顾
- LangChain 提供了一个标准化框架来构建 LLM 应用。
- 核心组件包括 Models (与之交互的底层模型)、Prompts (规范化的提示词输入) 和 Chains (将组件串联的管道)。
- 通过简单的几行代码,就可以构建一个基本的 LLM 交互链。
在下一篇教程中,我们将探讨一个更复杂的应用场景:如何构建具有记忆功能的对话系统(Memory Component)以及初步了解 Retrieval Augmented Generation (RAG) 检索增强生成。