LangServe简介
LangServe是LangChain生态系统中的一个重要工具,它可以帮助开发者将LangChain中的可运行对象(Runnable)和链(Chain)轻松部署为REST API。通过LangServe,你可以快速地将自己构建的LLM应用对外提供服务,而无需关心底层的部署细节。
LangServe的主要特性
LangServe提供了以下几个重要的功能:
- 自动推断和强制执行输入/输出模式,提供丰富的错误信息
- 生成API文档页面,包含JSONSchema和Swagger UI
- 高效的
/invoke
,/batch
和/stream
端点,支持单个服务器上的多个并发请求 /stream_log
端点用于流式传输链/代理的中间步骤- 新增的
/stream_events
端点,简化了流式传输的实现 /playground/
页面用于测试API,支持流式输出和中间步骤展示- 内置(可选)追踪到 LangSmith
- 使用经过实战检验的开源Python库如FastAPI、Pydantic等构建
- 客户端SDK可以像调用本地Runnable一样调用LangServe服务器
快速开始
要使用LangServe,首先需要安装:
pip install "langserve[all]"
然后,你可以使用以下代码快速创建一个LangServe应用:
from fastapi import FastAPI
from langchain.prompts import ChatPromptTemplate
from langchain.chat_models import ChatOpenAI
from langserve import add_routes
app = FastAPI()
model = ChatOpenAI()
prompt = ChatPromptTemplate.from_template("Tell me a joke about {topic}")
chain = prompt | model
add_routes(app, chain, path="/joke")
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="localhost", port=8000)
这样就创建了一个简单的jokes API。你可以通过 http://localhost:8000/joke/invoke
来调用它。
使用Playground
LangServe还提供了一个内置的Playground页面,你可以通过 /joke/playground/
来访问。在这里,你可以直观地测试你的API,查看流式输出和中间步骤。
部署
LangServe支持多种部署方式:
- AWS: 使用AWS Copilot CLI
- Azure: 使用Azure Container Apps
- GCP: 使用Cloud Run
- Railway: 社区贡献的部署方案
结语
LangServe大大简化了LangChain应用的部署过程。无论你是在构建一个简单的API还是复杂的LLM应用,LangServe都能帮助你快速将其部署为生产就绪的服务。通过本文的介绍,相信你已经对LangServe有了初步的了解。接下来,就让我们一起深入探索LangServe的更多高级特性,构建更加强大的AI应用吧!
文章链接:www.dongaigc.com/a/langserve-beginners-guide-deploy-langchain
https://www.dongaigc.com/a/langserve-beginners-guide-deploy-langchain