本节包含对 LangChain 关键部分的介绍。
架构
LangChain 作为一个框架由多个包组成。
langchain-core
该包包含不同组件的基本抽象以及将它们组合在一起的方法。此处定义了LLM、向量存储、检索器等核心组件的接口。这里没有定义第三方集成。依赖项有目的地保持非常轻量级。
LangChain Core 包含为 LangChain 生态系统的其余部分提供基础的抽象。拥有这些抽象的好处是任何提供商都可以实现所需的接口,然后轻松地在 LangChain 生态系统的其余部分中使用。
快速安装
pip install langchain-core
核心接口:可运行文件
Runnable的概念是 LangChain Core 的核心——它是大多数 LangChain Core 组件实现的接口,为它们提供了
- 一个通用的调用接口(调用、批处理、流等)
- 用于重试、回退、模式和运行时可配置性的内置实用程序
- 使用 LangServe 轻松部署
如需更多信息,请查看可运行文档。实现接口的组件示例包括:LLM、聊天模型、提示、检索器、工具、输出解析器。
我们可以通过两种方式使用 LangChain Core 对象:
- 命令式:即。直接调用它们,例如:
model.invoke(...)
- 声明式,带有LangChain表达式语言(LCEL)
- 或者两者兼而有之!例如:LCEL 序列中的一个步骤可以是自定义函数。
合作包
当整合的长尾在 langchain-community
,我们将流行的集成拆分为它们自己的包(例如:langchain-openai
,langchain-anthropic