AI创想
标题:
【AI 大模型】LangChain 框架 ① ( LangChain 简介 | LangChain 模块 | LangChain 文档 )
[打印本页]
作者:
时光匆匆愿你喜
时间:
4 小时前
标题:
【AI 大模型】LangChain 框架 ① ( LangChain 简介 | LangChain 模块 | LangChain 文档 )
作者:CSDN博客
文章目录
一、LangChain 简介
1、LangChain 概念2、LangChain 定位3、LangChain 开发语言与应用场景4、LangChain 核心组件5、LangChain 学习路径
二、LangChain 模块
1、模型输入 / 输出 ( Models )2、提示词模板 ( Prompts )3、索引 ( Indexes )4、链 ( Chains )5、记忆 ( Memory )6、代理 ( Agents )7、 工具 ( Tools )8、 文档加载器 ( Document Loaders )9、评估 ( Evaluation )
三、LangChain 文档
1、LangChain 功能模块文档2、LangChain API 参考文档3、LangChain 适配第三方模型集成包4、LangChain 教程指南
(, 下载次数: 0)
上传
点击文件名下载附件
一、LangChain 简介
1、LangChain 概念
LangChain
是一款专为 构建
基于 大语言模型 ( LLM ) 的 应用程序
而 设计的 开源框架 ;
LangChain 可以理解为
" 大模型应用 开发工具箱 "
, 把 和
大模型交互、处理数据、连接外部工具 的各种能力
封装成
模块化的组件
, 大模型 应用开发者 不用从零开始写所有代码 , 借助 LangChain 开发框架 就能 快速搭建 复杂的 AI 应用 ;
LangChain 提供了
预构建 的 代理架构 和 模型集成
, 可以快速启动 , 并无缝地 将 LLM 融入 智能体 或 大模型应用程序 , 借助 LangChain 可以使用不到 10 行代码 , 就可以连接并使用 OpenAI、Anthropic、Google 等 大语言模型 ;
下图是
LangChain 开发 Agent 智能体
的 架构图 ,
每次 提问 , 都要
将 历史对话数据 + 本地 RAG 知识库 的数据 输出到 提示词模板
中 , 然后再
将 拼接好的 提示词 输入到 LLM 大语言模型
中 , 得到最终的 结果 ,
LangChain 就是
将上述内容 封装起来
, 开发者只需要 提前配置好 大模型 和 RAG 知识库 , 即可使用很少的代码 , 实现上述功能 ;
(, 下载次数: 0)
上传
点击文件名下载附件
2、LangChain 定位
LangChain 框架 的 核心价值 在于
打破单个 LLM 的能力边界
,
原生 LLM ( 大语言模型 ) 只能完成 简单的问答、生成任务
, 而 LangChain 通过
" 模块化 " 和 " 可组合性 "
, 让开发者能够轻松
整合 LLM 与 外部数据、工具、知识库
, 构建出
具备复杂逻辑、上下文感知、多步推理能力的 AI 应用
,
如 : 智能客服、代码生成助手、知识库问答系统、自主智能体等 ;
如果把
大语言模型 ( LLM , Large Language Model )
比作汽车的 发动机 , 那么 LangChain 就是完整的 汽车底盘 + 传动系统 + 控制系统 ,
LangChain 让 " 发动机 " 能适配不同的 " 车身 " ( 应用场景 )
,
实现更复杂的 " 行驶功能 " ( 业务逻辑 ) ;
3、LangChain 开发语言与应用场景
LangChain 支持
Python 和 JavaScript / TypeScript 双语言开发
, 生态丰富 ,
兼容主流 大语言模型 LLM ( OpenAI、Anthropic、Google Gemini、开源的 Llama/GLM 等 )
, 是当前 LLM 应用开发的主流框架之一 ;
LangChain 有如下应用场景 :
知识库问答 ( RAG ) :
企业内部文档问答、产品手册问答、法律条文检索 , 核心是
" Indexes + RetrievalQAChain " ;
智能对话机器人 :
多轮上下文对话、个性化推荐 , 核心是
" Memory + ConversationChain " ;
自主智能体 ( AI Agent ) :
自动写代码、数据分析、科研辅助 ( 如调用 PubMed API 检索论文 + 总结 ) , 核心是
" Agents + Tools " ;
文本生成与摘要 :
长文档总结、多文档对比总结、个性化文案生成 , 核心是
" LLMChain + Prompt Templates " ;
代码辅助工具 :
代码解释、bug 修复、自动化测试 , 核心是
" Agents + PythonREPL Tool " ;
4、LangChain 核心组件
LangChain 核心组件 :
LangChain 框架 有 五大核心组件 分别是
LangChain ( 基础框架 ) 、
LangGraph ( 多智能体编排 ) 、
Deep Agents ( 智能体外骨骼 ) 、
LangSmith ( 监控平台 ) ;
LangChain ( 基础框架 ) :
智能体系统 的 " 操作系统内核 " ,
提供 统一模型接口 与 模块化开发基础 ;
模型抽象 :
统一接口 使用适配集成包
连接 OpenAI、Anthropic 等 100 + 模型供应商 , 屏蔽差异 ;
提示词工程 :
模板化管理与优化
, 提升输出质量 ;
工具集成 :
支持 API、数据库、向量存储
等 数百种
外部服务
记忆管理 :
提供多种
记忆策略
, 解决 LLM 无状态性
文档地址 :
https://docs.langchain.com/oss/python/langchain/overview
LangGraph ( 多智能体编排 ) :
运行时 编排引擎
, 实现复杂状态管理与任务流控制 ;
图结构建模 :
用
有向图 表示 智能体系统
, 支持条件分支、循环和状态持久化
多智能体协作 :
让
多个 Agent 智能体 协同完成复杂任务
, 如 : 研究 -> 分析 -> 报告流程 ;
可视化调试 :
直观呈现 执行路径
, 便于 问题定位 ;
文档地址 :
https://docs.langchain.com/oss/python/langgraph/overview
Deep Agents ( 智能体外骨骼 ) :
该组件专注
长周期复杂任务处理 ;
任务规划 :
分解 长任务为 子目标
, 制定执行策略 ;
虚拟文件系统 :
高效管理 大输出 , 减少 token 消耗
子智能体委托 :
动态创建 子 Agent 处理 专项任务
, 提升效率 ;
文档地址 :
https://docs.langchain.com/oss/python/deepagents/overview
LangServe ( 部署服务 ) :
将
智能体
转化为
生产级 REST/gRPC API 的 部署平台
, 支持
流式输出、批处理 和 异步调用
,
兼容 FastAPI 生态
便于扩展 ,
一键部署 ,
自动生成文档 ( Swagger/OpenAPI ) ;
文档地址 :
https://github.com/langchain-ai/langserve
LangSmith ( 监控平台 ) :
统一的
可观测性
与
质量评估中心 ;
全链路追踪 :
可视化 LLM 调用、工具使用 和 状态变化
评估与测试 :
提供
自动 和 人工 评测机制
性能监控 :
分析
响应时间、token 使用 和 错误率 ;
文档参考 :
https://docs.langchain.com/langsmith/home
API 参考 :
https://docs.langchain.com/langsmith/reference
5、LangChain 学习路径
LangChain 学习路径 :
入门阶段 :
先掌握
Models、Prompts、LLMChain
三个核心模块 , 实现简单的
文本生成、问答 ;
进阶阶段 :
学习
Indexes、Memory、RetrievalQAChain
, 搭建基础的
RAG 知识库问答系统 ;
高阶阶段 :
学习
Agents、Tools
, 构建具备
自主决策能力的 AI Agent ;
工程化阶段 :
结合
LangSmith 调试、
LangServe 部署 ,
实现生产级应用 ;
二、LangChain 模块
LangChain 框架
的架构遵循
" 模块化设计 "
, 每个模块
解决特定场景的问题
, 且
模块间可灵活组合 ;
LangChain 框架 的 核心价值是
模块化组合
"
LLM 大语言模型
与
外部资源
" , 解决
原生 LLM 大语言模型
" 无记忆、无工具、无外部数据 "
的问题 ;
在下面 介绍 的 核心模块中 ,
Models 是基础 ,
Chains 是核心组合方式 ,
Agents 是高阶能力 ,
Indexes 是 RAG 的关键 ;
1、模型输入 / 输出 ( Models )
模型输入 / 输出 ( Models ) :
是 LangChain 的核心层 ,
负责与各类 LLM / 嵌入模型 ( Embedding Model ) 交互
, 不包括如下 子模块 :
LLMs :
对接 大语言模型 的 基础接口
,
统一不同厂商 ( OpenAI、Anthropic、百度文心等 ) 的 API 调用方式
; 例如 , 用 ChatOpenAI 调用 GPT-4 , 用 ChatAnthropic 调用 Claude , 开发者 无需修改核心逻辑 ,
只需要修改配置即可切换模型 ;
Chat Models :
针对 对话式 LLM ( 如 GPT-3.5/4 Turbo、Claude Chat ) 的专用接口
, 支持
结构化的对话消息
( 用户消息、助手消息、系统消息 ) ;
Embeddings :
对接 文本嵌入模型 ( 如 OpenAI Embedding、BERT、智谱 AI 嵌入模型 )
, 将 文本 转换为 向量表示 , 是知识库问答、文本检索的基础 ;
参考文档 :
https://docs.langchain.com/oss/python/langchain/models
下面是最 LangChain 最基本的 封装 OpenAI 大模型的代码示例 :
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_core.messages import HumanMessage, SystemMessage
# 1. 初始化对话模型
chat_model = ChatOpenAI(
model="gpt-3.5-turbo",
api_key="你的OpenAI API密钥",
temperature=0.7# 生成随机性 , 0-1之间)# 2. 构造对话消息并调用模型
messages =[
SystemMessage(content="你是一个专业的Python编程助手 , 回答简洁易懂 ; "),
HumanMessage(content="请解释什么是装饰器?")]
response = chat_model.invoke(messages)print(response.content)# 3. 初始化嵌入模型并生成文本向量
embeddings = OpenAIEmbeddings(api_key="你的OpenAI API密钥")
text ="LangChain是LLM应用开发框架"
vector = embeddings.embed_query(text)print(f"向量长度 : {len(vector)}")# OpenAI Embedding输出1536维向量
复制代码
2、提示词模板 ( Prompts )
提示词模板 ( Prompts ) :
提示词是 LLM 应用的核心
,
但 手写 提示词 易出错、难复用
; LangChain 的 Prompts 模块提供 如下 功能 :
Prompt Templates :
提示词模板 , 支持
参数化填充
; 例如 ,
定义一个 " 代码解释模板 "
, 只需
替换 " 代码片段 " 参数即可复用 ;
参考文档 :
https://docs.langchain.com/oss/python/langchain/messages
Chat Prompt Templates :
针对 对话模型 的 提示词模板 ,
适配 多轮对话场景 ;
Output Parsers :
将 LLM 的
文本输出 解析为 结构化数据
( 如 JSON、字典、类对象 ) , 解决 " LLM 输出不可控 " 的问题 ;
结构化输出 参考文档 :
https://docs.langchain.com/oss/python/langchain/structured-output
提示工程 Prompt engineering 参考文档 :
https://docs.langchain.com/langsmith/prompt-engineering
3、索引 ( Indexes )
索引 ( Indexes ) :
当 LLM 需要
处理 外部文档 ( 如 PDF、Word、知识库 )
时 , Indexes 模块 负责
将文档转换为 " 可检索 " 的格式
, 核心流程是 :
加载文档 ( Load ) :
通过
DocumentLoaders
加载 PDF、TXT、网页、Excel 等格式的文件 ;
分割文本 ( Split ) :
将 长文档 分割为 短文本块
( 避免超出 LLM 上下文窗口 ) ;
嵌入文本 ( Embed ) :
将 文本块 转换为 向量 ;
存储向量 ( Store ) :
将 文本向量 存入 向量数据库
( 如 Chroma、Pinecone、Milvus ) ;
检索文本 ( Retrieve ) :
根据 用户问题 检索相关 文本块 ;
4、链 ( Chains )
Chains 是 LangChain 的 " 灵魂 “
, 该模块 允许
将多个 组件 ( LLM、Prompt、检索器等 ) 组合成一个 可执行的流程
, 解决
” 单步操作无法完成复杂任务 "
的问题 ;
常见的 Chain 类型 :
LLMChain :
最基础的链 , 将
Prompt Template + LLM
组合 , 实现
" 输入参数 -> 生成提示词 -> 调用 LLM -> 输出结果 " ;
RetrievalQAChain :
检索增强生成 ( RAG ) 的 核心链 ,
组合 " 检索器 + LLM "
, 实现
" 用户提问 -> 检索相关文档 -> 将文档和问题传入 LLM -> 生成基于文档的回答 " ;
SequentialChain :
串行链
, 将
多个 Chain 按顺序执行
, 前一个 Chain 的输出作为后一个的输入 ;
5、记忆 ( Memory )
记忆 ( Memory ) :
原生 LLM 没有 " 记忆 " ,
无法记住 多轮对话 的 上下文
; Memory 模块解决这个问题 , 核心 模块 类型如下 :
ConversationBufferMemory :
简单 缓存 所有对话历史 ;
ConversationSummaryMemory :
对 对话历史 进行总结
, 避免上下文过长 ;
ConversationTokenBufferMemory :
按 Token 数 限制 缓存对话历史
, 适配 LLM 的上下文窗口 ;
参考文档 :
https://docs.langchain.com/oss/python/concepts/memory
6、代理 ( Agents )
代理 ( Agents ) :
Agents 是 LangChain 的高阶能力 ,
让 LLM 大语言模型 能 " 自主决策 "
, 根据用户问题 , 选择调用哪些工具 ( 如 : 计算器、搜索引擎、代码解释器 ) , 完成多步推理任务 ;
Agent :
决策核心 , 负责
判断 " 该调用哪个工具 "
" 是否需要继续调用工具 " ;
Tool :
工具接口 ,
LangChain 内置多种工具 ( Calculator、SerpAPI ( 搜索引擎 ) 、PythonREPL ( 代码执行 ) )
, 也支持自定义工具 ;
Executor :
执行器 , 负责
执行 Agent 的决策 ,
调用 工具并返回结果 ;
参考文档 :
https://docs.langchain.com/oss/python/langchain/agents
7、 工具 ( Tools )
工具 ( Tools ) :
该模块是 Agents 的基础 ,
提供 与 外部系统 交互 的接口
; LangChain 内置工具包括 :
计算类 :
Calculator、PythonREPL ;
检索类 :
SerpAPI ( 谷歌搜索 ) 、DuckDuckGoSearch ;
文件类 :
FileBrowser、CSVLoader ;
API 类 :
RequestsTool ( 调用 HTTP 接口 ) ;
开发者也可通过Tool类自定义工具 , 只需实现
func ( 工具逻辑 )
和
description ( 工具描述 , 供 Agent 判断是否调用 ) ;
参考文档 :
https://docs.langchain.com/oss/python/langchain/agents
8、 文档加载器 ( Document Loaders )
负责
加载外部文档 ,
支持几乎所有主流格式 :
文本类 :
TXT、Markdown、JSON ;
办公类 :
PDF、Word、Excel、PPT ;
网页类 :
URL、HTML、Sitemap ;
数据库类 :
MySQL、PostgreSQL、MongoDB ;
其他 :
Notion、Confluence、GitHub ;
文档加载 参考文档 :
https://docs.langchain.com/oss/python/langchain/knowledge-base#1-documents-and-document-loaders
适配 第三方 文档加载 模型 集成包 参考文档 :
https://docs.langchain.com/oss/javascript/integrations/providers/all_providers#file-loaders
9、评估 ( Evaluation )
LLM 应用的效果难以量化 , Evaluation 模块提供评估工具 , 支持 :
手动评估 :
人工打分 ;
自动评估 :
用 LLM 自身评估回答质量 ;
基准测试 :
对比不同模型 / 链的效果 ;
langsmith 评估 参考文档 :
https://docs.langchain.com/langsmith/evaluation-quickstart#evaluation-quickstart
langsmith 部署 参考文档 :
https://docs.langchain.com/langsmith/deployments
三、LangChain 文档
1、LangChain 功能模块文档
LangChain 功能模块文档 :
https://docs.langchain.com/oss/python/langchain/overview , 该文档是
LangChain 框架
Python 语言的 总览文档 ,
左侧章节标题可以跳转到
安装文档 :
https://docs.langchain.com/oss/python/langchain/install ,
快速开始 :
https://docs.langchain.com/oss/python/langchain/quickstart
等文档 ;
(, 下载次数: 0)
上传
点击文件名下载附件
2、LangChain API 参考文档
LangChain API 参考文档 :
这是 LangChain 开发具体对应的的 Python / JavaScript / TypeScript 语言对应的 API 文档 , 主要介绍
LangChain 和 LangGraph 构建 大模型应用程序
用到的 核心接口 ,
每个部分
涵盖 LangChain 生态系统中的不同方面 ,
使用 顶部 或 左侧 的 导航栏 查看 LangChain 特定模块 的文档 ;
Python 语言 API 文档 :
https://reference.langchain.com/python/langchain/
JavaScript / TypeScript 语言 API 文档 :
https://reference.langchain.com/javascript/index.html
(, 下载次数: 0)
上传
点击文件名下载附件
下面是 LangChain 框架的 Agents 开发文档 :
https://reference.langchain.com/python/langchain/agents/
(, 下载次数: 0)
上传
点击文件名下载附件
3、LangChain 适配第三方模型集成包
LangChain 框架
提供了 丰富的
适配第三方模型的集成包
, 涉及到
大语言模型 ( LLMs ) 、聊天模型、检索器、向量数据库、文档加载器
等多个类型的 AI 模型 ;
集成包 指的是 LangChain Python 生态中
专门对接不同 AI 模型服务商的 程序模块
, 其核心作用是让 开发者
不用自己写复杂的 API 调用、参数适配代码
, 只需几行简单代码就能在 LangChain 框架 中
调用 对应服务商 的 大语言模型 ( LLMs ) 、聊天模型 ( Chat Models )
等能力 ;
LangChain 框架 集成包 文档 :
https://docs.langchain.com/oss/python/integrations/providers/overview
(, 下载次数: 0)
上传
点击文件名下载附件
下面给出一个 集成包示例 ,
langchain-openai 集成包
是 LangChain 官方提供的、专门
对接适配 OpenAI 生态 ( 包括 OpenAI 官方、Azure OpenAI ) 的 集成包 ;
快速调用 OpenAI 的 GPT-3.5/4/4o 等聊天模型、Embedding 嵌入模型 ;
封装了 OpenAI API 的参数
( 如温度、最大令牌数、上下文窗口 ) , 适配 LangChain 的统一接口 ;支持
流式输出、函数调用 ( Function Calling ) 等 OpenAI 核心特性
, 无需手动处理 API 交互细节 ;
langchain-openai 集成包 文档地址 :
https://reference.langchain.com/python/integrations/langchain_openai/
(, 下载次数: 0)
上传
点击文件名下载附件
langchain-google-vertexai 集成包
是 LangChain 官方
适配对接 Google Cloud Vertex AI 平台的集成包
( Vertex AI 是 Google 云的一站式 AI 开发平台 ) ;
文档地址 :
https://reference.langchain.com/python/integrations/langchain_google_vertexai/
langchain-ollama 集成包
是 LangChain 官方
适配对接 Ollama 工具的集成包 ( Ollama 是一款轻量级本地大模型运行工具 , 可一键部署 Llama 3、Phi 3、Mistral 等开源模型 )
,
文档地址 :
https://reference.langchain.com/python/integrations/langchain_ollama/
4、LangChain 教程指南
LangChain 教程指南文档 :
https://docs.langchain.com/oss/python/learn , 在该文档中
提供了 一系列教程、概念概述及补充资源 , 借助 LangChain 和 LangGraph 构建 功能强大 的 大模型应用程序 ;
(, 下载次数: 0)
上传
点击文件名下载附件
原文地址:https://blog.csdn.net/han1202012/article/details/155557604
欢迎光临 AI创想 (https://www.llms-ai.com/)
Powered by Discuz! X3.4