什么是 LangChain
LangChain是一个用于开发由大型语言模型(LLMs)支持的应用程序的框架。它旨在简化构建 LLM 应用的流程,提供了一套丰富的组件和工具,使得开发者能够更容易地集成、编排和管理各种 AI 能力。
从生态角度来看,LangChain 不仅支持 Python 生态,也支持 TypeScript/JavaScript 生态,这意味着开发者可以使用熟悉的 JS 技术栈来开发 AI 应用。目前 LangChain 的版本迭代较快,主流版本为 v0.3+,集成了众多的 LLM 提供商和组件,极大地降低了 AI 开发的门槛。
安装与环境配置
LangChain 目前是 v0.3+ 版本,如果使用了旧版本可能会有内容发生变化。以下以 Python 为例进行环境搭建:
如果你使用 pip 作为安装工具,建议按顺序安装核心库及社区扩展:
# 核心库
pip install langchain-core
pip install langchain
pip install langsmith
pip install -U langgraph
pip install "langserve[all]"
pip install -U langchain-cli
# 社区组件(包含文档加载器等)
pip install langchain_community
# 大模型集成
pip install langchain-openai
pip install -qU langchain-anthropic
核心概念与架构
LCEL (LangChain Expression Language)
LCEL 全称 LangChain Expression Language,是一种创建任意自定义链的方法。它提供了一种声明式的接口,允许开发者通过管道操作符 | 轻松组合不同的组件(如 Prompt、Model、Parser),形成可复用的处理链路。
核心组件概览
LangChain 提供了丰富的组件帮助开发者高效构建 LLM 应用,主要组件包括:
| 术语 | 说明 |
|---|---|
| Prompt Template | 提示词模板,用于定义输入给模型的格式和内容。 |
| Example selectors | 示例选择器,用于从一组示例中选择适当的示例以供参考或生成响应。 |
| Chat models | 聊天模型,专门设计用于与用户进行对话和互动的语言模型。 |
| Messages | 消息,指用户与模型之间的交流内容。 |
| LLM | 大语言模型,指大型预训练语言模型,通常用于生成和理解文本。 |
| Output parsers | 输出解释器,用于处理和格式化模型生成的输出,使其更易于使用。 |
| Document loaders | 文档加载器,用于将文档内容加载到系统中以便处理和分析。 |
| Text splitters | 文本分割器,用于将长文本分割成较小的部分,以便更好地处理和分析。 |
| Embedding models | 嵌入模型,将文本转换为向量表示,以便进行相似度计算和检索。 |
| Vector stores | 向量存储,保存向量数据的数据库或系统,以支持高效的检索和查询。 |
| Retrievers | 检索器,负责从存储中获取相关数据或信息的组件。 |
| Indexing | 索引,建立数据结构以支持快速搜索和检索。 |
| Tools | 工具,辅助完成特定任务的软件组件或功能。 |


