LangServe:一键部署LangChain应用
·
什么是 LangServe
LangServe 是一个工具,用于快速部署基于 LangChain 构建的应用程序。它简化了将 LangChain 链、代理或可运行对象转换为 REST API 的过程,并内置了 Playground 功能,方便测试和交互。
核心功能
- 快速部署:将 LangChain 对象转换为可扩展的 API 端点。
- 自动生成文档:基于 OpenAPI 和 JSON Schema 自动生成 API 文档。
- 内置 Playground:提供交互式界面,方便测试模型行为。
- 生产就绪:支持批处理、异步处理、监控等生产级需求。
安装方法
通过 pip 安装 LangServe:
pip install "langserve[all]"
基本用法
- 创建 LangChain 应用(如链或代理):
from langchain.chains import LLMChain
from langchain.prompts import ChatPromptTemplate
from langchain_community.llms import OpenAI
prompt = ChatPromptTemplate.from_template("回答关于{topic}的问题")
chain = LLMChain(llm=OpenAI(), prompt=prompt)
- 使用 LangServe 部署:
from fastapi import FastAPI
from langserve import add_routes
app = FastAPI()
add_routes(app, chain, path="/my_chain")
# 如果下一节的启动方式不行就直接运行本文件
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
- 启动服务:
uvicorn main:app --reload
高级配置
- 自定义输入/输出:通过
input_schema和output_schema控制 API 数据结构。 - 批处理支持:启用
batch=True提高高负载场景性能。 - 身份验证:集成 FastAPI 的安全中间件。
部署选项
- 本地开发:使用 Uvicorn 或 Gunicorn 运行。
- 云部署:支持部署到 AWS Lambda、Google Cloud Run 等平台。
- Docker 容器:提供官方 Docker 镜像简化部署。
调试与监控
- 访问
/docs查看自动生成的 API 文档。 - 使用
/playground交互测试端点。 - 集成 Prometheus 指标收集监控数据。
常见问题
- 性能优化:对于高并发场景,建议启用批处理并使用异步处理。
- 版本控制:通过 API 路径前缀(如
/v1/...)管理不同版本。 - 跨域问题:配置 FastAPI CORS 中间件解决跨域访问限制。
更多推荐

所有评论(0)