【10000个AI开发者,在这等你入群】点击领取 (opens in a new tab)
- 免费领取:OpenAI GPT KEY
- 免费直播课:2节 知乎 AI 全栈工程师直播课
- 免费在线课:60 分钟入门 LangChain 课程
- 免费图书:30 本精选人工智能电子书 PDF
- 免费报告:500 份人工智能行业报告 PDF
- 免费视频:大语言模型开发应用视频教程
LangChain 介绍
LangChain 是一个用于开发由语言模型驱动的应用程序的框架。它使得应用程序能够:
- 具有上下文感知能力:将语言模型连接到上下文来源(提示指令,少量的示例,需要回应的内容等)
- 具有推理能力:依赖语言模型进行推理(根据提供的上下文如何回答,采取什么行动等)
LangChain 库
LangChain 包的主要价值主张是:
- 组件:用于处理语言模型的可组合工具和集成。无论你是否使用 LangChain 框架的其余部分,组件都是模块化的,易于使用
- 现成的链:用于完成高级任务的组件的内置组合
现成的链使得开始变得容易。组件使得定制现有链和构建新链变得容易。
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 协同工作的指南
资源集合#
额外的资源集合,我们认为可能是有用的,因为您开发您的应用程序!
- LangChainHub (opens in a new tab) : LangChainHub 是一个分享和探索其他 prompts、chains 和 agents 的平台。
- Gallery (opens in a new tab) : 我们最喜欢的使用 LangChain 的项目合集,有助于找到灵感或了解其他应用程序的实现方式。
- Deployments (opens in a new tab) : 部署 LangChain 应用程序的说明、代码片段和模板存储库的合集。
- Tracing (opens in a new tab) : 使用追踪可视化 LangChain 中链和代理执行的指南。
- Model Laboratory (opens in a new tab) : 使用不同的 prompts、models 和 chains 进行实验是开发最佳应用程序的重要组成部分。Model Laboratory 使这个过程变得非常容易。
- Discord (opens in a new tab) : 加入我们的 Discord,讨论关于 LangChain 的一切!
- YouTube (opens in a new tab) : LangChain 教程和视频的集合。
- Production Support (opens in a new tab) : 随着您将 LangChains 发布到生产环境,我们乐于提供更全面的支持。请填写此表格,我们将设置一个专门的支持 Slack 频道。