LangChain 简介
LangChain 是一个用于构建大语音模型(LLM)应用的 Python 框架。
LangChain 提供统一的接口来连接各种AI模型,并且支持构建能够自动调用工具、检索知识、记住上下文的智能Agent
LangChain 是什么
简单来说,LangChain解决了一个核心问题:让大语言模型能够何外部世界交互。
原生的 LLM 智能根据训练数据生成文本。但实际应用中,为什么需要 AI 能够查询数据库、调用API、搜索文档、发送邮件等功能。
LangChain 提供了一套标准化的组件来串联这些功能
LangChain 的组件
- Models(模型)
- 作用:连接大语言模型
- 功能:
- 统一模型接口
- 支持多模型切换
- 调用模型
- 用途:
- 文本生成
- 问答
- Prompts(提示词模板)
- 作用:管理提示词模板
- 功能:
- Prompt 参数化
- 动态变量替换
- 模板复用
- 用途:
- AI对话
- 结构化呼出
- Document Loader(文档加载)
- 作用:读取外部文档数据
- 功能:
- 加载PDF等文件
- 读取网页、数据库
- 统一文档格式
- 用途:
- 知识库
- Rag
- 文档问答
- Text Splitter(文本切分)
- 作用:拆分长文本
- 功能:
- 文本Chunk切分
- 控制Token长度
- 优化向量检索
- 用途:
- Rag
- 向量数据库
- 长文本处理
- Memory(记忆)
- 作用:实现上下文记忆
- 功能:
- 保留聊天历史
- 长期记忆
- 对话状态管理
- 用途:
- 聊天机器人
- AI助手
- Agent
- Retriever(检索器)
- 作用:检索相关内容
- 功能:
- 向量搜索
- 语义检索
- Rag数据召回
- 用途:
- 企业知识库
- AI搜索
- 文档问答
- Tools(工具)
- 作用:调用外部工具何API
- 功能:
- 搜索互联网
- 数据库查询
- 执行代码
- 用途:
- AI Agent
- 自动化任务
- 数据分析
- Output Parser(输出解析器)
- 作用:解析模型输出结果
- 功能:
- 结构化输出
- JSON 解析
- 格式校验
- 用途:
- API返回
- 自动化系统
- 数据处理
- Chains(链)
- 作用:组合多个组件形成工作流
- 功能:
- 多步骤执行
- 流程编排
- 组件串联
- 用途:
- 复杂AI应用
- RAG 工作流
- Agent 系统
从技术角度看,LangChain 是一个模块化的 LLM 应用开发框架,它包含三个层次:
- 核心抽象层
- 说明:定义模型、工具、消息等基础接口
- 包名:langchain-core
- 用户接口层
- 说明:提供 init_chat model、 create_agent 等高阶 API
- 包名:langchain
- 集成层
- 说明::连接OpenAI、Anthropic等三方服务
- 包名:langchain-openai等
LangChain 能做什么
智能聊天机器人
具备多轮对话记忆,能调用外部工具(查天气、发邮件等)的聊天助手
RAG 知识库问答
将私有文档向量化存储,让模型能够给予这些文档回答问题,附带引用来源
Agent 自动化助手
m哦行自主规划任务步骤,按需调用不同的工具,完成复杂的多步操作
数据提取与分析
从非结构化文本中提取结构化信息(如从扫描文件中提取关键字段),或让模型生成数据分析结论
