LangServe 完整入门介绍
LangServe 完整入门介绍一、LangServe 是什么LangServe LangChain 官方服务化工具基于 FastAPI一键把 LCEL Runnable / Chain / Agent 暴露成标准 REST API一句话场景 你在 Notebook / Python 脚本写完 RAG、对话 Agent、代码链路本地能跑LangServe 负责把它变成线上接口可供 Streamlit 前端、其他后端、网页调用。技术定位 LangChain / LCEL → 写 AI 业务逻辑LangServe → 把 AI 逻辑对外提供 HTTP 服务LangSmith → 链路观测调试三者组成 LLMOps 基础三件套⚠️ 官方小提示新项目长远推荐LangGraph Platform但LangServe 仍然稳定可用学习、Demo、中小型项目首选。二、核心优势解决手动写 FastAPI 的痛点如果你不用 LangServe手动封装 Chain 接口需要自己处理 流式输出、输入输出校验、序列化、中间步骤返回、接口文档、异常处理…… 非常繁琐。LangServe 开箱自带能力自动生成全套接口invoke单次调用 /stream流式打字效果 /batch批量请求 /stream_log输出链路中间步骤RAG 检索过程可见自动推导输入、输出 Schema参数校验内置交互式 Playground 调试页面RemoteRunnable 客户端远程调用和本地 Chain 写法完全一致原生兼容 LangSmith 追踪请求自动上报 Trace底层基于 FastAPI异步、高性能三、自动生成哪些接口假设你挂载路径/qa自动创建plaintextPOST /qa/invoke # 普通同步调用 POST /qa/stream # 流式SSE输出聊天打字效果 POST /qa/batch # 批量多条输入 POST /qa/stream_log # 流式返回链路每一步中间数据调试RAG神器 GET /qa/playground # 网页调试面板 GET /docs # FastAPI Swagger文档四、最简完整实战代码1. 安装依赖bash运行pip install langserve[all] langchain langchain-openai uvicorn python-dotenv2. 服务端 server.py提供 APIpython运行import os from dotenv import load_dotenv from fastapi import FastAPI from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser from langserve import add_routes load_dotenv() # 1. 构建标准LCEL链路你本地调试好的Chain prompt ChatPromptTemplate.from_messages([ (system, 你是专业技术顾问简洁回答技术问题), (human, {question}) ]) llm ChatOpenAI(modelgpt-3.5-turbo, temperature0.6) chain prompt | llm | StrOutputParser() # 2. 创建FastAPI实例 app FastAPI( titleLLM问答服务, version1.0, descriptionLangServe 演示问答API ) # 核心一行代码挂载链路 add_routes( app, chain, path/qa # 访问根路径 ) if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8000)3. 启动服务bash运行python server.py访问地址文档http://127.0.0.1:8000/docs调试面板http://127.0.0.1:8000/qa/playground4. 客户端两种调用方式方式 ARemoteRunnable推荐和本地 Chain 代码无缝切换python运行from langserve import RemoteRunnable # 远程链写法和本地chain.invoke完全相同 remote_qa RemoteRunnable(http://127.0.0.1:8000/qa) # 普通调用 res remote_qa.invoke({question: 什么是LCEL}) print(res) # 流式输出 for chunk in remote_qa.stream({question: 解释RAG原理}): print(chunk, end)方式 B原生 HTTP POST前端 / 其他语言调用httpPOST http://127.0.0.1:8000/qa/invoke Content-Type: application/json { input: {question: LangServe有什么作用} }五、LangServe vs 手动写 FastAPI关键区别表格维度LangServe手写 FastAPI 封装 Chain开发速度一行add_routes极速需要定义 Pydantic、处理流式、序列化流式、stream_log原生支持大量代码手动实现客户端RemoteRunnable代码无缝迁移需要自己封装 HTTP 请求灵活性标准接口格式适合 AI 链路高度自由适合混合业务 AI适用场景RAG、Agent、纯 LLM 链路服务需要权限校验、复杂业务鉴权、混合数据库接口最佳实践 FastAPI 主项目 LangServe 挂载多条 Chain 通用业务接口自己写AI 链路交给 LangServe。六、和你学习栈串联LLMOps 完整链路Notebook开发、调试 Chain/RAG LangSmith 观测 Trace验证稳定后 → 使用LangServe封装为 API 服务Streamlit/Gradio 前端 → 通过 RemoteRunnable 调用后端服务上线uvicorn/gunicorn 部署搭配监控、限流完整流水线Jupyter调试 → LangServe发布API → 前端调用 → LangSmith线上观测七、常见踩坑点链路必须是标准 RunnableLCEL 管道旧式SequentialChain老链条兼容性差优先使用|管道写法。流式前端必须处理 SSE 协议普通 ajax 无法接收/streamRemoteRunnable 地址不要带上/invoke只写到路径前缀/qa如需身份认证在外层 FastAPI 增加中间件LangServe 本身不自带鉴权多 Chain 共存多次调用add_routes分配不同 path 即可python运行add_routes(app, qa_chain, path/qa) add_routes(app, translate_chain, path/translate)八、拓展方向进阶挂载 LangGraph Agent 为 API支持多轮智能体开启stream_log在前端展示 RAG 检索文档、工具调用全过程增加配置传递session_id 实现会话记忆容器 Docker 打包部署到服务器

