[干货]LangChain入门-LangChain框架的构成与特点

什么是LangChain?

LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 ChatGPT的API 和数据库。

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

这些产品共同简化了整个应用程序生命周期:

  • 开发: 在 LangChain/LangChain.js 中编写您的应用程序。使用模板作为参考开始运行。
  • 可观测: 使用 LangSmith 检查、测试和监控您的链,以便您可以充满信心地不断改进和部署。
  • 部署: 使用 LangServe 将任何链转换为 API。

LangChain的模块

  • 模型(models): LangChain 支持的各种模型类型和模型集成。
  • 提示(prompts): 包括提示管理、提示优化和提示序列化。
  • 内存(memory): 内存是在链/代理调用之间保持状态的概念。LangChain 提供了一个标准的内存接口、一组内存实现及使用内存的链/代理示例。
  • 索引(indexes): 与您自己的文本数据结合使用时,语言模型往往更加强大------此模块涵盖了执行此操作的最佳实践。
  • 链(chains): 链不仅仅是单个 LLM 调用,还包括一系列调用(无论是调用 LLM 还是不同的实用工具)。LangChain 提供了一种标准的链接口、许多与其他工具的集成。LangChain 提供了用于常见应用程序的端到端的链调用。
  • 代理(agents): 代理涉及 LLM 做出行动决策、执行该行动、查看一个观察结果,并重复该过程直到完成。LangChain 提供了一个标准的代理接口,一系列可供选择的代理,以及端到端代理的示例。

LangChain的特点

  • LLM 和提示: LangChain 使管理提示、优化它们以及为所有 LLM 创建通用界面变得容易。此外,它还包括一些用于处理 LLM 的便捷实用程序。
  • 链(Chain): 这些是对 LLM 或其他实用程序的调用序列。LangChain 为链提供标准接口,与各种工具集成,为流行应用提供端到端的链。
  • 数据增强生成: LangChain 使链能够与外部数据源交互以收集生成步骤的数据。例如,它可以帮助总结长文本或使用特定数据源回答问题。
  • Agents: Agents 让 LLM 做出有关行动的决定,采取这些行动,检查结果,并继续前进直到工作完成。LangChain 提供了代理的标准接口,多种代理可供选择,以及端到端的代理示例。
  • 内存: LangChain 有一个标准的内存接口,有助于维护链或代理调用之间的状态。它还提供了一系列内存实现和使用内存的链或代理的示例。
  • 评估: 很难用传统指标评估生成模型。这就是为什么 LangChain 提供提示和链来帮助开发者自己使用 LLM 评估他们的模型。

程序员新手福利

个人目前有w_x的账号, yqpan1991 , 关于最新的AI咨询以及AI框架相关的信息, 欢迎大家关注和交流. 加账号时, 请备注, 来自csdn.

对于python入门, 数据库, 测试等入门有一定的启发,欢迎加入学习

相关推荐
花千树-0107 小时前
LangChain教程 - 表达式语言 (LCEL) -构建智能链
gpt·langchain·prompt·aigc·ai编程·llama·ai-native
敲代码敲到头发茂密2 天前
【大语言模型】LangChain 核心模块介绍(Memorys)
android·语言模型·langchain
ai_lian_shuo3 天前
四、使用langchain搭建RAG:金融问答机器人--构建web应用,问答链,带记忆功能
python·ai·金融·langchain·机器人
爱学习的小道长6 天前
Python langchain ReAct 使用范例
python·ai·langchain
Elastic 中国社区官方博客7 天前
带有 Elasticsearch 和 Langchain 的 Agentic RAG
大数据·人工智能·elasticsearch·搜索引擎·ai·langchain
ai_lian_shuo9 天前
三、基于langchain使用Qwen搭建金融RAG问答机器人--检索增强生成
python·金融·langchain·aigc
ai_lian_shuo9 天前
二、基于langchain使用Qwen搭建金融RAG问答机器人--数据清洗和切片
python·金融·langchain·机器人·aigc
lzl20409 天前
【深度学习总结】使用PDF构建RAG:结合Langchain和通义千问
深度学习·langchain·通义千问·qwen·rag
OldGj_11 天前
「LangChain4j入门 — JavaAI程序」
java·ai·langchain·langchain4j