LangChain 介绍
LangChain 是一个用于开发由语言模型驱动的应用程序的框架。它使得应用程序能够:
- 具有上下文感知能力:将语言模型连接到上下文来源(提示指令,少量的示例,需要回应的内容等)
- 具有推理能力:依赖语言模型进行推理(根据提供的上下文如何回答,采取什么行动等)
这个框架由几个部分组成。
- LangChain 库:Python 和 JavaScript 库。包含了各种组件的接口和集成,一个基本的运行时,用于将这些组件组合成链和代理,以及现成的链和代理的实现。
- LangChain 模板:一系列易于部署的参考架构,用于各种任务。
- LangServe:一个用于将 LangChain 链部署为 REST API 的库。
- LangSmith:一个开发者平台,让你可以调试、测试、评估和监控基于任何 LLM 框架构建的链,并且与 LangChain 无缝集成。
这些产品一起简化了整个应用程序的生命周期:
- 开发:在 LangChain/LangChain.js 中编写你的应用程序。使用模板作为参考,快速开始。
- 生产化:使用 LangSmith 来检查、测试和监控你的链,这样你可以不断改进并有信心地部署。
- 部署:使用 LangServe 将任何链转换为 API。
LangChain 库
LangChain 包的主要价值主张是:
- 组件:用于处理语言模型的可组合工具和集成。无论你是否使用 LangChain 框架的其余部分,组件都是模块化的,易于使用
- 现成的链:用于完成高级任务的组件的内置组合
现成的链使得开始变得容易。组件使得定制现有链和构建新链变得容易。
LangChain 库本身由几个不同的包组成。
langchain-core
:基础抽象和 LangChain 表达式语言。langchain-community
:第三方集成。langchain
:构成应用程序认知架构的链、代理和检索策略。
开始使用
这里 是如何安装 LangChain,设置你的环境,并开始构建的方法。
我们建议你按照我们的 快速入门 指南,通过构建你的第一个 LangChain 应用程序来熟悉框架。
阅读我们的 安全 最佳实践,确保你在安全地使用 LangChain 进行开发。
note
这些文档主要关注 Python LangChain 库。点击这里 查看 JavaScript LangChain 库的文档。
LangChain 表达式语言 (LCEL)
LCEL 是一种声明性的组合链的方式。LCEL 从第一天开始就被设计为支持将原型投入生产,无需更改代码,从最简单的“提示 + LLM”链到最复杂的链。
模块
LangChain 为以下模块提供了标准的、可扩展的接口和集成:
模型 I/O
与语言模型的接口
检索
与特定应用数据的接口
代理
让模型根据高级指令选择使用哪些工具
示例、生态系统和资源
用例
常见的端到端用例的演练和技术,如:
集成
LangChain 是一个丰富的工具生态系统的一部分,这些工具与我们的框架集成,并在其基础上构建。查看我们不断增长的 集成 列表。
指南
使用 LangChain 的最佳实践。
API 参考
前往参考部分,查看 LangChain 和 LangChain Experimental Python 包中所有类和方法的完整文档。
开发者指南
查看开发者指南,获取有关贡献的指南和帮助设置你的开发环境的帮助。