Adline125's Blog

NLP Engineer, Google Developers Expert

0%

LangChain开发框架学习路径

本文是对LangChain应用开发框架的总体架构和关键技术的解读。以大纲的形式,辅以图形展示出LangChain开发框架的主要技术学习路径,做为初始接触该技术的学习者的入门指南。

本文的主要内容包括:

  • LangChain 总体架构深度剖析
  • LangChain 核心模块关键技术解读
  • 基于 LangChain 构建智能客服 AI Agent 案例实践

LangChain 总体架构深度剖析


LangChian是将 LLM 模型、向量数据库、交互层 Prompt、外部知识、外部工具整合到一起,进而可以自由构建 LLM 应用的应用开发框架。

为什么需要 LangChain?

  • 提供了RAG过程中的所需模块的支持

  • 帮助开发者快速开发LLM应用

  • Model I/O、 Retrieval、Chains、 Memory、Agents、Callbacks

LangChain 整体组成部分

图片
  • LangSmith

​ l LLMOPS 平台

  • LangServe

​ l 快速将应用部署为 REST API 的服务

  • Templates

​ l Langchain 的应用模版

LangChain 整体架构剖析

图片
  • 模块更加独立

  • 职责更加明确

  • 保证核心部分的稳定性

  • 减少外部依赖

  • 维护更为容易

LangChain 核心模块关键技术解读


LangChain 关键技术之—Retrieval

图片
  • 文档加载器(Document loaders)

​ l csv、html、json、md、PDF文件读取

​ l 转化为document格式

图片
  • 文档转换器(Document transformers)

​ l 将文档数据结构化/分块(Text Splitter)

图片
  • 文档转换器(Document transformers)

​ l 自定义字符

​ l 基于句子

​ l 基于语义

  • 文本嵌入模型(Embed)

​ l 将文档向量化

图片
  • 文本嵌入模型(Embed)

​ l 将文档向量化

图片
  • 向量存储&检索(Vector stores)

  • 图片
    • MultiQueryRetriever

    ​ l 使用 LLM 从不同角度为给定的查询生成多个查询

    • 上下文压缩

    ​ l 将检索结果进行压缩缩率

    • MultiVector Retriever

    l 分块/摘要/文档加假设问题

    • Time-weighted vector store retriever

    ​ l 语义相似性 + 时间衰减