Llm_rag
Published:
系统补齐LLM/RAG的知识结构
主要内容
- LangChain / LlamaIndex 各选 1 套代表用法
- 本地 embedding vs API embedding 的差异
- Function calling / tool calling 的基本范式
LangChain主线总结报告
1. LangChain解决的是什么问题?
LangChain是一个用于快速构建LLM应用的工程框架,主要价值在于标准化常见组件接口(而不是替代系统设计决策)。
2. LangChian在RAG中的位置
LangChain位于RAG Pipeline的orchestration层,负责:
- 串联Retriever, Prompt, and LLM
- 管理输入输出模式
- 提供常见流程的快速实现
它不负责:
- 检索策略设计
- Prompt语义质量
- 系统性能与效果上限
3. Retriever的角色与边界
Retriever是一个独立的信息检索模块,负责从向量库或其他数据源中返回与query相关的文档片段。 在LangChain中,Retriever的输出最终被注入到Prompt模板中,而不是直接参与生成。
4. Prompt + Retrieval的真实拼接方式
Prompt是一个参数化模板,retrieved documents通过字符串拼接或结构化方式填充到context slot中。
RAG的质量依赖于:
- context选择
- 拼接顺序
- token budget控制
5. Chain的适用边界
Chain 适用于稳定、线性的调用流程。
当流程需要动态判断或复杂控制逻辑时,应回退到显式 Python 实现。
6. 什么时候“该用 / 不该用 LangChain”
- 该用:快速 demo、标准 RAG、教学与验证
- 不该滥用:复杂生产系统、需要高度可控逻辑时
