LangChain知识速览
文章目录
- LangChain知识速览
-
- 核心概念
- 核心组件
-
- [Model I/O](#Model I/O)
- Chains(链)
- [Data Connection(数据连接)](#Data Connection(数据连接))
- Memory(记忆)
- Agents(智能体)
- Callbacks(回调)
- 典型应用场景
- 关键代码模式
- 加载→分割→存储→检索→问答

核心概念
是什么
- 大语言模型应用开发框架
- Python/JS双语言支持
- 链式调用设计哲学
核心优势
- 模块化组件
- 标准化接口
- 生态丰富
核心组件
Model I/O
- Models(模型)
- LLMs(文本补全)
- Chat Models(对话模型)
- Embeddings(嵌入模型)
- Prompts(提示词)
- Prompt Template(模板)
- Few-shot Prompting(少样本)
- Example Selectors(示例选择器)
- Output Parsers(输出解析器)
- PydanticOutputParser
- StructuredOutputParser
- JSON/YAML解析
Chains(链)
- LLMChain(基础链)
- SequentialChain(顺序链)
- RouterChain(路由链)
- TransformChain(转换链)
Data Connection(数据连接)
- Document Loaders(文档加载)
- 文本/PDF/网页/数据库
- Text Splitters(文本分割)
- RecursiveCharacterTextSplitter
- TokenTextSplitter
- Vector Stores(向量存储)
- Chroma/Pinecone/Milvus/FAISS
- Retrievers(检索器)
- similarity_search
- MMR检索
Memory(记忆)
- ConversationBufferMemory(缓冲记忆)
- ConversationBufferWindowMemory(窗口记忆)
- ConversationSummaryMemory(摘要记忆)
- VectorStoreRetrieverMemory(向量检索记忆)
Agents(智能体)
- Agent类型
- Zero-shot ReAct
- Structured Chat
- Conversational
- OpenAI Functions
- Tools(工具)
- 搜索引擎
- 计算器
- API调用
- 自定义工具
- AgentExecutor(执行器)
Callbacks(回调)
- 日志记录
- 流式输出
- 监控追踪(LangSmith)
典型应用场景
RAG(检索增强生成)
- 文档加载→分割→嵌入→检索→生成
Chatbot(对话机器人)
- 多轮对话+记忆管理
Agents(自主代理)
- 工具调用+任务规划
结构化数据提取
- 从非结构化文本提取JSON
关键代码模式
基础链
chain = LLMChain(llm=llm, prompt=prompt)
result = chain.run(input)
RAG流程
加载→分割→存储→检索→问答
loader = TextLoader("doc.txt")
docs = loader.load()
splits = splitter.split_documents(docs)
vectorstore = Chroma.from_documents(splits, embeddings)
qa = RetrievalQA.from_chain_type(llm, retriever=vectorstore.as_retriever())
Agent使用
tools = [search, calculator]
agent = initialize_agent(tools, llm, agent="zero-shot-react-description")
agent.run("查询北京天气并计算摄氏度")
生态工具
LangSmith
- 调试追踪
- 性能监控
- 提示词管理
LangServe
- 链部署为API服务
LangGraph
- 构建复杂多智能体工作流