主题
概念卡片:LLM 应用框架
一句话机制:LLM 应用框架是「胶水层」——把模型、Prompt、外部知识、向量库、工具粘成一个可编排的应用。LangChain 用「六组件」把 LLM 应用模块化,Spring AI 让 Java 生态接入大模型,Dify 等平台把这一整套「低代码化」。
LangChain 六组件
| 组件 | 职责 | 要点 |
|---|---|---|
| Models | 模型抽象 | 三类:LLMs(文本进出)/ Chat Models(消息进出)/ Embeddings(向量化) |
| Prompts | 提示词管理 | 模板化,可复用 |
| Indexes | 索引/检索 | 连接外部文档(RAG 的地基) |
| Memory | 记忆 | 跨轮对话状态保持 |
| Chains | 链式编排 | 把组件串成流程 |
| Agents | 智能体 | 让 LLM 自主决定调用哪些工具 |
- 消息类型:
SystemMessage(设定角色)/HumanMessage(用户)/AIMessage(模型回复)。 - 缓存:内存 / 数据库(如 SQLiteCache),复用同一问题的结果,省 token + 加速。
LangChain 解决 LLM 的四个原生短板
- 数据滞后(训练数据有截止时间)→ 接外部知识/RAG
- token 上限(不能总结 300 页 PDF)→ 切块 + 检索
- 不能联网 → 接工具/搜索
- 不能连数据源 → 接向量库/数据库
Spring AI(Java 生态接入)
- 定位:Java 侧的 LLM 抽象层,让 Spring 应用统一调用不同模型(OpenAI / DeepSeek / 通义千问)。
- 核心能力:模型调用抽象、流式响应(打字机效果,基于 Reactor)、OpenAI starter 兼容 DeepSeek 等国产模型。
知识库平台对比(RAG 低代码)
| 平台 | 定位 | 特点 |
|---|---|---|
| Dify | 开源 LLMOps 一体化 | 提示词编排 + RAG 引擎 + Agent + 可观测性 |
| MaxKB | 开源知识库问答 | 中文友好,面向知识库问答场景 |
| Pandawiki | 知识库 + 问答机器人 | 建库 → 召回测试 → AI 问答机器人一体 |
不变量(必须成立的约束)
- 框架是「胶水层」不是「能力层」:LangChain 类比 jQuery,解决的是编排效率,模型能力仍由底层 LLM 决定。
- RAG = 切块 + Embedding + 检索 + 注入上下文:解决「长文档/私有知识」的通用套路,三个平台本质都在做这件事,差异在编排体验和中文支持。
- 框架选择看「复杂度 vs 控制力」:低代码(Dify)快但受限于平台,代码框架(LangChain/Spring AI)灵活但学习成本高。
常见误解
- 以为「用 LangChain 就能让模型变强」→ 框架只负责编排,不提升模型本身能力。
- 以为「RAG 就是接个向量库」→ 完整 RAG 含切块策略、Embedding、召回、重排,向量库只是其中一环。
- 以为「Dify/MaxKB/Pandawiki 都一样」→ 侧重点不同:Dify 重 LLMOps 全链路,MaxKB 重知识库问答,Pandawiki 重「建库→测试→机器人」闭环。
关联
- 总览:AI大模型技术栈总览
- 框架选型:[对比分析:AI Agent框架选型](./对比分析:AI Agent框架选型)
- 源:
B40-资源/语雀-Code-Summary/AITech/(LangChain / SpringAI / Dify 知识库 共 3 篇)