Lang*生态系统多个专业框架及他们的作用
LangChain 生态系统已发展出多个专业框架,针对AI应用开发的不同环节提供解决方案。以下是核心框架及其作用详解:
一、核心框架矩阵
框架名称 | 定位 | 核心功能 | 适用场景 |
---|---|---|---|
LangChain Core | 基础编排框架 | 组件化AI链(Chain)设计,集成LLM/工具/数据源 | 快速构建简单AI流程 |
LangGraph | 有状态工作流引擎 | 循环/分支/多Agent协作的复杂流程编排 | 长会话Agent、自动化决策系统 |
LangServe | 部署工具包 | 将LangChain对象转为REST API | 生产环境API服务化 |
LangSmith | 全生命周期监控平台 | 调试+测试+分析+部署监控一体化 | 企业级AI应用运维 |
LangChain.js | 浏览器/Node.js运行时 | 在Web端直接运行AI链 | 浏览器插件、边缘计算场景 |
二、框架深度解析
1. LangChain Core:AI应用的乐高积木
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI# 构建基础链
prompt = ChatPromptTemplate.from_template("解释{term}的技术原理")
model = ChatOpenAI(model="gpt-4-turbo")
chain = prompt | model | output_parser# 执行
chain.invoke({"term": "RAG"}) # 输出RAG技术解析
核心价值:
- 标准化组件:
LLM
、Tools
、Memory
等即插即用 - 链式组合:通过管道符
|
连接组件(如prompt→model→output_parser
)
2. LangGraph:复杂逻辑的中央处理器
graph LRA[用户输入] --> B{是否需要工具?}B -->|是| C[执行工具]B -->|否| D[直接回答]C --> E[生成中间结果]E --> DD --> F[输出]
革命性特性:
- 状态持久化:自动维护跨节点状态(如会话历史)
- 动态路由:基于LLM输出决定下一步流程
- 多Agent协同:实现Agent团队分工协作
# 构建带循环的工作流
graph.add_node("generate", llm_node)
graph.add_conditional_edges("generate",lambda x: "continue" if "【未完】" in x else "end"
)
3. LangServe:一键部署生产API
langchain serve deploy my_chain --name=tech-assistant
部署效果:
# 自动生成API端点
POST /invoke
{"input": {"term": "Transformer架构"}
}
核心功能:
- 自动生成OpenAPI文档
- 内置身份验证(JWT/OAuth)
- 支持批处理接口
4. LangSmith:AI应用的DevOps平台
核心模块:
模块 | 功能 |
---|---|
轨迹追踪 | 可视化每个组件的输入/输出 |
测试评估 | 批量运行+自动评分(准确性/延迟/成本) |
监控告警 | 生产环境异常实时报警 |
数据管理 | 版本化数据集管理 |
5. LangChain.js:边缘智能利器
// 在浏览器中运行RAG
import { ChatOpenAI } from "langchain/chat_models/openai";
import { RetrievalQAChain } from "langchain/chains";const chain = RetrievalQAChain.fromLLM(model, vectorStore);
button.onclick = async () => {const res = await chain.call({