相关新闻

AI 推理即服务(AIaaS)的架构演进:从单体推理到 FaaS 化推理的工程路径

AI 推理即服务(AIaaS)的架构演进:从单体推理到 FaaS 化推理的工程路径

AI 推理即服务(AIaaS)的架构演进:从单体推理到 FaaS 化推理的工程路径 一、单体推理架构为何不是终点而是起点 很多团队的 AI 推理服务最初是一个单体应用:Flask/FastAPI 包装一个 PyTorch 模型,通过 docker run 启动&…

2026/10/19 14:07:51 阅读更多 →
Serverless 推理的冷启动优化:从模型预加载到容器快照的启动延迟缩减策略

Serverless 推理的冷启动优化:从模型预加载到容器快照的启动延迟缩减策略

Serverless 推理的冷启动优化:从模型预加载到容器快照的启动延迟缩减策略 一、推理服务冷启动的真实代价 当推理请求首次到达时,若目标容器尚未就绪,系统需要执行从调度到模型加载的全流程。在 GPU 推理场景下,这一延迟可高达数十…

2026/10/18 9:52:56 阅读更多 →
关于文献【构造性模型差异分析】

关于文献【构造性模型差异分析】

1、【我的问题】构造性模型差异分析这个方法是什么意思?跟SAE是同一个东西吗?【deepseek】【我的总结】构造性模型差异分析是一个过程,而SAE是这个过程里的第一步要用的工具。不是同一个东西

2026/10/17 10:36:24 阅读更多 →

最新新闻

GNN分子能量预测:用图神经网络加速量子化学计算

GNN分子能量预测:用图神经网络加速量子化学计算

简介:本资源是一套面向计算化学与材料科学初学者及进阶学习者的图神经网络(GNN)实践方案,聚焦分子能量预测这一典型科学机器学习任务。资源提供完整可运行的Python实现,涵盖从分子图构建、消息传递建模到能量标量回归的…

2026/10/20 11:35:32 阅读更多 →
OFDM完整仿真过程与教程:从IFFT到循环前缀的链路拆解

OFDM完整仿真过程与教程:从IFFT到循环前缀的链路拆解

简介:这是一份面向通信工程学习者与MATLAB仿真入门者的OFDM完整仿真教程包,围绕OFDM通信链路从信息流产生到最终解调的全过程展开,涵盖星座图绘制、误码率分析,并涉及信道编码、扩频、导频与信道估计等关键技术的详细解释。基带调…

2026/10/20 11:35:32 阅读更多 →
2026年前端工程师的破局之路:全栈+产品思维=高薪未来?

2026年前端工程师的破局之路:全栈+产品思维=高薪未来?

2026年前端行业面临寒冬,AI工具普及导致编码价值贬值。文章分析指出,单纯的全栈或产品转型路径存在局限,更具竞争力的选择是成为“产品工程师”——以全栈技术为底座,融合产品思维,直接参与用户对话、产品决策和端到端…

2026/10/20 11:35:32 阅读更多 →
OFDM完整仿真过程与教程:从IFFT、循环前缀到星座图诊断

OFDM完整仿真过程与教程:从IFFT、循环前缀到星座图诊断

简介:这是一份面向通信工程学习者与MATLAB仿真入门者的OFDM完整仿真教程包,围绕OFDM通信链路从信息流产生到最终解调的全过程展开,涵盖星座图与误码率图绘制,并涉及信道编码、扩频、导频、信道估计等关键技术的详细解释。基带调制…

2026/10/20 11:35:32 阅读更多 →
DeepSeek API 调用环境搭建与避坑指南:从注册到跑通第一条请求

DeepSeek API 调用环境搭建与避坑指南:从注册到跑通第一条请求

简介:这份文档面向具备一定编程基础的开发者与研究人员,系统讲解DeepSeek API从注册到流式输出的完整调用流程,帮助读者快速将DeepSeek的语言理解与生成能力集成到聊天机器人、客服系统、智能助理等文本交互项目中。资源包内含1个docx文件&am…

2026/10/20 11:35:32 阅读更多 →
TensorFlow原生ResNet-18/50/101/152开箱即用实现

TensorFlow原生ResNet-18/50/101/152开箱即用实现

简介:本资源是一套基于TensorFlow实现的ResNet系列模型(18/50/101/152层)精简可复用代码,面向深度学习初学者与算法工程师,解决模型结构复现难、预训练权重适配不畅等常见开发痛点,适用于图像分类、迁移学习…

2026/10/20 11:34:31 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →