langserve

把 LangChain 应用一键变成 REST API,快速上线

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 269 🐛 待处理 139 👀 关注 21 ⚠️ 作者已归档(停止维护)
GitHub ↗
GitHub 星标 ★ 2323
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,无在线服务,需自行部署,完全免费。

项目预览

langserve 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队langchain-ai
定价模式🏷️完全免费
价格说明开源项目,无在线服务,需自行部署,完全免费。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议NOASSERTION
主要语言JavaScript
技术栈/模型deployment,fastapi,langchain,langchain-python,llm,llms
GitHub 星标★ 2323
上线时间2023-09-29 00:00:00
代码更新2026-05-05
仓库体积8.1 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数4

项目介绍

LangServe 是 LangChain 官方推出的一个开源工具,用于将 LangChain 构建的 LLM 应用(如链、代理、检索器等)快速部署为 REST API 服务。它解决了 LLM 应用从原型到生产环境部署的最后一公里问题,让开发者无需关心复杂的服务端框架和异步处理细节。核心能力包括:自动生成 API 端点(如 /invoke、/batch、/stream),支持流式输出、异步调用、批处理;提供自动生成的 API 文档和交互式 Playground 界面,方便测试和调试;支持多种 Python 运行时和部署平台(如 AWS、Azure、GCP 等),并集成 LangSmith 进行监控和追踪。通过简单的代码装饰器,即可将现有链包装成可用的服务,极大降低了部署门槛。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2323

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 15 分钟 部署方式:库/依赖 7 步

环境要求

  • Python 环境与 pip(用于安装 langserve)
  • LangChain 构建的可运行对象(chain/agent/retriever 等)
  • 模型服务密钥,例如 OPENAI_API_KEY
  • 项目依赖管理使用 poetry(README 说明)
  • 云部署需对应 CLI:AWS Copilot CLI / Azure CLI / gcloud,以及 Dockerfile

安装与启动步骤

  1. 1安装 LangServe

    同时需要客户端和服务端时安装 all 全部依赖,避免后续缺包。

    pip install "langserve[all]"
  2. 2按需分开安装

    只写客户端代码装 client,只做服务端装 server;二者与 all 互斥选择其一即可。

    pip install "langserve[client]"
    pip install "langserve[server]"
  3. 3配置模型密钥

    LangServe 本身不含模型,链里用到的模型密钥需通过环境变量注入。

    export OPENAI_API_KEY="sk-xxxxxxxx"
  4. 4定义可运行路由

    打开 server.py,用 add_routes 把 LangChain 对象挂到指定 path 上,README 明确要求在此处编辑。

    add_routes(app, RunnableLambda(func), path="/foo")
  5. 5部署到 AWS

    使用 AWS Copilot CLI 指定 Load Balanced Web Service 类型和 Dockerfile 完成部署。

    copilot init --app my-app --name my-service --type 'Load Balanced Web Service' --dockerfile './Dockerfile' --deploy
  6. 6部署到 Azure

    通过 Azure Container Apps 部署,README 指定目标端口为 8001,并把密钥作为环境变量传入。

    az containerapp up --name my-container-app --source . --resource-group my-resource-group --environment my-environment --ingress external --target-port 8001 --env-vars=OPENAI_API_KEY=sk-xxxxxxxx
  7. 7部署到 GCP

    使用 Cloud Run 部署,端口同样为 8001,允许未认证访问并设置环境变量。

    gcloud run deploy my-service --source . --port 8001 --allow-unauthenticated --region us-central1 --set-env-vars=OPENAI_API_KEY=sk-xxxxxxxx

关键配置

配置项必填说明示例
OPENAI_API_KEY是链中调用的模型密钥,通过环境变量注入服务sk-xxxxxxxx
path是add_routes 中挂载 runnable 的 URL 路径/foo

如何确认成功

访问部署后服务的 /docs 页面,能看到自动生成的 Swagger/JSONSchema API 文档与 Playground 即成功。

常见问题

Q:这个项目还维护吗?

A:已自 2024 年 11 月 18 日起废弃,官方建议新项目改用 LangGraph Platform,并只接受社区的 bug 修复,不再接受新功能贡献。

Q:客户端和服务端需要分开安装吗?

A:可以。pip install "langserve[client]" 用于客户端调用代码,pip install "langserve[server]" 用于服务端,二者都要则装 langserve[all]。

Q:JavaScript 项目怎么调用?

A:LangServe 的 JavaScript 客户端在 LangChain.js 中提供,可按其文档接入已部署的服务端。

Q:部署到云平台需要自己写服务吗?

A:不需要额外框架,但 AWS 部署需准备 Dockerfile 并安装 AWS Copilot CLI,Azure 和 GCP 则分别使用 az containerapp 与 gcloud run 命令。

注意事项

  • 项目已废弃(DEPRECATED),新项目建议迁移到 LangGraph Platform,README 提供 MIGRATION.md 迁移指南。
  • README 使用 poetry 管理依赖,改造示例工程时应遵循其 poetry 文档。
  • Azure Container Apps 与 Cloud Run 的示例目标端口均为 8001,需与服务监听端口保持一致。
  • 云平台部署命令中的 app、service、resource-group 等名称需替换为你自己的真实名称。

核心亮点

  • 一行代码将链/代理包装成 REST API,开发效率高
  • 内置流式、批处理和异步支持,适配多种调用场景
  • 自动生成 OpenAPI 文档和 Playground,调试直观

不足之处

  • 仅支持 Python,对 JavaScript/TypeScript 开发者不友好
  • 部署依赖 LangChain 生态,非 LangChain 项目无法使用
  • 文档和社区尚在完善,部分高级用法需自行摸索

适用场景

  • 快速将 LLM 应用封装成后端服务供前端调用
  • 为内部工具或外部客户提供标准化的 LLM API
  • 在云平台上部署可扩展的 LLM 服务,配合监控

替代项目

FastAPI、Gradio、Chainlit

上一篇:nextpy

下一篇:agentUniverse

同类项目推荐

Lynkr 开源

给 Claude Code 装个代理,看清每次请求,调试提速

Streamline your workflow with Lynkr, a CLI tool that acts as an HTTP proxy for effic···

★ 639 2026-08-09
aikit 开源

一套工具跑通大模型推理、微调与多卡扩展

Razer AIKit is an AI development toolkit with fast LLM inferencing, fine-tuning, and···

★ 217 2026-09-16
sponge 开源

拖拽生成 Go 后端代码,快速搭建稳定服务

A powerful and easy-to-use Go development framework that enables you to effortlessly···

★ 2868 2026-08-09
langchain-rust 开源

用 Rust 写 LLM 应用,类型安全、性能好、部署轻

️LangChain for Rust, the easiest way to write LLM-based programs in Rust

★ 1362 2026-09-12
swiftide 开源

用 Rust 快速构建流式 LLM 应用,索引查询一把梭

Fast, streaming indexing, query, and agentic LLM applications in Rust

★ 803 2026-08-09
skills 开源

让 AI 代理真正会写 Expo 和 EAS 命令

A collection of AI agent skills for working with Expo projects and Expo Application ···

★ 4098 2026-10-01
langchain-prefect 开源

让 Langchain 应用拥有生产级工作流编排,自动重试监控不操心

Tools for using Langchain with Prefect

★ 106 2026-08-09
compass 开源

把代码库变成知识图谱,让 AI 更懂你的项目

Native, local-first knowledge graph engine for code and project artifacts—inspired ···

★ 175 2026-08-09
claude-desktop-cn 开源

让 Claude 桌面端说中文,本地代码管理更顺手

中文 Claude Desktop / Claude Code 桌面客户端:中文界面、本地 Code 工作区、GitHub 导入···

★ 270 2026-08-09