Llm_rag

less than 1 minute read

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、教学与验证
  • 不该滥用:复杂生产系统、需要高度可控逻辑时

Reference