Langchain学习
Langchain概览
什么是Langchain
LangChain是一个框架,用于开发由LLM驱动的应用程序,核心作用是“连接”——连接大语言模型(LLM)与外部数据源(文档、数据库、API)、工具(搜索、计算、自动化工具),并通过“链式调用”将多个组件组合起来,快速构建复杂的AI应用(如智能问答、聊天机器人、RAG知识库等)。
Langchain核心设计理念
LangChain的所有设计,都是围绕“打通最后一公里”展开的,核心要解决3个关键问题:
上下文感知:让LLM能“记住”对话历史、“理解”当前场景,而不是孤立地生成文本(通过Memory组件实现);
外部连接:让LLM能“访问”外部数据和工具,打破“预训练数据有限”的限制(通过Retrievers、Tools组件实现);
流程自动化:让LLM能“自主决策”,根据用户需求,自动调用工具、处理数据、生成最终回答(通过Agent、Chains组件实现)。
其他
┌─────────────────────────────────────────────────────────┐
│ 运营层:LangSmith │
│ → 生产监控、调试追踪、性能分析、A/B测试、成本优化 │
├─────────────────────────────────────────────────────────┤
│ 编排层:LangGraph │
│ → 复杂状态管理、多智能体协作、图结构工作流 │
├─────────────────────────────────────────────────────────┤
│ 开发层:LangChain (核心) │
│ → 组件标准化、链式编排 (LCEL)、快速原型开发 │
└─────────────────────────────────────────────────────────┘
Langchain核心组件
Agent
模型(Models)
统一的LLM调用接口,支持OpenAI、Anthropic、Meta(llama 3)、Google等主流模型,以及本地部署的开源模型;
消息(Message)
消息类型
消息内容
工具(Tools)
工具扩展了代理的功能——使它们能够获取实时数据、执行代码、查询外部数据库并在现实世界中采取行动。
在底层,工具是具有明确定义输入和输出的可调用函数,这些函数会被传递给聊天模型。模型会根据对话上下文决定何时调用工具以及需要提供哪些输入参数。
记忆(Memory)
管理多轮对话上下文,让LLM“记住”之前的交互内容;
检索(Retrievers)
连接向量数据库,实现外部数据的检索,是RAG场景的核心组件。
http缓存、
js
splintchunk
动态import
动画:合并一些dom操作、更高效的dom操作
rerender
css
preLoad、
@import
//
离线包、往返缓存