LangChain
2024-10-27 16:41
LangChain是一个由大语言模型 (LLM) 驱动的应用程序开发框架。对于AI类型应用程序,LangChain 简化了整个应用程序生命周期。
使用 pip:
pip install langchain
使用 conda:
conda install langchain -c conda-forge
LangChain是一个由大型语言模型 (LLM) 驱动的应用程序开发框架。
对于这些应用程序,LangChain 简化了整个应用程序生命周期:
开源库:使用 LangChain 的开源构建块、组件和第三方集成构建您的应用程序。使用LangGraph构建具有一流流媒体和人机交互支持的状态代理。
生产化:使用LangSmith检查、监控和评估您的应用程序,以便您可以不断优化和自信地部署。
部署:使用LangGraph Cloud将您的 LangGraph 应用程序转变为可用于生产的 API 和助手。
langchain-core
:基础抽象和LangChain表达语言。langchain-community
:第三方集成。一些集成已进一步拆分为仅依赖于 的合作伙伴包
langchain-core
。示例包括langchain_openai
和langchain_anthropic
。langchain
:构成应用程序认知架构的链、代理和检索策略。LangGraph
:一个使用 LLM 构建强大且有状态的多参与者应用程序的库,通过将步骤建模为图中的边和节点。与 LangChain 无缝集成,但可以在没有 LangChain 的情况下使用。要了解有关 LangGraph 的更多信息,请查看我们的第一门 LangChain Academy 课程LangGraph 简介,可在此处获取。
LangSmith:一个开发者平台,可让您调试、测试、评估和监控建立在任何 LLM 框架上的链,并与 LangChain 无缝集成。
LangGraph Cloud:将您的 LangGraph 应用程序转变为可用于生产的 API 和助手。
❓ 使用 RAG 回答问题
端到端示例:Chat LangChain和repo
🧱 提取结构化输出
端到端示例:SQL Llama2 模板
🤖 聊天机器人
端到端示例:Web LangChain(网络聊天机器人)和repo
还有更多!请前往文档的教程部分了解更多信息。
LangChain 库的主要价值主张是:
组件:用于处理语言模型的可组合构建块、工具和集成。无论您是否使用 LangChain 框架的其余部分,组件都是模块化且易于使用的
现成的链条:用于完成更高级别任务的内置组件组合
现成的链使入门变得简单。组件使定制现有链和构建新链变得简单。
LCEL 是 LangChain 的关键部分,它允许您以直接、声明的方式构建和组织流程链。它旨在支持将原型直接投入生产,而无需更改任何代码。这意味着您可以使用 LCEL 设置一切,从基本的“提示 + LLM”设置到复杂的多步骤工作流程。
组件分为以下模块:
📃 模型 I/O
这包括提示管理,提示优化,聊天模型和LLM的通用接口,以及处理模型输出的通用工具。
📚 检索
检索增强生成涉及从各种来源加载数据、准备数据,然后搜索(即检索)数据以用于生成步骤。
🤖 代理
代理允许 LLM 自主决定如何完成任务。代理决定采取哪些行动,然后采取行动,观察结果,并重复,直到任务完成。LangChain为代理提供了标准接口,以及用于构建自定义代理的LangGraph 。
请参阅此处查看完整文档,其中包括:
简介:文档的框架和结构概述。
教程:如果您想要构建特定的东西或更倾向于动手学习,请查看我们的教程。这是开始的最佳地点。
操作指南:回答“我该如何……?”这类问题。这些指南以目标为导向,内容具体;旨在帮助您完成特定任务。
概念指南:框架关键部分的概念解释。
API 参考:每个类和方法的完整文档。
🦜🛠️ LangSmith:跟踪和评估您的语言模型应用程序和智能代理,帮助您从原型转向生产。
🦜🕸️ LangGraph:使用 LLM 创建有状态、多参与者的应用程序。与 LangChain 顺利集成,但可以在没有 LangChain 的情况下使用。
🦜🏓 LangServe:将 LangChain 可运行对象和链部署为 REST API。