开始

LangChain中文网 (opens in a new tab)

LangChain AI课程 (opens in a new tab)

LangChain AI 学习社群 (opens in a new tab)

【10000个AI开发者,在这等你入群】点击领取 (opens in a new tab)

  • 免费领取:OpenAI GPT KEY
  • 免费直播课:2节 知乎 AI 全栈工程师直播课
  • 免费在线课:60 分钟入门 LangChain 课程
  • 免费图书:30 本精选人工智能电子书 PDF
  • 免费报告:500 份人工智能行业报告 PDF
  • 免费视频:大语言模型开发应用视频教程

LangChain 介绍

LangChain 是一个用于开发由语言模型驱动的应用程序的框架。它使得应用程序能够:

  • 具有上下文感知能力:将语言模型连接到上下文来源(提示指令,少量的示例,需要回应的内容等)
  • 具有推理能力:依赖语言模型进行推理(根据提供的上下文如何回答,采取什么行动等)

LangChain 库

LangChain 包的主要价值主张是:

  1. 组件:用于处理语言模型的可组合工具和集成。无论你是否使用 LangChain 框架的其余部分,组件都是模块化的,易于使用
  2. 现成的链:用于完成高级任务的组件的内置组合

现成的链使得开始变得容易。组件使得定制现有链和构建新链变得容易。

LangChain 库本身由几个不同的包组成。

  • langchain-core:基础抽象和 LangChain 表达式语言。
  • langchain-community:第三方集成。
  • langchain:构成应用程序认知架构的链、代理和检索策略。

开始使用

关于 Python最新版本文档,请参见 这里 (opens in a new tab)

关于 LangChain 的纯概念指南请见 这里 (opens in a new tab)

关于 JavaScript 的文档,请参见 这里 (opens in a new tab)

关于 COOKBOOK 的文档,请参见 这里 (opens in a new tab)

入门指南

查看以下指南,了解如何使用 LangChain 创建语言模型应用程序的详细说明。

模块

LangChain 提供了对几个主要模块的支持。

针对每个模块,我们提供一些入门示例、指南、参考文档和概念指南。

这些模块按照逐渐增加的复杂性排列如下:

  • 模型(models) : LangChain 支持的各种模型类型和模型集成。

  • 提示(prompts) : 包括提示管理、提示优化和提示序列化。

  • 内存(memory) : 内存是在链/代理调用之间保持状态的概念。LangChain 提供了一个标准的内存接口、一组内存实现及使用内存的链/代理示例。

  • 索引(indexes) : 与您自己的文本数据结合使用时,语言模型往往更加强大——此模块涵盖了执行此操作的最佳实践。

  • 链(chains) : 链不仅仅是单个 LLM 调用,还包括一系列调用(无论是调用 LLM 还是不同的实用工具)。LangChain 提供了一种标准的链接口、许多与其他工具的集成。LangChain 提供了用于常见应用程序的端到端的链调用。

  • 代理(agents) : 代理涉及 LLM 做出行动决策、执行该行动、查看一个观察结果,并重复该过程直到完成。LangChain 提供了一个标准的代理接口,一系列可供选择的代理,以及端到端代理的示例。

用例

上述模块可以以多种方式使用。LangChain 还提供指导和帮助。以下是 LangChain 支持的一些常见用例。

  • 自治代理(autonomous agents) : 长时间运行的代理会采取多步操作以尝试完成目标。 AutoGPT 和 BabyAGI就是典型代表。

  • 代理模拟(agent simulations) : 将代理置于封闭环境中观察它们如何相互作用,如何对事件作出反应,是观察它们长期记忆能力的有趣方法。

  • 个人助理(personal assistants) : 主要的 LangChain 使用用例。个人助理需要采取行动、记住交互并具有您的有关数据的知识。

  • 问答(question answering) : 第二个重大的 LangChain 使用用例。仅利用这些文档中的信息来构建答案,回答特定文档中的问题。

  • 聊天机器人(chatbots) : 由于语言模型擅长生成文本,因此它们非常适合创建聊天机器人。

  • 查询表格数据(tabular) : 如果您想了解如何使用 LLM 查询存储在表格格式中的数据(csv、SQL、数据框等),请阅读此页面。

  • 代码理解(code) : 如果您想了解如何使用 LLM 查询来自 GitHub 的源代码,请阅读此页面。

  • 与 API 交互(apis) : 使LLM 能够与 API 交互非常强大,以便为它们提供更实时的信息并允许它们采取行动。

  • 提取(extraction) : 从文本中提取结构化信息。

  • 摘要(summarization) : 将较长的文档汇总为更短、更简洁的信息块。一种数据增强生成的类型。

  • 评估(evaluation) : 生成模型是极难用传统度量方法评估的。 一种新的评估方式是使用语言模型本身进行评估。 LangChain 提供一些用于辅助评估的提示/链。

参考文档

LangChain 的所有参考文档,都在这里。LangChain 的所有方法、类、安装方法和集成设置的完整文档。

LangChain 生态系统

其他公司/产品如何与 LangChain 协同工作的指南

资源集合#

额外的资源集合,我们认为可能是有用的,因为您开发您的应用程序!