当前位置: 首页 > news >正文

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 开箱自带能力:

  1. 自动生成全套接口invoke单次调用 /stream流式打字效果 /batch批量请求 /stream_log输出链路中间步骤(RAG 检索过程可见)
  2. 自动推导输入、输出 Schema,参数校验
  3. 内置交互式 Playground 调试页面
  4. RemoteRunnable 客户端:远程调用和本地 Chain 写法完全一致
  5. 原生兼容 LangSmith 追踪,请求自动上报 Trace
  6. 底层基于 FastAPI,异步、高性能

三、自动生成哪些接口

假设你挂载路径/qa,自动创建:

plaintext

POST /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-dotenv

2. 服务端 server.py(提供 API)

python

运行

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(model="gpt-3.5-turbo", temperature=0.6) chain = prompt | llm | StrOutputParser() # 2. 创建FastAPI实例 app = FastAPI( title="LLM问答服务", version="1.0", description="LangServe 演示问答API" ) # 核心:一行代码挂载链路 add_routes( app, chain, path="/qa" # 访问根路径 ) if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)

3. 启动服务

bash

运行

python server.py

访问地址:

  • 文档:http://127.0.0.1:8000/docs
  • 调试面板:http://127.0.0.1:8000/qa/playground

4. 客户端两种调用方式

方式 A:RemoteRunnable(推荐!和本地 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(前端 / 其他语言调用)

http

POST 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 完整链路)

  1. Notebook:开发、调试 Chain/RAG + LangSmith 观测 Trace
  2. 验证稳定后 → 使用LangServe封装为 API 服务
  3. Streamlit/Gradio 前端 → 通过 RemoteRunnable 调用后端服务
  4. 上线:uvicorn/gunicorn 部署,搭配监控、限流

完整流水线:Jupyter调试 → LangServe发布API → 前端调用 → LangSmith线上观测

七、常见踩坑点

  1. 链路必须是标准 Runnable(LCEL 管道)旧式SequentialChain老链条兼容性差,优先使用|管道写法。
  2. 流式前端必须处理 SSE 协议,普通 ajax 无法接收/stream
  3. RemoteRunnable 地址不要带上/invoke,只写到路径前缀/qa
  4. 如需身份认证:在外层 FastAPI 增加中间件,LangServe 本身不自带鉴权
  5. 多 Chain 共存:多次调用add_routes,分配不同 path 即可

python

运行

add_routes(app, qa_chain, path="/qa") add_routes(app, translate_chain, path="/translate")

八、拓展方向(进阶)

  1. 挂载 LangGraph Agent 为 API(支持多轮智能体)
  2. 开启stream_log在前端展示 RAG 检索文档、工具调用全过程
  3. 增加配置传递(session_id 实现会话记忆)
  4. 容器 Docker 打包部署到服务器
http://www.jsqmd.com/news/1238043/

相关文章:

  • 牟平区柴油发电机出租公司推荐,应急发电机租赁怎么选不踩坑|2026公司推荐 - mobible
  • 權威發佈|亨得利香港**售後地址2026年7月最新版(附熱線) - 亨得利官方
  • 【重磅】欧米茄嘉兴**网点地址与售后服务热线2026年7月最新 - 欧米茄服务中心
  • YOLOv12涨点改进| CVPR 2026 | 独家特征融合改进篇 | 引入SAFusion语义对齐融合模块,助力无人机航拍、遥感影像、小目标检测、语义分割、实例分割、目标跟踪任务,有效涨点
  • 2026年东北区域激光维修工程师品牌公司推荐实用参考 - 品牌优推
  • Go 金融系统的分布式对账和资金安全的工程保障
  • 陕西区域A类防火玻璃隔断厂家如何选实用选型攻略 - 品牌优推
  • Java泛型类实现与内存泄漏隐患
  • Cargo 与容器构建:多阶段构建把镜像从 2GB 压缩到 50MB 的实操
  • 东莞甲醛检测公司怎么选:只做检测不除醛的专业CMA资质实验室——国慷测研CMA甲醛检测及公共卫生检测 - CMA甲醛检测中心
  • 金融风控数据分析:AI 异常交易检测模型的工程落地实录
  • 2026烟台市本地发电机租赁避坑指南:附近发电机出租公司哪家好?5个挑选要点帮你绕开90%的坑 - mobible
  • 关于十年后就业的随想
  • 2026中小制造企业选浙江钣金喷涂一体化实用参考指南 - 奔跑123
  • Go 高频交易模拟:纳秒级定时的实现与精度限制分析
  • 一次 Mapreduce job 作业的 AI 分析
  • 2026年福建区域水性聚氨酯地坪漆公司口碑实用参考指南 - 热点品牌推荐
  • 2026收纳箱品牌哪家好 综合实力**参考汇总 - 奔跑123
  • SaaS 后台的 AI UI 生成:数据表格与表单的智能布局策略
  • 雷达北京2026年7月最新**网点地址与客户服务热线公告,售后信息全面公示 - 亨得利官方服务中心
  • 2026 本地采购人员宁波镀锡工厂选取注意要点 - 奔跑123
  • 2026年天津精品搬家推荐公司电话 本地靠谱服务商查询指南 - 热点品牌推荐
  • 湖州甲醛检测公司怎么选:只做检测不除醛的专业CMA资质实验室——国慷测研CMA甲醛检测及公共卫生检测 - CMA甲醛检测中心
  • AI 数据驱动的增长实验:A/B 测试从设计到决策的全流程
  • [具身智能-610]:Linux EGL Preview(嵌入式相机本地 HDMI 预览,适配你 RDK X5 + TROS/mipi_cam 场景)
  • 2026湖州房屋渗漏水检测公司口碑榜**推荐-正规防水补漏一站式维修:卫生间/厨房/阳台/屋顶/地下室/屋顶/天沟渗漏水精准测漏补漏上门 - 安佳防水
  • 2026年实验室氢气订购厂家哪家正规 实用选购参考指南 - 热点品牌推荐
  • 新店GEO优化快速起量
  • 从零搭建网页RAG检索系统,保姆级向量库落地教程
  • 天津本地红木家具搬运公司电话 查询及靠谱服务指引 - 热点品牌推荐