文章目录
一、简介
LangChain 是一个用于开发由大型语言模型 (LLM) 支持的应用程序的开发框架。LangChain 简化了 LLM 应用程序生命周期的每个阶段:
- Open-source libraries:使用 LangChain 的 modular building blocks 和 components 构建您的应用程序,并集成了大量的 third-party providers。
- Productionization:使用 LangSmith 检查、监控和评估您的链,以便您可以不断优化和自信地部署。
- Deployment:使用 LangServe 将任何链转变为 API。
更仔细地,该框架由下面的开源库组成,见下图:
- langchain-core:基础抽象和 LangChain 表达语言。
- langchain-community:第三方集成。
- Partner packages:如 langchain-openai、langchain-anthropic 等,一些集成已进一步拆分为自己的轻量级包,仅依赖于 langchain-core。
- langchain:构成应用程序认知架构的链、代理和检索策略 (Chains, agents, retrieval strategies)。
- langgraph:通过将步骤建模为图中的边和节点,使用 LLM 构建稳健且有状态的多参与者应用程序。
- langserve:将 LangChain 链部署为 REST APIs。
- LangSmith:一个开发人员平台,可让您调试、测试、评估和监控 LLM 应用程序。
二、langchain 能帮助我们干什么
1、LLMs 和 Prompts (提示)
这包括 显示管理、提示优化、所有 LLM 的通用接口、用于使用 LLM 的通用实用程序。
2、Chain (链)
链超越了单个 LLM 调用,并涉及一系列调用 (无论是 LLM 还是不同的实用程序)。
Langchain 为链提供了标准接口,与其他工具进行了大量集成,并为常见应用程序提供了端到端链。
3、Data Arguemented Generation
数据增强生成涉及 特定类型的链,这些链首先与 外部数据源 交互以获取数据以用于 生成步骤 (generation step)。示例包括长文本片段的摘要和特定数据源的问/答。
4、Agents (代理)
代理涉及LLM决定采取哪些行动,采取该行动,查看观察结果,并重复直到完成。LangChain为代理提供了一个标准界面、可供选择的代理选择以及端到端代理的示例。
5、memory (记忆)
记忆是指链/代理调用之间的持久状态。LangChain 提供了一个记忆的标准接口、记忆实现的集合以及使用记忆的链/代理的示例。
6、Evaluation (评估)
[测试版]众所周知,生成模型很难用传统指标进行评估。评估它们的一种新方法是使用语言模型本身进行评估。LangChain提供了一些提示/链来协助这一点。
三、Langchain 架构
、教程
这些是最好的入门方法:
或者在 此处 探索完整的教程列表。
、how-to 指南 (操作指南)
在这里,可以找到 “我该如何……” 这类问题的简短答案。这些操作指南并未深入介绍主题,可以在 教程(第二节) 和 API参考(第五节) 中找到相关材料。但是,这些指南将帮助您快速完成常见任务。
、概念指南
介绍您需要了解的 LangChain 所有关键部分!在这里,您可以找到所有 LangChain概念 的高级解释。
、API 参考
前往参考部分获取 LangChain Python包 中所有 类和方法 的完整文档。
、生态系统
- LangSmith
跟踪和评估您的语言模型应用程序和智能代理,以帮助您从原型转向生产。 - LangGragh
使用 LLM 构建有状态、多参与者的应用程序,这些应用程序建立在 (并计划与其一起使用) LangChain 原语之上。 - LangServer
将 LangChain 可运行对象和链部署为 REST API。