一架梯子,一头程序猿,仰望星空!
LangChain教程(Python版本)

LangChain教程(Python版本)

LangChain是一个用于构建语言AI应用的强大开源框架,LangChain的目标是将语言模型的力量提供给每一个开发者。它极大地简化了基于 Transformer 等语言模型的应用开发,使用LangChain,开发者可以快速构建各种语言交互和理解的应用,比如对话机器人、知识问答、文档理解、文本生成等。LangChain实现了组件化和链式结构,开发者可以像搭乐高一样组装不同的语言AI模块。
  • 1. LangChain 简介

    LangChain是一个开源的Python库,它提供了构建基于大模型的AI应用所需的模块和工具。通过LangChain,开发者可以轻松地与大型语言模型(LLM)集成,完成文本生成、问答、翻译、对话等任务。LangChain降低了AI应用开发的门槛,让任何人都可以基于LLM构建属于自己的创意应用。

  • 2. LangChain 快速入门

    LangChain是一个基于Python的大模型(LLM)开发框架,可以降低AI应用开发成本,提高开发效率。

  • 3. LangChain 安装

    LangChain支持PIP、Conda、源码三种方式安装依赖。

  • 4. LangChain Prompt templates(提示词模板)

    语言模型以文本作为输入 - 这个文本通常被称为提示词(prompt)。在开发过程中,对于提示词通常不能直接硬编码,不利于提示词管理,而是通过提示词模板进行维护,类似开发过程中遇到的短信模板、邮件模板等等。

  • 5. LangChain 提示词追加示例

    提示词中包含交互样本的作用是为了帮助模型更好地理解用户的意图,从而更好地回答问题或执行任务。小样本提示模板是指使用一组少量的示例来指导模型处理新的输入。这些示例可以用来训练模型,以便模型可以更好地理解和回答类似的问题。

  • 6. LangChain Expression Language (LCEL)介绍

    LangChain Expression Language (简称LCEL)是一种声明式的AI工作流编排方式,可以轻松地将多个处理步骤,像链条一样组合在一起,所以LCEL定义的工作流,在LangChain中称为链条(Chain)。

  • 7. LangChain表达式语言入门

    该章节介绍了LCEL(LangChain Expression Language)的基本示例:如何通过LCEL构建一个关于"讲笑话"任务的工作流,包括提示、模型和输出解析器的连接方式。通过代码演示了工作流的创建和每个组件的作用,最终展示了生成笑话的结果。

  • 8. 为什么使用LCEL(LangChain Expression Language)

    本章介绍了LCEL的重要性,展示了如何使用LCEL来构建复杂链条,提供统一的接口和组合原语。通过对比展示了使用和不使用LCEL的代码片段,突出了LCEL简化流、批处理操作的便利性。

  • 9. LangChain LLM基础模型

    大语言模型(LLMs)是LangChain的核心组件,LangChain本身不提供大语言模型能力,LangChain封装了各种常见的大语言模型,提供一套操作大语言模型的标准接口,方便开发者。

  • 10. LangChain 聊天模型

    聊天模型是语言模型的一种变体。虽然聊天模型在底层使用的也是语言模型,但它们所公开的接口有些不同。它们不是通过 "输入文本,输出文本" API 公开接口,而是通过 "聊天消息" 作为输入和输出的接口,聊天模型的整个交互过程类似互相发送聊天消息的过程。

  • 11. LangChain 自定义模型

    目前AI模型领域百家争鸣,LangChain官方也没有对接好所有模型,有时候你需要自定义模型,接入LangChain框架。

  • 12. LangChain 输出解析器

    LLM语言模型输出内容是文本格式,但是开发AI应用的时候,我们希望能拿到的是格式化的内容,例如结果转成目标对象,数组等,方便程序处理。这就需要LangChain提供的输出解析器(Output parser)格式化模型返回的内容。

  • 13. LangChain 本地数据处理能力简介

    LLM训练出来虽然知道很多信息,但是对于企业私有数据,大语言模型还是不知道的,许多LLM应用程序都需要查询企业私有数据,然后把私有数据作为背景信息拼接到提示词里面,丢给大模型,让大模型根据背景信息回答问题。LangChain提供了加载、转换、存储和查询数据的框架组件

  • 14. LangChain 加载文本数据

    使用文档加载器,可以从各类数据源中加载数据,从数据源加载的数据在langchain使用`Document`对象代表一个文档。`Document`对象包含一段文本和相关元数据。

  • 17. LangChain 加载Html数据

    本文介绍LangChain如何将 `HTML` 文档加载到我们可以在下游使用的文档格式中。

  • 21. LangChain 按字符拆分

    LangChain 最简单的文本拆分方法。它基于字符(默认情况下是 "\\n\\n")进行拆分,并通过字符数来测量块的长度。

  • 22. LangChain 拆分代码片段

    本章介绍LangChain的代码文本分割器,如果你需要把代码拆分成代码片段,可以仔细学习本章内容。

  • 23. LangChain markdown内容拆分

    本章介绍的就是LangChain如何根据markdown标题分割文本内容,这里使用的是 `MarkdownHeaderTextSplitter`文本分割器。

  • 25. LangChain 文本嵌入模型(Text embedding models)

    LangChain Embeddings类是一种专门与文本嵌入模型进行接口交互的类。有许多嵌入模型提供者(OpenAI、Cohere、Hugging Face等)-这个类的设计是为所有提供者提供一个标准接口。

  • 26. LangChain 向量存储

    存储和搜索非结构化数据最常见的方案是将数据的特征向量计算出来,然后在查询时通过向量相识度搜索,查询相似的向量。向量数据库就是负责提供向量存储和查询的数据存储引擎。

  • 27. LangChain 检索器(Retriever)

    检索器(retriever)是LangChain封装的一个接口,它可以根据非结构化查询返回相关文档。它比向量存储更通用。检索器不需要能够存储文档,只需要返回(或检索)即可。向量存储可以用作检索器的底层实现,LangChain支持多种retriever接口的底层实现。

  • 28. LangChain Chain介绍(任务)

    仅使用LLM接口处理简单的应用程序还行,但复杂的应用场景需要将LLM组件、提示词模板、向量存储等多个LangChain组件串联(chain)起来一起使用。

  • 29. LangChain 实现基于本地知识库AI问答

    假设您有一些文本文档(PDF、博客、本地私有数据等),想做一个基于本地知识库的AI问答机器人,基于LangChain很容易就实现这个功能。

  • 30. LangChain 文本摘要任务

    不同的大语言模型(LLM)对输入提示词长度限制不一样,如果我们需要对一篇上万字的文章进行摘要总结,但文章长度是又超过了模型的最大长度限制,没办法把整篇文章直接投喂给AI模型,针对这种场景LangChain也提供了一些策略和封装,本章节主要介绍LangChain如何解决文本摘要。

  • 31. LangChain LLM记忆能力(Memory)

    对于存储历史对话信息的能力,在LLM领域通常称为“记忆”(Memory),就像人一样有记忆能力。LangChain封装了多种记忆功能组件,这些记忆组件可以单独使用,也可以无缝地集成到链(Chain)中。

  • 34. LangChain Agent入门教程

    LangChain Agent代理的核心思想是使用LLM作为大脑自动思考,自动决策选择执行不同的动作,最终完成我们的目标任务。

  • 35. LangChain ReAct实现

    大名鼎鼎的AutoGPT项目就是基于ReAct模式实现,就是推理+行动模型,LLM大模型负责推理,控制行动达成目标,对于开发来说行动其实就是开发好的工具或者API,本章介绍LangChain如何实现ReAct模式。

  • 36. LangServe 指南

    本章介绍了LangServe的概述,包括其作用和功能,以及安装方法。还展示了示例应用程序,如部署OpenAI聊天模型和Anthropic聊天模型。此外,介绍了API文档、端点和Playground的详细内容,帮助用户深入了解LangServe的应用和功能。