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 内容审核系统的多模态策略:文本、图片与视频的联合检测

AI 内容审核系统的多模态策略:文本、图片与视频的联合检测

AI 内容审核系统的多模态策略:文本、图片与视频的联合检测 一、用户上传了违规内容,但只检测了文本,图片里有更严重的问题 内容平台上,单一模态的审核很容易被绕过。一段看似正常的文字描述,配上一张违规图片——如果审…

2026/7/22 0:53:37阅读更多 →
海外电商的国际化前端架构:RTL 布局、多币种与本地化性能优化

海外电商的国际化前端架构:RTL 布局、多币种与本地化性能优化

海外电商的国际化前端架构:RTL 布局、多币种与本地化性能优化 海外电商平台的国际化,不是简单的文案翻译,而是一整套涉及布局方向、数据格式、性能策略的前端架构命题。本文复盘某跨境电商平台从单一市场扩展到 8 个语种、14 个地区的技术实践…

2026/7/22 0:53:37阅读更多 →
关于十年后就业的随想

关于十年后就业的随想

在 AI 技术指数级演进的大背景下,未来十年 IT 产业或将迎来大规模就业结构调整,众多中初级程序员会被行业淘汰。全新的研发生产模式将应运而生:依托具备深厚实战项目积淀的高级技术人才,辅以多智能体协同完成全流程开发工作。届时…

2026/7/22 0:51:37阅读更多 →
MySQL从库负载均衡架构设计与LVS+Keepalived实践

MySQL从库负载均衡架构设计与LVS+Keepalived实践

1. 项目概述:MySQL从库负载均衡架构设计在数据库高可用架构中,MySQL主从复制是常见的部署方案。但随着业务增长,单一的从库往往难以承受大量读请求压力。我们采用LVSKeepalived组合方案,实现了MySQL从库的负载均衡与高可用。这套架…

2026/7/22 3:38:19阅读更多 →
手机号注销前必看:数字身份解绑全指南

手机号注销前必看:数字身份解绑全指南

1. 为什么旧手机号不能直接注销?三年前我注销了一个用了5年的手机号,结果第二天就发现微信登录异常,紧接着支付宝、银行卡接连出问题,这才意识到自己犯了个大错。现在每次看到有人准备直接注销旧手机号,我都会赶紧拦住…

2026/7/22 3:38:19阅读更多 →
.NET Core动态Post请求参数处理方案与优化

.NET Core动态Post请求参数处理方案与优化

1. 动态接收Post请求数据的核心挑战在.NET Core开发中,处理动态Post请求参数是个高频需求场景。不同于传统固定参数模式,动态参数处理需要解决三个核心问题:请求内容格式多样性(JSON/x-www-form-urlencoded/form-data)…

2026/7/22 3:38:19阅读更多 →
rapidocr v3.9.2 发布

rapidocr v3.9.2 发布

首发于:https://rapidai.github.io/RapidOCRDocs/latest/changelog/v3.9.2/ 🚀 新功能 新增 use_preprocess_img 和 use_vertical_padding 逻辑(由 SWHL 在 3cc33f8 提交)新增 use_preprocess_img 和 use_apply_vertical_padding…

2026/7/22 3:38:19阅读更多 →
企业级考试系统架构升级:微服务与弹性伸缩实践

企业级考试系统架构升级:微服务与弹性伸缩实践

1. 项目背景与核心挑战最近接手了一个企业级培训业务集团的大考系统架构升级项目,这个系统需要支撑全国范围内数万名员工同时在线考试的场景。原系统在去年高峰期出现了严重的性能瓶颈,导致部分考场出现卡顿甚至服务中断的情况。作为架构师,我…

2026/7/22 3:38:19阅读更多 →
2026年外贸独立站询盘少怎么办?产品页、表单和信任背书优化

2026年外贸独立站询盘少怎么办?产品页、表单和信任背书优化

2026年外贸独立站询盘少怎么办?产品页、表单和信任背书优化外贸独立站有访问却没有询盘,通常不是单一问题。客户可能看不懂产品参数,找不到应用场景,不确定企业是否真实可靠,也可能表单字段太多、联系方式不明显。询盘…

2026/7/22 3:36:18阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 0:53:59阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 0:53:59阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 0:53:59阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →