🦜️🔗 LangChain
⚡ 构建具有上下文感知推理能力的应用 ⚡
寻找 JS/TS 库?请查看 LangChain.js。
为了帮助您更快地将 LangChain 应用部署到生产环境,请查看 LangSmith。 LangSmith 是一个统一的开发平台,用于构建、测试和监控 LLM 应用程序。 填写此表单以与我们的销售团队联系。
快速安装
使用 pip:
pip install langchain
使用 conda:
conda install langchain -c conda-forge
🤔 什么是 LangChain?
LangChain 是一个用于开发由大型语言模型(LLMs)驱动的应用程序的框架。
对于这些应用程序,LangChain 简化了整个应用程序生命周期:
- 开源库:使用 LangChain 的开源构建块、组件和第三方集成构建您的应用程序。 使用 LangGraph 构建具有一流流式处理和人机交互支持的有状态代理。
- 产品化:使用 LangSmith 检查、监控和评估您的应用程序,以便您可以不断优化并自信部署。
- 部署:使用 LangGraph Cloud 将您的 LangGraph 应用程序转变为生产就绪的 API 和助手。
开源库
langchain-core
:基础抽象和 LangChain 表达语言。langchain-community
:第三方集成。- 一些集成已进一步拆分为只依赖
langchain-core
的合作伙伴包。例如langchain_openai
和langchain_anthropic
。
- 一些集成已进一步拆分为只依赖
langchain
:构成应用程序认知架构的链、代理和检索策略。LangGraph
:一个用于构建强大且有状态的多角色 LLM 应用程序的库,通过将步骤建模为图中的边和节点。与 LangChain 无缝集成,但也可以独立使用。
产品化:
- LangSmith:一个开发平台,让您可以调试、测试、评估和监控在任何 LLM 框架上构建的链,并与 LangChain 无缝集成。
部署:
- LangGraph Cloud:将您的 LangGraph 应用程序转变为生产就绪的 API 和助手。
🧱 您可以用 LangChain 构建什么?
❓ 使用 RAG 进行问答
- 文档
- 端到端示例:Chat LangChain 及其仓库
🧱 提取结构化输出
- 文档
- 端到端示例:SQL Llama2 模板
🤖 聊天机器人
- 文档
- 端到端示例:Web LangChain(网络研究聊天机器人) 及其仓库
还有更多!前往文档的教程部分了解更多。
🚀 LangChain 如何提供帮助?
LangChain 库的主要价值主张是:
- 组件:用于处理语言模型的可组合构建块、工具和集成。组件是模块化且易于使用的,无论您是否使用 LangChain 框架的其他部分
- 现成的链:用于完成更高级任务的内置组件组合
现成的链使入门变得容易。组件使定制现有链和构建新链变得容易。
LangChain 表达语言(LCEL)
LCEL 是 LangChain 许多组件的基础,是一种声明式的链组合方式。LCEL 从一开始就被设计为支持将原型投入生产,无需代码更改,从最简单的"提示 + LLM"链到最复杂的链。
组件
组件分为以下模块:
📃 模型输入输出
这包括提示管理、提示优化、聊天模型和LLMs 的通用接口,以及用于处理模型输出的常用工具。
📚 检索
检索增强生成涉及从各种来源加载数据、准备数据,然后搜索(即检索)数据以用于生成步骤。
🤖 代理
代理允许 LLM 自主完成任务。代理决定采取哪些行动,然后执行该行动,观察结果,并重复这个过程直到任务完成。LangChain 提供了代理的标准接口,以及用于构建自定义代理的 LangGraph。
📖 文档
请查看此处获取完整文档,其中包括:
- 介绍:框架概览和文档结构。
- 教程:如果您想构建特定的东西或更喜欢实践学习,请查看我们的教程。这是开始的最佳地方。
- 操作指南:回答"如何……?"类型的问题。这些指南目标明确且具体;旨在帮助您完成特定任务。
- 概念指南:框架关键部分的概念性解释。
- API 参考:每个类和方法的详细文档。
🌐 生态系统
- 🦜🛠️ LangSmith:跟踪和评估您的语言模型应用程序和智能代理,帮助您从原型转向生产。
- 🦜🕸️ LangGraph:使用 LLMs 创建有状态的多角色应用程序。与 LangChain 无缝集成,但也可以独立使用。
- 🦜🏓 LangServe:将 LangChain 可运行组件和链部署为 REST API。
💁 贡献
作为一个在快速发展领域中的开源项目,我们非常欢迎贡献,无论是新功能、改进基础设施还是更好的文档。
有关如何贡献的详细信息,请参阅此处。