langchain - ⚡ 通过可组合性⚡使用 LLM 构建应用程序

Created at: 2022-10-17 10:58:36
Language: Python
License: MIT

🦜️🔗 LangChain(朗链)

⚡ 通过可组合性⚡使用 LLM 构建应用程序

发行说明 词 下载 许可证: MIT 唽 在开发容器中打开 在 GitHub Codespaces 中打开 GitHub 星形图 依赖状态 未解决的问题

正在寻找 JS/TS 库?查看 LangChain.js

为了帮助你更快地将 LangChain 应用程序投入生产,请查看 LangSmithLangSmith 是一个统一的开发人员平台,用于构建、测试和监控 LLM 应用程序。 填写此表格以退出候补名单或与我们的销售团队交谈。

快速安装

带点:

pip install langchain

使用 conda:

conda install langchain -c conda-forge

🤔 什么是LangChain?

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

  • 具有上下文感知能力:将语言模型与上下文源(提示说明、少量镜头示例、基于其响应的内容等)联系起来。
  • 原因:依靠语言模型进行推理(关于如何根据提供的上下文回答,采取什么行动等)

该框架由几个部分组成。

  • LangChain库:Python和JavaScript库。包含无数组件的接口和集成,将这些组件组合成链和代理的基本运行时,以及链和代理的现成实现。
  • LangChain模板:一系列易于部署的参考架构,适用于各种任务。
  • LangServe:用于将 LangChain 链部署为 REST API 的库。
  • LangSmith:一个开发者平台,可让你调试、测试、评估和监控基于任何 LLM 框架构建的链,并与 LangChain 无缝集成。

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

该图概述了LangChain框架的分层组织,显示了跨多个层的互连部分。

🧱 你可以用LangChain构建什么?

❓ 检索增强生成

💬 分析结构化数据

🤖 聊天机器人

还有更多!前往文档的“用例”部分了解更多信息。

🚀 LangChain如何提供帮助?

LangChain库的主要价值道具是:

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

现成的链条使上手变得容易。组件使自定义现有链和构建新链变得容易。

组件分为以下模块

📃 模型 I/O:

这包括提示管理、提示优化、所有 LLM 的通用接口以及用于处理 LLM 的常用实用程序。

📚 检索:

数据增强生成涉及特定类型的链,这些链首先与外部数据源交互,以获取数据以在生成步骤中使用。示例包括对长文本的摘要和对特定数据源的问答。

🤖 代理:

代理涉及 LLM 决定采取哪些行动,采取该行动,查看观察结果,并重复该操作直到完成。LangChain为代理提供了一个标准接口,提供了可供选择的代理,以及端到端代理的示例。

📖 文档

请参阅此处获取完整文档,其中包括:

💁 贡献

作为一个快速发展领域的开源项目,我们非常乐于接受贡献,无论是以新功能、改进的基础设施还是更好的文档的形式。

有关如何贡献的详细信息,请参阅此处

🌟 贡献

LangChain 贡献者