本文是对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 语义相似性 + 时间衰减